{"version":3,"sources":["webpack:///node_modules/@angular/animations/__ivy_ngcc__/fesm2015/animations.js","webpack:///node_modules/@angular/animations/__ivy_ngcc__/fesm2015/browser.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/a11y.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/accordion.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/bidi.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/collections.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/drag-drop.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/keycodes.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/layout.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/observers.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/overlay.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/platform.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/portal.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/scrolling.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/stepper.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/table.js","webpack:///node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/text-field.js","webpack:///node_modules/@angular/cdk/fesm2015/cdk.js","webpack:///node_modules/@angular/cdk/fesm2015/coercion.js","webpack:///node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js","webpack:///node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js","webpack:///node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","webpack:///node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/button-toggle.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/button.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/card.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/checkbox.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/core.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/datepicker.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/dialog.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/divider.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/expansion.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/form-field.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/grid-list.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/icon.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/input.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/list.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/menu.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/paginator.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/progress-spinner.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/radio.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/select.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/slide-toggle.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/snack-bar.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/sort.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/stepper.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/table.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/tabs.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/toolbar.js","webpack:///node_modules/@angular/material/__ivy_ngcc__/fesm2015/tooltip.js","webpack:///node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/animations.js","webpack:///node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/platform-browser.js","webpack:///node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js","webpack:///node_modules/ngx-cookie-service/__ivy_ngcc__/fesm2015/ngx-cookie-service.js","webpack:///node_modules/rxjs/_esm2015/index.js","webpack:///node_modules/rxjs/_esm2015/internal/AsyncSubject.js","webpack:///node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","webpack:///node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","webpack:///node_modules/rxjs/_esm2015/internal/Notification.js","webpack:///node_modules/rxjs/_esm2015/internal/Observable.js","webpack:///node_modules/rxjs/_esm2015/internal/Observer.js","webpack:///node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","webpack:///node_modules/rxjs/_esm2015/internal/ReplaySubject.js","webpack:///node_modules/rxjs/_esm2015/internal/Scheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/Subject.js","webpack:///node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","webpack:///node_modules/rxjs/_esm2015/internal/Subscriber.js","webpack:///node_modules/rxjs/_esm2015/internal/Subscription.js","webpack:///node_modules/rxjs/_esm2015/internal/config.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/SubscribeOnObservable.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/bindCallback.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/bindNodeCallback.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/concat.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/defer.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/empty.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/forkJoin.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/from.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/fromArray.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/fromEvent.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/fromEventPattern.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/generate.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/iif.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/interval.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/merge.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/never.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/of.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/onErrorResumeNext.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/pairs.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/partition.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/race.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/range.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/throwError.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/timer.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/using.js","webpack:///node_modules/rxjs/_esm2015/internal/observable/zip.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/audit.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/auditTime.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/buffer.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/bufferCount.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/bufferTime.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/bufferToggle.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/bufferWhen.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/catchError.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/combineAll.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/combineLatest.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/concat.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/concatAll.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/concatMap.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/concatMapTo.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/count.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/debounce.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/debounceTime.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/delay.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/delayWhen.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/dematerialize.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/distinct.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/distinctUntilChanged.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/distinctUntilKeyChanged.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/elementAt.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/endWith.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/every.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/exhaust.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/exhaustMap.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/expand.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/filter.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/finalize.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/find.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/findIndex.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/first.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/groupBy.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/ignoreElements.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/isEmpty.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/last.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/map.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/mapTo.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/materialize.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/max.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/merge.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/mergeMapTo.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/mergeScan.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/min.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/multicast.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/observeOn.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/onErrorResumeNext.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/pairwise.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/partition.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/pluck.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/publish.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/publishBehavior.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/publishLast.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/publishReplay.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/race.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/reduce.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/refCount.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/repeat.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/repeatWhen.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/retry.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/retryWhen.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/sample.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/sampleTime.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/scan.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/sequenceEqual.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/share.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/shareReplay.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/single.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/skip.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/skipLast.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/skipUntil.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/skipWhile.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/startWith.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/subscribeOn.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/switchAll.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/switchMap.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/switchMapTo.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/take.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/takeLast.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/takeUntil.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/takeWhile.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/tap.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/throttle.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/throttleTime.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/timeInterval.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/timeout.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/timeoutWith.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/timestamp.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/toArray.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/window.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/windowCount.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/windowTime.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/windowToggle.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/windowWhen.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/withLatestFrom.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/zip.js","webpack:///node_modules/rxjs/_esm2015/internal/operators/zipAll.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/Action.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameAction.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameScheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/AsapAction.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/AsapScheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/QueueAction.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/QueueScheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/VirtualTimeScheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/animationFrame.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/asap.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/async.js","webpack:///node_modules/rxjs/_esm2015/internal/scheduler/queue.js","webpack:///node_modules/rxjs/_esm2015/internal/symbol/iterator.js","webpack:///node_modules/rxjs/_esm2015/internal/symbol/observable.js","webpack:///node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","webpack:///node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/EmptyError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/Immediate.js","webpack:///node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/TimeoutError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/canReportError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/hostReportError.js","webpack:///node_modules/rxjs/_esm2015/internal/util/identity.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isArray.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isDate.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isFunction.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isIterable.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isNumeric.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isObject.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isObservable.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isPromise.js","webpack:///node_modules/rxjs/_esm2015/internal/util/isScheduler.js","webpack:///node_modules/rxjs/_esm2015/internal/util/noop.js","webpack:///node_modules/rxjs/_esm2015/internal/util/not.js","webpack:///node_modules/rxjs/_esm2015/internal/util/pipe.js","webpack:///node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","webpack:///node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","webpack:///node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","webpack:///node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","webpack:///node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","webpack:///node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","webpack:///node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","webpack:///node_modules/rxjs/_esm2015/operators/index.js","webpack:///node_modules/rxjs/index.js","webpack:///node_modules/rxjs/internal/AsyncSubject.js","webpack:///node_modules/rxjs/internal/BehaviorSubject.js","webpack:///node_modules/rxjs/internal/InnerSubscriber.js","webpack:///node_modules/rxjs/internal/Notification.js","webpack:///node_modules/rxjs/internal/Observable.js","webpack:///node_modules/rxjs/internal/Observer.js","webpack:///node_modules/rxjs/internal/OuterSubscriber.js","webpack:///node_modules/rxjs/internal/ReplaySubject.js","webpack:///node_modules/rxjs/internal/Scheduler.js","webpack:///node_modules/rxjs/internal/Subject.js","webpack:///node_modules/rxjs/internal/SubjectSubscription.js","webpack:///node_modules/rxjs/internal/Subscriber.js","webpack:///node_modules/rxjs/internal/Subscription.js","webpack:///node_modules/rxjs/internal/config.js","webpack:///node_modules/rxjs/internal/observable/ConnectableObservable.js","webpack:///node_modules/rxjs/internal/observable/bindCallback.js","webpack:///node_modules/rxjs/internal/observable/bindNodeCallback.js","webpack:///node_modules/rxjs/internal/observable/combineLatest.js","webpack:///node_modules/rxjs/internal/observable/concat.js","webpack:///node_modules/rxjs/internal/observable/defer.js","webpack:///node_modules/rxjs/internal/observable/empty.js","webpack:///node_modules/rxjs/internal/observable/forkJoin.js","webpack:///node_modules/rxjs/internal/observable/from.js","webpack:///node_modules/rxjs/internal/observable/fromArray.js","webpack:///node_modules/rxjs/internal/observable/fromEvent.js","webpack:///node_modules/rxjs/internal/observable/fromEventPattern.js","webpack:///node_modules/rxjs/internal/observable/generate.js","webpack:///node_modules/rxjs/internal/observable/iif.js","webpack:///node_modules/rxjs/internal/observable/interval.js","webpack:///node_modules/rxjs/internal/observable/merge.js","webpack:///node_modules/rxjs/internal/observable/never.js","webpack:///node_modules/rxjs/internal/observable/of.js","webpack:///node_modules/rxjs/internal/observable/onErrorResumeNext.js","webpack:///node_modules/rxjs/internal/observable/pairs.js","webpack:///node_modules/rxjs/internal/observable/partition.js","webpack:///node_modules/rxjs/internal/observable/race.js","webpack:///node_modules/rxjs/internal/observable/range.js","webpack:///node_modules/rxjs/internal/observable/throwError.js","webpack:///node_modules/rxjs/internal/observable/timer.js","webpack:///node_modules/rxjs/internal/observable/using.js","webpack:///node_modules/rxjs/internal/observable/zip.js","webpack:///node_modules/rxjs/internal/operators/concatAll.js","webpack:///node_modules/rxjs/internal/operators/filter.js","webpack:///node_modules/rxjs/internal/operators/groupBy.js","webpack:///node_modules/rxjs/internal/operators/map.js","webpack:///node_modules/rxjs/internal/operators/mergeAll.js","webpack:///node_modules/rxjs/internal/operators/mergeMap.js","webpack:///node_modules/rxjs/internal/operators/observeOn.js","webpack:///node_modules/rxjs/internal/operators/refCount.js","webpack:///node_modules/rxjs/internal/scheduled/scheduleArray.js","webpack:///node_modules/rxjs/internal/scheduled/scheduleIterable.js","webpack:///node_modules/rxjs/internal/scheduled/scheduleObservable.js","webpack:///node_modules/rxjs/internal/scheduled/schedulePromise.js","webpack:///node_modules/rxjs/internal/scheduled/scheduled.js","webpack:///node_modules/rxjs/internal/scheduler/Action.js","webpack:///node_modules/rxjs/internal/scheduler/AnimationFrameAction.js","webpack:///node_modules/rxjs/internal/scheduler/AnimationFrameScheduler.js","webpack:///node_modules/rxjs/internal/scheduler/AsapAction.js","webpack:///node_modules/rxjs/internal/scheduler/AsapScheduler.js","webpack:///node_modules/rxjs/internal/scheduler/AsyncAction.js","webpack:///node_modules/rxjs/internal/scheduler/AsyncScheduler.js","webpack:///node_modules/rxjs/internal/scheduler/QueueAction.js","webpack:///node_modules/rxjs/internal/scheduler/QueueScheduler.js","webpack:///node_modules/rxjs/internal/scheduler/VirtualTimeScheduler.js","webpack:///node_modules/rxjs/internal/scheduler/animationFrame.js","webpack:///node_modules/rxjs/internal/scheduler/asap.js","webpack:///node_modules/rxjs/internal/scheduler/async.js","webpack:///node_modules/rxjs/internal/scheduler/queue.js","webpack:///node_modules/rxjs/internal/symbol/iterator.js","webpack:///node_modules/rxjs/internal/symbol/observable.js","webpack:///node_modules/rxjs/internal/symbol/rxSubscriber.js","webpack:///node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js","webpack:///node_modules/rxjs/internal/util/EmptyError.js","webpack:///node_modules/rxjs/internal/util/Immediate.js","webpack:///node_modules/rxjs/internal/util/ObjectUnsubscribedError.js","webpack:///node_modules/rxjs/internal/util/TimeoutError.js","webpack:///node_modules/rxjs/internal/util/UnsubscriptionError.js","webpack:///node_modules/rxjs/internal/util/canReportError.js","webpack:///node_modules/rxjs/internal/util/hostReportError.js","webpack:///node_modules/rxjs/internal/util/identity.js","webpack:///node_modules/rxjs/internal/util/isArray.js","webpack:///node_modules/rxjs/internal/util/isArrayLike.js","webpack:///node_modules/rxjs/internal/util/isFunction.js","webpack:///node_modules/rxjs/internal/util/isInteropObservable.js","webpack:///node_modules/rxjs/internal/util/isIterable.js","webpack:///node_modules/rxjs/internal/util/isNumeric.js","webpack:///node_modules/rxjs/internal/util/isObject.js","webpack:///node_modules/rxjs/internal/util/isObservable.js","webpack:///node_modules/rxjs/internal/util/isPromise.js","webpack:///node_modules/rxjs/internal/util/isScheduler.js","webpack:///node_modules/rxjs/internal/util/noop.js","webpack:///node_modules/rxjs/internal/util/not.js","webpack:///node_modules/rxjs/internal/util/pipe.js","webpack:///node_modules/rxjs/internal/util/subscribeTo.js","webpack:///node_modules/rxjs/internal/util/subscribeToArray.js","webpack:///node_modules/rxjs/internal/util/subscribeToIterable.js","webpack:///node_modules/rxjs/internal/util/subscribeToObservable.js","webpack:///node_modules/rxjs/internal/util/subscribeToPromise.js","webpack:///node_modules/rxjs/internal/util/subscribeToResult.js","webpack:///node_modules/rxjs/internal/util/toSubscriber.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/harmony-module.js"],"names":["AnimationBuilder","AnimationFactory","AUTO_STYLE","trigger","name","definitions","type","options","animate","timings","styles","group","steps","sequence","style","tokens","offset","state","keyframes","transition","stateChangeExpr","expr","animation","animateChild","useAnimation","query","selector","stagger","scheduleMicroTask","cb","Promise","resolve","then","NoopAnimationPlayer","duration","delay","_onDoneFns","_onStartFns","_onDestroyFns","_started","_destroyed","_finished","_position","parentPlayer","totalTime","forEach","fn","push","hasStarted","_onStart","triggerMicrotask","_onFinish","finish","position","phaseName","methods","length","AnimationGroupPlayer","_players","players","doneCount","destroyCount","startCount","total","player","onDone","onDestroy","_onDestroy","onStart","reduce","time","Math","max","init","play","pause","restart","destroy","reset","p","timeAtPosition","min","setPosition","longestPlayer","longestSoFar","newPlayerIsLongest","getPosition","beforeDestroy","ɵPRE_STYLE","isBrowser","window","document","isNode","process","toString","call","optimizeGroupPlayer","normalizeKeyframes","driver","normalizer","element","preStyles","postStyles","errors","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","Object","keys","prop","normalizedProp","normalizedValue","normalizePropertyName","normalizeStyleValue","LINE_START","Error","join","listenOnPlayer","eventName","event","callback","copyAnimationEvent","e","disabled","makeAnimationEvent","triggerName","fromState","toState","undefined","data","getOrSetAsInMap","map","key","defaultValue","value","Map","get","set","parseTimelineCommand","command","separatorPos","indexOf","id","substring","action","substr","_contains","elm1","elm2","ɵ0","_matches","ɵ1","_query","multi","ɵ2","_isNode","Element","contains","prototype","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","apply","results","elems","querySelectorAll","i","elm","querySelector","containsVendorPrefix","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","getBodyNode","result","camelProp","charAt","toUpperCase","body","matchesElement","containsElement","invokeQuery","hypenatePropsObject","object","newObj","newProp","replace","NoopAnimationDriver","easing","previousPlayers","scrubberAccessRequested","ɵfac","NoopAnimationDriver_Factory","t","ɵprov","token","factory","ngDevMode","AnimationDriver","NOOP","ONE_SECOND","SUBSTITUTION_EXPR_START","SUBSTITUTION_EXPR_END","ENTER_CLASSNAME","LEAVE_CLASSNAME","ENTER_SELECTOR","LEAVE_SELECTOR","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","match","_convertTimeValueToMS","parseFloat","unit","resolveTiming","allowNegativeValues","hasOwnProperty","parseTimeExpression","exp","regex","delayMatch","easingVal","containsErrors","startIndex","splice","copyObj","obj","destination","normalizeStyles","normalizedStyles","Array","isArray","copyStyles","readPrototype","getStyleAttributeString","writeStyleAttribute","styleAttrValue","item","getPropertyValue","startsWith","dashKey","camelCaseToDashCase","setAttribute","setStyles","formerStyles","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","validateStyleParams","params","extractStyleParams","varName","PARAM_REGEX","RegExp","exec","lastIndex","interpolateParams","original","str","_","localVal","iteratorToArray","iterator","arr","next","done","DASH_CASE_REGEXP","input","m","toLowerCase","allowPreviousPlayerStylesMerge","balancePreviousStylesIntoKeyframes","previousStyles","previousStyleProps","startingKeyframe","missingStyleProps","computeStyle","visitDslNode","visitor","node","context","visitTrigger","visitState","visitTransition","visitSequence","visitGroup","visitAnimate","visitKeyframes","visitStyle","visitReference","visitAnimateChild","visitAnimateRef","visitQuery","visitStagger","getComputedStyle","ANY_STATE","parseTransitionExpr","transitionValue","expressions","split","parseInnerTransitionStr","eventStr","parseAnimationAlias","separator","makeLambdaFromStates","isFullAnyStateExpr","alias","TRUE_BOOLEAN_VALUES","Set","FALSE_BOOLEAN_VALUES","lhs","rhs","LHS_MATCH_BOOLEAN","has","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN","SELF_TOKEN_REGEX","buildAnimationAst","metadata","AnimationAstBuilderVisitor","build","ROOT_SELECTOR","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","states","transitions","def","stateDef","n","styleAst","astParams","containsDynamicStyles","missingSubs","isObject","stylesObj","sub","add","size","missingSubsArr","values","matchers","normalizeAnimationOptions","s","furthestTime","step","innerAst","timingAst","constructTimingAst","currentAnimateTimings","styleMetadata","isEmpty","newStyleData","_styleAst","isEmptyStep","ast","_makeStyleAst","_validateStyleAst","styleTuple","collectedEasing","styleData","styleMap","endTime","startTime","tuple","collectedEntry","updateCollectedStyle","MAX_KEYFRAME_OFFSET","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","consumeOffset","generatedOffset","limit","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","normalizeSelector","includeSelf","optional","originalSelector","hasAmpersand","find","normalizeParams","currentTransition","makeTimingAst","strValue","isDynamic","some","v","dynamic","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","instructions","existingInstructions","clear","ONE_FRAME_IN_MILLISECONDS","ENTER_TOKEN","ENTER_TOKEN_REGEX","LEAVE_TOKEN","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","timelines","filter","timeline","containsAnimation","tl","allowOnlyTimelineStyles","elementInstructions","consume","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","previousNode","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","ctx","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","delayNextStep","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","timingValue","_visitTiming","incrementTime","getCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","currentQueryIndex","parentContext","abs","maxTime","staggerTransformer","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","oldParams","newTime","target","fork","_copyOptions","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","elements","slice","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_localTimelineStyles","create","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","flattenStyles","val","_updateStyle","props","properties","details0","details1","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","oldOffset","timeAtKeyframe","decimalPoints","mult","pow","round","allStyles","allProperties","Animation","errorMessage","_animationAst","destinationStyles","start","dest","AnimationStyleNormalizer","NoopAnimationStyleNormalizer","propertyName","userProvidedProperty","normalizedProperty","WebAnimationsStyleNormalizer","strVal","trim","DIMENSIONAL_PROP_MAP","valAndSuffixMatch","ɵ0$1","makeBooleanMap","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","oneOrMoreTransitionsMatch","stateName","backupStateStyler","stateStyler","backupStyles","buildStyles","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","assign","queriedElementsList","matchFns","AnimationStateStyles","defaultParams","combinedParams","styleObj","buildTrigger","AnimationTrigger","transitionFactories","balanceProperties","fallbackTransition","createFallbackTransition","entry","f","key1","key2","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","bodyNode","_normalizer","_animations","_playersById","autoStylesMap","inst","_buildPlayer","_getPlayer","index","baseEvent","args","register","QUEUED_CLASSNAME","QUEUED_SELECTOR","DISABLED_CLASSNAME","DISABLED_SELECTOR","STAR_CLASSNAME","STAR_SELECTOR","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","setForMove","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","isObj","normalizeTriggerValue","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","hostElement","_engine","_triggers","_queue","_elementListeners","_hostClassName","addClass","phase","isTriggerEventValid","listeners","triggersWithStates","statesByElement","afterFlush","defaultToFallback","_getTrigger","TransitionAnimationPlayer","absorbOptions","objEquals","matchStyles","reportError","playersOnElement","playersByElement","queued","matchTransition","isFallbackTransition","totalQueuedPlayers","removeClass","stateMap","elementPlayers","namespaces","fetchNamespacesByElement","ns","triggerLeaveAnimation","clearElementCache","afterFlushAnimationsDone","destroyAfterComplete","triggerStates","markElementAsRemoved","processLeaveNode","elementStates","visitedTriggers","listener","engine","childElementCount","_signalRemovalForInnerTriggers","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","parent","parentNode","triggers","prepareLeaveAnimationListeners","removalFlag","destroyInnerAnimations","_onRemovalComplete","microtaskId","destroyed","markedForDestroy","sort","a","b","d0","d1","containsData","TransitionAnimationEngine","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","onRemovalComplete","_balanceNamespaceList","collectEnterElement","found","nextNamespace","createNamespace","_fetchNamespace","nsId","isElementNode","insertBefore","details","insertNode","isHostElement","removeNode","hostNS","listen","subTimelines","skipBuildAst","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","markElementAsDisabled","cleanupFns","_flushAnimations","quietFns","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","from","enterNodeMap","buildRootMap","enterNodeMapIds","nodes","root","className","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","drainQueuedTransitions","nodeIsOrphaned","_buildInstruction","append","stringMap","setVal","error","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","allLeaveQueriedNodes","cloakAndComputeStyles","preStylesMap","post","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","overrideTotalTime","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","playersForElement","syncPlayerEvents","queriedPlayerResults","queriedInnerElements","j","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","elementContainsData","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","getRealPlayer","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","flattenGroupPlayers","pp","wrappedPlayer","deleteOrUnsetInMap","_player","_containsRealPlayer","_queuedCallbacks","triggerCallback","_queueEvent","currentValues","cloakElement","oldValue","display","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","NULL_NODE","nodeSet","localRootMap","getRoot","CLASSES_CACHE_KEY","containsClass","classList","classes","remove","finalPlayers","_flattenGroupPlayersRecur","k1","k2","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","cacheKey","registerTrigger","disable","property","eventPhase","flush","concat","whenRenderingDone","packageNonAnimatableStyles","startStyles","endStyles","filterNonAnimatableStyles","SpecialCasedStyles","_element","_startStyles","_endStyles","_state","initialStyles","initialStylesByElement","_initialStyles","WeakMap","isNonAnimatableStyle","ELAPSED_TIME_MAX_DECIMAL_PLACES","ANIMATION_PROP","ANIMATIONEND_EVENT","ONE_SECOND$1","ElementAnimationStyleHandler","_name","_duration","_delay","_easing","_fillMode","_onDoneFn","_startTime","_eventFn","_handleCallback","applyKeyframeAnimation","addRemoveAnimationEvent","Date","now","playPauseAnimation","findIndexForAnimation","setAnimationStyle","timestamp","_ngTestManualTimestamp","elapsedTime","toFixed","animationName","removeKeyframeAnimation","status","anim","getAnimationStyle","countChars","findMatchingTokenIndex","newValue","searchToken","doRemove","removeEventListener","addEventListener","char","count","c","DEFAULT_FILL_MODE","DEFAULT_EASING","CssKeyframesPlayer","_finalStyles","_specialStyles","currentSnapshot","_buildStyler","_styler","_flushStartFns","_flushDoneFns","resume","finished","DirectStylePlayer","_startingStyles","__initialized","_styles","setProperty","removeProperty","KEYFRAMES_NAME_PREFIX","TAB_SPACE","CssKeyframesDriver","_count","_head","keyframeStr","tab","kfElm","createElement","textContent","notifyFaultyScrubber","previousCssKeyframePlayers","flattenKeyframesIntoStyles","buildKeyframeElement","appendChild","specialStyles","removeElement","flatKeyframes","kfs","removeChild","warningIssued","console","warn","WebAnimationsPlayer","_initialized","_preparePlayerBeforeStart","domPlayer","_triggerWebAnimation","_finalKeyframe","_resetDomPlayerState","cancel","WebAnimationsDriver","_isNativeImpl","test","getElementAnimateFn","_cssKeyframesDriver","supported","useKeyframes","fill","playerOptions","previousWebAnimationPlayers","supportsWebAnimations","ID_DELIMITER","addAriaReferencedId","el","attr","ids","getAriaReferenceIds","existingId","removeAriaReferencedId","filteredIds","removeAttribute","getAttribute","MESSAGES_CONTAINER_ID","CDK_DESCRIBEDBY_ID_PREFIX","CDK_DESCRIBEDBY_HOST_ATTRIBUTE","nextId","messageRegistry","messagesContainer","AriaDescriber","_document","message","role","_canBeDescribed","getKey","setMessageId","messageElement","referenceCount","_createMessageElement","_isElementDescribedByMessage","_addMessageReference","_isElementNode","_removeMessageReference","registeredMessage","_deleteMessageElement","childNodes","_deleteMessagesContainer","describedElements","_removeCdkDescribedByReferenceIds","_createMessagesContainer","preExistingContainer","getElementById","visibility","originalReferenceIds","referenceIds","messageId","trimmedMessage","ariaLabel","nodeType","ELEMENT_NODE","AriaDescriber_Factory","providedIn","ctorParameters","decorators","ListKeyManager","_items","_activeItemIndex","_activeItem","_wrap","_letterKeyStream","_typeaheadSubscription","EMPTY","_vertical","_allowedModifierKeys","_homeAndEnd","_skipPredicateFn","_pressedLetters","tabOut","change","changes","subscribe","newItems","itemArray","toArray","newIndex","predicate","shouldWrap","enabled","direction","_horizontal","debounceInterval","getLabel","unsubscribe","pipe","letter","inputString","items","_getItemsArray","setActiveItem","previousActiveItem","updateActiveItem","keyCode","modifiers","isModifierAllowed","every","modifier","setNextItemActive","setPreviousItemActive","setFirstItemActive","setLastItemActive","toLocaleUpperCase","String","fromCharCode","preventDefault","_setActiveItemByIndex","_setActiveItemByDelta","activeItem","delta","_setActiveInWrapMode","_setActiveInDefaultMode","fallbackDelta","ActiveDescendantKeyManager","setInactiveStyles","setActiveStyles","FocusKeyManager","arguments","_origin","origin","focus","IsFocusableConfig","ignoreVisibility","InteractivityChecker","_platform","hasAttribute","hasGeometry","frameElement","getFrameElement","getWindow","getTabIndexValue","isVisible","nodeName","tabIndexValue","WEBKIT","IOS","isPotentiallyTabbableIOS","FIREFOX","tabIndex","config","isPotentiallyFocusable","isDisabled","InteractivityChecker_Factory","_a","offsetWidth","offsetHeight","getClientRects","isNativeFormElement","isHiddenInput","isInputElement","isAnchorWithHref","isAnchorElement","hasValidTabIndex","isNaN","parseInt","inputType","ownerDocument","defaultView","FocusTrap","_checker","_ngZone","deferAnchors","_hasAttached","startAnchorListener","focusLastTabbableElement","endAnchorListener","focusFirstTabbableElement","_enabled","attachAnchors","_startAnchor","_endAnchor","_toggleAnchorTabIndex","startAnchor","endAnchor","runOutsideAngular","_createAnchor","nextSibling","_executeOnStable","focusInitialElement","bound","markers","_getFirstTabbableElement","_getLastTabbableElement","redirectToElement","isFocusable","focusableChild","_getRegionBoundary","isTabbable","children","tabbableChild","anchor","isEnabled","isStable","onStable","FocusTrapFactory","deferCaptureElements","FocusTrapFactory_Factory","CdkTrapFocus","_elementRef","_focusTrapFactory","_previouslyFocusedElement","focusTrap","nativeElement","_autoCapture","autoCapture","_captureFocus","hasAttached","autoCaptureChange","firstChange","_b","activeElement","shadowRoot","focusInitialElementWhenReady","CdkTrapFocus_Factory","ɵdir","selectors","inputs","exportAs","features","propDecorators","ConfigurableFocusTrap","_focusTrapManager","_inertStrategy","defer","deregister","preventFocus","toggleAnchors","allowFocus","closest","Node","curr","hasNativeClosest","polyfillClosest","EventListenerFocusTrapInertStrategy","_listener","_trapFocus","focusTrapRoot","setTimeout","ConfigurableFocusTrapConfig","FOCUS_TRAP_INERT_STRATEGY","FocusTrapManager","_focusTrapStack","ft","stack","_disable","_enable","FocusTrapManager_Factory","ConfigurableFocusTrapFactory","configObject","ConfigurableFocusTrapFactory_Factory","LIVE_ANNOUNCER_ELEMENT_TOKEN","LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY","LIVE_ANNOUNCER_DEFAULT_OPTIONS","LiveAnnouncer","elementToken","_defaultOptions","_liveElement","_createLiveElement","defaultOptions","politeness","clearTimeout","_previousTimeout","elementClass","previousElements","getElementsByClassName","liveEl","LiveAnnouncer_Factory","CdkAriaLive","_liveAnnouncer","_contentObserver","_politeness","_subscription","observe","elementText","_previousAnnouncedText","announce","CdkAriaLive_Factory","isFakeMousedownFromScreenReader","buttons","isFakeTouchstartFromScreenReader","touch","touches","changedTouches","identifier","radiusX","radiusY","TOUCH_BUFFER_MS","FOCUS_MONITOR_DEFAULT_OPTIONS","captureEventListenerOptions","passive","capture","FocusMonitor","_windowFocused","_elementInfo","_monitoredElementCount","_rootNodeFocusListenerCount","_documentKeydownListener","_lastTouchTarget","_setOriginForCurrentEventQueue","_documentMousedownListener","source","_documentTouchstartListener","_touchTimeoutId","getTarget","_windowFocusListener","_windowFocusTimeoutId","_rootNodeFocusAndBlurListener","handler","_onFocus","_onBlur","parentElement","_detectionMode","detectionMode","checkChildren","rootNode","_getDocument","cachedInfo","subject","info","_registerGlobalListeners","elementInfo","complete","_setClasses","_removeGlobalListeners","focusedElement","_getClosestElementsInfo","currentElement","_originChanged","_info","stopMonitoring","doc","shouldSet","_lastFocusOrigin","_wasCausedByTouch","_toggleClass","_originTimeoutId","focusTarget","_getFocusOrigin","relatedTarget","_emitOrigin","run","rootNodeFocusListeners","_getWindow","FocusMonitor_Factory","composedPath","CdkMonitorFocus","_focusMonitor","cdkFocusChange","_monitorSubscription","monitor","emit","CdkMonitorFocus_Factory","outputs","BLACK_ON_WHITE_CSS_CLASS","WHITE_ON_BLACK_CSS_CLASS","HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS","HighContrastModeDetector","testElement","backgroundColor","documentWindow","computedStyle","computedColor","bodyClasses","mode","getHighContrastMode","HighContrastModeDetector_Factory","A11yModule","highContrastModeDetector","_applyBodyHighContrastModeCssClasses","A11yModule_Factory","ɵmod","ɵinj","imports","ngJitMode","declarations","exports","CDK_ACCORDION","CdkAccordion","_stateChanges","_openCloseAllActions","_multi","CdkAccordion_Factory","provide","useExisting","providers","nextId$1","CdkAccordionItem","accordion","_changeDetectorRef","_expansionDispatcher","_openCloseAllSubscription","closed","opened","expandedChange","_expanded","_disabled","_removeUniqueSelectionListener","accordionId","expanded","_subscribeToOpenCloseAllActions","notify","markForCheck","CdkAccordionItem_Factory","useValue","CdkAccordionModule","CdkAccordionModule_Factory","DIR_DOCUMENT","DIR_DOCUMENT_FACTORY","Directionality","bodyDir","dir","htmlDir","documentElement","Directionality_Factory","Dir","_dir","_isInitialized","old","_rawDir","Dir_Factory","hostVars","hostBindings","Dir_HostBindings","rf","host","BidiModule","BidiModule_Factory","DataSource","isDataSource","connect","ArrayDataSource","_data","_DisposeViewRepeaterStrategy","viewContainerRef","itemContextFactory","itemValueResolver","itemViewChanged","forEachOperation","record","adjustedPreviousIndex","currentIndex","view","operation","previousIndex","insertContext","createEmbeddedView","templateRef","move","_RecycleViewRepeaterStrategy","viewCacheSize","_viewCache","viewArgsFactory","_insertView","_detachAndCacheView","_moveView","cachedView","_insertViewFromCache","$implicit","viewArgs","detachedView","detach","_maybeCacheView","pop","insert","SelectionModel","_multiple","initiallySelectedValues","_emitChanges","_selection","_deselectedToEmit","_selectedToEmit","changed","_markSelected","_selected","_verifyValueAssignment","_emitChangeEvent","_unmarkSelected","isSelected","deselect","select","_unmarkAll","selected","added","removed","getMultipleValuesInSingleSelectionError","UniqueSelectionDispatcher","_listeners","registered","UniqueSelectionDispatcher_Factory","_VIEW_REPEATER_STRATEGY","extendStyles","toggleNativeDragInteractions","enable","userSelect","touchAction","webkitUserDrag","webkitTapHighlightColor","msUserSelect","webkitUserSelect","MozUserSelect","toggleVisibility","top","opacity","left","parseCssTimeUnitsToMs","multiplier","getTransformTransitionDurationInMs","transitionedProperties","parseCssPropertyValue","propertyIndex","rawDurations","rawDelays","part","getMutableClientRect","clientRect","getBoundingClientRect","right","bottom","width","height","isInsideClientRect","x","y","adjustClientRect","isPointerNearClientRect","rect","threshold","pointerX","pointerY","xThreshold","yThreshold","ParentPositionTracker","_viewportRuler","positions","scrollPosition","getViewportScrollPosition","scrollTop","scrollLeft","cachedPosition","scrolledParentNode","newTop","newLeft","viewportScrollPosition","topDifference","leftDifference","deepCloneNode","clone","cloneNode","descendantsWithId","transferCanvasData","transferInputData","transferData","descendantElements","cloneElements","cloneUniqueId","getContext","drawImage","passiveEventListenerOptions","activeEventListenerOptions","MOUSE_EVENT_IGNORE_TIME","DragRef","_config","_dragDropRegistry","_passiveTransform","_activeTransform","_moveEvents","_pointerMoveSubscription","_pointerUpSubscription","_scrollSubscription","_resizeSubscription","_boundaryElement","_nativeInteractionsEnabled","_handles","_disabledHandles","_direction","dragStartDelay","beforeStarted","started","released","ended","entered","exited","dropped","moved","_pointerDown","targetHandle","handle","_initializeDragSequence","_rootElement","_pointerMove","pointerPosition","_getPointerPositionOnPage","_hasStartedDragging","distanceX","_pickupPositionOnPage","distanceY","isOverThreshold","dragStartThreshold","isDelayElapsed","_dragStartTime","_getDragStartDelay","container","_dropContainer","_endDragSequence","isDragging","isReceiving","_startDragSequence","_previewRect","_preview","constrainedPointerPosition","_getConstrainedPointerPosition","_hasMoved","_lastKnownPointerPosition","_updatePointerDirectionDelta","_updateActiveDropContainer","activeTransform","_applyRootElementTransform","SVGElement","appliedTransform","observers","distance","_getDragDistance","_pointerDirectionDelta","_pointerUp","withRootElement","withParent","parentDragRef","_parentPositions","registerDragItem","_toggleNativeDragInteractions","_placeholder","getPlaceholderElement","getRootElement","handles","disabledHandles","template","_previewTemplate","_placeholderTemplate","_removeRootElementListeners","_initialTransform","_ownerSVGElement","ownerSVGElement","boundaryElement","_containInsideBoundaryOnResize","_parentDragRef","_anchor","_destroyPreview","_destroyPlaceholder","removeDragItem","_removeSubscriptions","transform","_previewRef","_placeholderRef","stopDragging","_rootElementTapHighlight","_stopScrolling","_animatePreviewToPlaceholder","_cleanupDragArtifacts","_cleanupCachedDimensions","isTouchEvent","_lastTouchEventTime","dropContainer","preview","_createPreviewElement","placeholder","_createPlaceholderElement","createComment","_getShadowRoot","replaceChild","getPreviewInsertionPoint","_initialContainer","_initialIndex","getItemIndex","cache","getScrollableParents","referenceElement","stopPropagation","isTouchSequence","isAuxiliaryMouseButton","button","isSyntheticEvent","draggable","pointerMove","pointerUp","scroll","scrollEvent","_updateOnScroll","_boundaryRect","previewTemplate","_pickupPositionInElement","matchSize","_getPointerPositionInElement","_pointerPositionAtLastDirectionChange","startDragging","isPointerOverContainer","_isOverContainer","previousContainer","drop","rawX","rawY","newContainer","_getSiblingContainerFromPosition","exit","enter","sortingDisabled","_startScrollingIfNecessary","_sortItem","getTransform","previewConfig","previewClass","rootRect","viewRef","viewContainer","detectChanges","getRootNode","matchElementSize","pointerEvents","margin","zIndex","placeholderRect","timeout","placeholderConfig","placeholderTemplate","elementRect","handleElement","referenceRect","point","targetTouches","_getViewportScrollPosition","pageX","pageY","svgMatrix","getScreenCTM","svgPoint","createSVGPoint","matrixTransform","inverse","dropContainerLock","lockAxis","constrainPosition","pickupX","pickupY","boundaryRect","previewRect","minY","maxY","minX","maxX","clamp","pointerPositionOnPage","positionSinceLastChange","changeX","changeY","pointerDirectionChangeThreshold","shouldEnable","currentPosition","pickupPosition","leftOverflow","rightOverflow","topOverflow","bottomOverflow","setFreeDragPosition","mouse","scrollDifference","handleScroll","_cachedShadowRoot","documentRef","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","rootNodes","wrapper","sourceRect","moveItemInArray","array","fromIndex","toIndex","clamp$1","to","transferArrayItem","currentArray","targetArray","targetIndex","copyArrayItem","DROP_PROXIMITY_THRESHOLD","SCROLL_PROXIMITY_THRESHOLD","DropListRef","autoScrollDisabled","autoScrollStep","enterPredicate","sortPredicate","sorted","_isDragging","_itemPositions","_previousSwap","drag","overlaps","_draggables","_siblings","_orientation","_activeSiblings","_viewportScrollSubscription","_verticalScrollDirection","_horizontalScrollDirection","_stopScrollTimers","_startScrollInterval","_scrollNode","scrollStep","incrementVerticalScroll","incrementHorizontalScroll","withScrollableParents","registerDropContainer","removeDropContainer","_draggingStarted","_notifyReceivingSiblings","_getItemIndexFromPointerPosition","activeDraggables","_activeDraggables","newPositionReference","_shouldEnterAsFirstChild","reference","unshift","_cacheItemPositions","_cacheParentPositions","_reset","previousItems","_withDropContainer","draggedItems","_cacheItems","connectedTo","orientation","_scrollableElements","reverse","findIndex","currentItem","pointerDelta","_clientRect","siblings","isHorizontal","siblingAtNewPosition","newPosition","itemOffset","_getItemOffsetPx","siblingOffset","_getSiblingOffsetPx","oldOrder","sibling","isDraggedItem","elementToOffset","scrollNode","verticalScrollDirection","horizontalScrollDirection","getElementScrollDirections","getViewportSize","getVerticalScrollDirection","getHorizontalScrollDirection","_initialScrollSnap","msScrollSnapType","scrollSnapType","_listenToScrollEvents","elementToMeasure","getVisibleElement","_stopReceiving","immediateSibling","end","itemPositions","reversed","lastItemRect","firstItemRect","floor","_canReceive","elementFromPoint","activeSiblings","_sortFromLastPointerPosition","_startReceiving","amount","scrollBy","computedVertical","computedHorizontal","scrollHeight","clientHeight","scrollWidth","clientWidth","activeCapturingEventOptions","DragDropRegistry","_dropInstances","_dragInstances","_activeDragInstances","_globalListeners","_draggingPredicate","_preventDefaultWhileDragging","_persistentTouchmoveListener","_clearGlobalListeners","instance","DragDropRegistry_Factory","DEFAULT_CONFIG","DragDrop","DragDrop_Factory","CDK_DRAG_PARENT","CDK_DROP_LIST_GROUP","CdkDropListGroup","CdkDropListGroup_Factory","CDK_DRAG_CONFIG","assertElementNode","_uniqueIdCounter","CDK_DROP_LIST","CdkDropList","dragDrop","_scrollDispatcher","_group","_unsortedItems","_dropListRef","createDropList","_assignDefaults","_setupInputSyncSubscription","_handleEvents","_dropLists","_syncItemsWithRef","documentPosition","_dragRef","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","dispose","ref","withDirection","correspondingDropList","list","_scrollableParentsResolved","scrollableParents","getAncestorScrollContainers","scrollable","getElementRef","withOrientation","draggingDisabled","listAutoScrollDisabled","listOrientation","withItems","getSortedItems","CdkDropList_Factory","hostAttrs","CdkDropList_HostBindings","CDK_DRAG_HANDLE","CdkDragHandle","parentDrag","_parentDrag","CdkDragHandle_Factory","CDK_DRAG_PLACEHOLDER","CdkDragPlaceholder","CdkDragPlaceholder_Factory","CDK_DRAG_PREVIEW","CdkDragPreview","_matchSize","CdkDragPreview_Factory","DRAG_HOST_CLASS","CdkDrag","_viewContainerRef","_selfHandle","observer","subscription","movedEvent","createDrag","addItem","_syncInputs","getFreeDragPosition","_updateRootElement","childHandleElements","rootElementSelector","withHandles","handleInstance","dragRef","disableHandle","enableHandle","freeDragPosition","rootSelectorChange","positionChange","removeItem","getClosestMatchingAncestor","boundary","withBoundaryElement","_getBoundaryElement","withPlaceholderTemplate","withPreviewTemplate","CdkDrag_Factory","contentQueries","CdkDrag_ContentQueries","dirIndex","_t","first","CdkDrag_HostBindings","descendants","DragDropModule","DragDropModule_Factory","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CONTROL","ALT","PAUSE","CAPS_LOCK","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","PLUS_SIGN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","QUESTION_MARK","AT_SIGN","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","MAC_WK_CMD_LEFT","MAC_WK_CMD_RIGHT","CONTEXT_MENU","NUMPAD_ZERO","NUMPAD_ONE","NUMPAD_TWO","NUMPAD_THREE","NUMPAD_FOUR","NUMPAD_FIVE","NUMPAD_SIX","NUMPAD_SEVEN","NUMPAD_EIGHT","NUMPAD_NINE","NUMPAD_MULTIPLY","NUMPAD_PLUS","NUMPAD_MINUS","NUMPAD_PERIOD","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUM_LOCK","SCROLL_LOCK","FIRST_MEDIA","FF_MINUS","MUTE","VOLUME_DOWN","VOLUME_UP","FF_MUTE","FF_VOLUME_DOWN","LAST_MEDIA","FF_VOLUME_UP","SEMICOLON","EQUALS","COMMA","DASH","PERIOD","SLASH","APOSTROPHE","TILDE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","SINGLE_QUOTE","MAC_META","hasModifierKey","altKey","shiftKey","ctrlKey","metaKey","LayoutModule","LayoutModule_Factory","mediaQueriesForWebkitCompatibility","mediaQueryStyleNode","MediaMatcher","_matchMedia","matchMedia","bind","noopMatchMedia","createEmptyStyleRule","MediaMatcher_Factory","head","sheet","insertRule","media","addListener","removeListener","BreakpointObserver","_mediaMatcher","_zone","_queries","_destroySubject","queries","splitQueries","mediaQuery","_registerQuery","mql","observables","observable","stateObservable","breakpointStates","response","breakpoints","queryObservable","output","BreakpointObserver_Factory","a1","a2","Breakpoints","XSmall","Small","Medium","Large","XLarge","Handset","Tablet","Web","HandsetPortrait","TabletPortrait","WebPortrait","HandsetLandscape","TabletLandscape","WebLandscape","MutationObserverFactory","MutationObserver","MutationObserverFactory_Factory","ContentObserver","_mutationObserverFactory","_observedElements","_cleanupObserver","elementOrRef","stream","_observeElement","_unobserveElement","mutations","characterData","childList","subtree","disconnect","ContentObserver_Factory","CdkObserveContent","_currentSubscription","_unsubscribe","_subscribe","_debounce","debounce","CdkObserveContent_Factory","ObserversModule","ObserversModule_Factory","scrollBehaviorSupported","BlockScrollStrategy","_previousHTMLStyles","_isEnabled","_canBeEnabled","_previousScrollPosition","html","htmlStyle","bodyStyle","previousHtmlScrollBehavior","scrollBehavior","previousBodyScrollBehavior","viewport","getMatScrollStrategyAlreadyAttachedError","CloseScrollStrategy","_detach","_overlayRef","overlayRef","scrolled","_initialScrollPosition","updatePosition","NoopScrollStrategy","isElementScrolledOutsideView","scrollContainers","containerBounds","outsideAbove","outsideBelow","outsideLeft","outsideRight","isElementClippedByScrolling","scrollContainerRect","clippedAbove","clippedBelow","clippedLeft","clippedRight","RepositionScrollStrategy","throttle","scrollThrottle","autoClose","overlayRect","overlayElement","parentRects","ScrollStrategyOptions","noop","close","block","reposition","ScrollStrategyOptions_Factory","OverlayConfig","scrollStrategy","panelClass","hasBackdrop","backdropClass","disposeOnNavigation","configKeys","ConnectionPositionPair","overlay","offsetX","offsetY","originX","originY","overlayX","overlayY","ScrollingVisibility","ConnectedOverlayPositionChange","connectionPair","scrollableViewProperties","validateVerticalPosition","validateHorizontalPosition","BaseOverlayDispatcher","_attachedOverlays","BaseOverlayDispatcher_Factory","OverlayKeyboardDispatcher","_keydownListener","overlays","_keydownEvents","_isAttached","OverlayKeyboardDispatcher_Factory","OverlayOutsideClickDispatcher","_cursorStyleIsSet","_clickListener","_outsidePointerEvents","_cursorOriginalValue","cursor","OverlayOutsideClickDispatcher_Factory","isTestEnvironment","__karma__","jasmine","OverlayContainer","_containerElement","_createContainer","containerClass","oppositePlatformContainers","OverlayContainer_Factory","OverlayRef","_portalOutlet","_host","_pane","_keyboardDispatcher","_location","_outsideClickDispatcher","_backdropElement","_backdropClick","_attachments","_detachments","_locationChanges","_backdropClickHandler","_scrollStrategy","attach","_positionStrategy","positionStrategy","portal","attachResult","_previousHostParent","_updateStackingOrder","_updateElementSize","_updateElementDirection","_togglePointerEvents","_attachBackdrop","_toggleClasses","detachBackdrop","detachmentResult","_detachContentWhenStable","isAttached","_disposeScrollStrategy","strategy","sizeConfig","getDirection","minWidth","minHeight","maxWidth","maxHeight","enablePointer","showingClass","requestAnimationFrame","backdropToDetach","timeoutId","finishDetach","cssClasses","isAdd","cssClass","boundingBoxClass","cssUnitPattern","FlexibleConnectedPositionStrategy","_overlayContainer","_lastBoundingBoxSize","_isPushed","_canPush","_growAfterOpen","_hasFlexibleDimensions","_positionLocked","_viewportMargin","_scrollables","_preferredPositions","_positionChanges","_offsetX","_offsetY","_appliedPanelClasses","positionChanges","setOrigin","_validatePositions","_boundingBox","_isDisposed","_isInitialRender","_lastPosition","reapplyLastPosition","_clearPanelClasses","_resetOverlayElementStyles","_resetBoundingBoxStyles","_viewportRect","_getNarrowedViewportRect","_originRect","_getOriginRect","_overlayRect","originRect","viewportRect","flexibleFits","fallback","pos","originPoint","_getOriginPoint","overlayPoint","_getOverlayPoint","overlayFit","_getOverlayFit","isCompletelyWithinViewport","_applyPosition","_canFitWithFlexibleDimensions","boundingBoxRect","_calculateBoundingBoxRect","visibleArea","bestFit","bestScore","fit","score","weight","_previousPushAmount","alignItems","justifyContent","lastPosition","scrollables","flexibleDimensions","growAfterOpen","canPush","isLocked","_transformOriginSelector","startX","_isRtl","endX","overlayStartX","overlayStartY","rawOverlayRect","getRoundedBoundingClientRect","_getOffset","visibleWidth","_subtractOverflows","visibleHeight","fitsInViewportVertically","fitsInViewportHorizontally","availableHeight","availableWidth","getPixelValue","getConfig","verticalFit","horizontalFit","overflowRight","overflowBottom","overflowTop","overflowLeft","pushX","pushY","_setTransformOrigin","_setOverlayElementStyles","_setBoundingBoxStyles","_addPanelClasses","_getScrollVisibility","changeEvent","xOrigin","yOrigin","transformOrigin","isRtl","smallestDistanceToViewportEdge","previousHeight","isBoundedByRightViewportEdge","isBoundedByLeftViewportEdge","previousWidth","_hasExactPosition","hasExactPosition","hasFlexibleDimensions","_getExactOverlayY","_getExactOverlayX","transformString","_pushOverlayOnScreen","virtualKeyboardOffset","getContainerElement","documentHeight","horizontalStyleProperty","documentWidth","originBounds","overlayBounds","scrollContainerBounds","isOriginClipped","isOriginOutsideView","isOverlayClipped","isOverlayOutsideView","overflows","currentValue","currentOverflow","axis","pair","units","ConnectedPositionStrategy","originPos","overlayPos","viewportRuler","platform","overlayContainer","withFlexibleDimensions","withPush","withViewportMargin","withFallbackPosition","onPositionChange","setDirection","withScrollableContainers","withPositions","withDefaultOffsetX","withDefaultOffsetY","withLockedPosition","wrapperClass","GlobalPositionStrategy","_cssPosition","_topOffset","_bottomOffset","_leftOffset","_rightOffset","_alignItems","_justifyContent","_width","_height","updateSize","parentStyles","shouldBeFlushHorizontally","shouldBeFlushVertically","marginLeft","marginTop","marginBottom","marginRight","OverlayPositionBuilder","elementRef","OverlayPositionBuilder_Factory","nextUniqueId","Overlay","scrollStrategies","_componentFactoryResolver","_positionBuilder","_injector","_directionality","_createHostElement","pane","_createPaneElement","portalOutlet","_createPortalOutlet","overlayConfig","_appRef","Overlay_Factory","defaultPositionList","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","CdkOverlayOrigin","CdkOverlayOrigin_Factory","CdkConnectedOverlay","_overlay","scrollStrategyFactory","_hasBackdrop","_lockPosition","_flexibleDimensions","_push","_backdropSubscription","_attachSubscription","_detachSubscription","_positionSubscription","viewportMargin","open","disableClose","backdropClick","overlayKeydown","overlayOutsideClick","_templatePortal","_scrollStrategyFactory","_updatePositionStrategy","_attachOverlay","_detachOverlay","_buildConfig","attachments","detachments","keydownEvents","outsidePointerEvents","_createPositionStrategy","withGrowAfterOpen","lockPosition","withTransformOriginOn","transformOriginSelector","flexibleConnectedTo","_createOverlay","CdkConnectedOverlay_Factory","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","deps","useFactory","OverlayModule","OverlayModule_Factory","FullscreenOverlayContainer","_fullScreenEventName","_fullScreenListener","_adjustParentForFullscreenChange","_addFullscreenChangeListener","getFullscreenElement","_getEventName","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","FullscreenOverlayContainer_Factory","hasV8BreakIterator","Intl","v8BreakIterator","Platform","_platformId","EDGE","navigator","userAgent","TRIDENT","BLINK","chrome","CSS","ANDROID","SAFARI","Platform_Factory","PlatformModule","PlatformModule_Factory","supportedInputTypes","candidateInputTypes","getSupportedInputTypes","featureTestInput","supportsPassiveEvents","supportsPassiveEventListeners","defineProperty","normalizePassiveListenerOptions","rtlScrollAxisType","supportsScrollBehavior","scrollToFunction","scrollTo","getRtlScrollAxisType","scrollContainer","containerStyle","overflow","content","contentStyle","shadowDomIsSupported","_supportsShadowDom","createShadowRoot","attachShadow","ShadowRoot","throwNullPortalError","throwPortalAlreadyAttachedError","throwPortalOutletAlreadyDisposedError","throwUnknownPortalTypeError","throwNullPortalOutletError","throwNoPortalAttachedError","Portal","_attachedHost","ComponentPortal","component","injector","componentFactoryResolver","TemplatePortal","DomPortal","BasePortalOutlet","attachDomPortal","_attachedPortal","attachComponentPortal","attachTemplatePortal","setAttachedHost","_invokeDisposeFn","_disposeFn","BasePortalHost","DomPortalOutlet","outletElement","_defaultInjector","anchorNode","resolver","componentFactory","resolveComponentFactory","componentRef","createComponent","setDisposeFn","attachView","hostView","detachView","_getComponentRootNode","DomPortalHost","CdkPortal","CdkPortal_Factory","TemplatePortalDirective","TemplatePortalDirective_Factory","ɵTemplatePortalDirective_BaseFactory","CdkPortalOutlet","attached","_getRootNode","_attachedRef","CdkPortalOutlet_Factory","PortalHostDirective","PortalHostDirective_Factory","ɵPortalHostDirective_BaseFactory","PortalModule","PortalModule_Factory","PortalInjector","_parentInjector","_customTokens","notFoundValue","_c0","_c1","VIRTUAL_SCROLL_STRATEGY","FixedSizeVirtualScrollStrategy","itemSize","minBufferPx","maxBufferPx","_scrolledIndexChange","scrolledIndexChange","_viewport","_itemSize","_minBufferPx","_maxBufferPx","_updateTotalContentSize","_updateRenderedRange","behavior","scrollToOffset","setTotalContentSize","getDataLength","renderedRange","getRenderedRange","newRange","viewportSize","dataLength","scrollOffset","measureScrollOffset","firstVisibleIndex","maxVisibleItems","ceil","newVisibleIndex","startBuffer","expandStart","endBuffer","expandEnd","setRenderedRange","setRenderedContentOffset","_fixedSizeVirtualScrollStrategyFactory","fixedSizeDir","CdkFixedSizeVirtualScroll","updateItemAndBufferSize","CdkFixedSizeVirtualScroll_Factory","DEFAULT_SCROLL_TIME","ScrollDispatcher","_scrolled","_globalSubscription","_scrolledCount","elementScrolled","scrollableReference","auditTimeInMs","_addGlobalListener","_removeGlobalListener","elementOrElementRef","ancestors","scrollingContainers","_scrollableContainsElement","scrollableElement","ScrollDispatcher_Factory","CdkScrollable","scrollDispatcher","ngZone","_elementScrolled","_applyScrollToOptions","LEFT","RIGHT","CdkScrollable_Factory","DEFAULT_RESIZE_TIME","ViewportRuler","_change","_changeListener","_updateViewportSize","_viewportSize","documentRect","scrollY","scrollX","throttleTime","innerWidth","innerHeight","ViewportRuler_Factory","rangesEqual","r1","r2","SCROLL_SCHEDULER","CdkVirtualScrollViewport","_detachedSubject","_renderedRangeSubject","renderedRangeStream","_totalContentSize","_totalContentWidth","_totalContentHeight","_renderedRange","_dataLength","_renderedContentOffset","_renderedContentOffsetNeedsRewrite","_isChangeDetectionPending","_runAfterChangeDetection","_viewportChanges","checkViewportSize","_calculateSpacerSize","_measureViewportSize","onContentScrolled","_markChangeDetectionNeeded","forOf","_forOf","dataStream","newLength","onDataLengthChanged","_doChangeDetection","range","onContentRendered","axisDirection","Number","_renderedContentTransform","measureRenderedContentSize","onRenderedOffsetChanged","scrollToIndex","contentEl","_contentWrapper","measureRangeSize","viewportEl","runAfter","runAfterChangeDetection","CdkVirtualScrollViewport_Factory","ɵcmp","viewQuery","CdkVirtualScrollViewport_Query","CdkVirtualScrollViewport_HostBindings","ngContentSelectors","decls","vars","consts","CdkVirtualScrollViewport_Template","encapsulation","changeDetection","None","OnPush","getOffset","CdkVirtualForOf","_template","_differs","_viewRepeater","viewChange","_dataSourceChanges","prev","cur","_changeDataSource","_differ","_needsUpdate","_onRenderedDataChange","_cdkVirtualForOf","_cdkVirtualForTrackBy","renderedStartIndex","rangeLen","firstNode","lastNode","diff","_renderedItems","_updateContext","_applyChanges","cdkVirtualForTrackBy","oldDs","newDs","_updateComputedContextProperties","applyChanges","_adjustedPreviousIndex","_getEmbeddedViewArgs","forEachIdentityChange","last","even","odd","cdkVirtualForOf","CdkVirtualForOf_Factory","cdkVirtualForTemplate","cdkVirtualForTemplateCacheSize","useClass","CdkScrollableModule","CdkScrollableModule_Factory","ScrollingModule","ScrollingModule_Factory","CdkStep_ng_template_0_Template","CdkStepHeader","CdkStepHeader_Factory","CdkStepLabel","CdkStepLabel_Factory","StepperSelectionEvent","STEP_STATE","NUMBER","EDIT","DONE","ERROR","STEPPER_GLOBAL_OPTIONS","MAT_STEPPER_GLOBAL_OPTIONS","CdkStep","_stepper","stepperOptions","interacted","_editable","_optional","_completedOverride","_customError","_stepperOptions","_displayDefaultIndicatorType","displayDefaultIndicatorType","_showError","showError","_getDefaultCompleted","stepControl","valid","_getDefaultError","invalid","_stateChanged","CdkStep_Factory","CdkStepper","CdkStep_ContentQueries","stepLabel","CdkStep_Query","editable","completed","hasError","label","ariaLabelledby","CdkStep_Template","_linear","_selectedIndex","selectionChange","_groupId","_steps","_isValidIndex","selectedStep","_anyControlsInvalidOrPending","_updateSelectedItemIndex","selectedIndex","notifyOnChanges","_keyManager","_stepHeader","withWrap","withHomeAndEnd","withVerticalOrientation","_layoutDirection","withHorizontalOrientation","isCurrentStep","_isCurrentStep","_getDefaultIndicatorLogic","_getGuidelineLogic","activeItemIndex","stepsArray","previouslySelectedIndex","previouslySelectedStep","_containsFocus","hasModifier","manager","onKeydown","control","isIncomplete","pending","stepperElement","CdkStepper_Factory","CdkStepper_ContentQueries","linear","CdkStepperNext","CdkStepperNext_Factory","CdkStepperNext_HostBindings","CdkStepperNext_click_HostBindingHandler","_handleClick","CdkStepperPrevious","previous","CdkStepperPrevious_Factory","CdkStepperPrevious_HostBindings","CdkStepperPrevious_click_HostBindingHandler","CdkStepperModule","CdkStepperModule_Factory","CdkTextColumn_th_1_Template","ctx_r0","justify","headerText","CdkTextColumn_td_2_Template","data_r2","ctx_r1","dataAccessor","mixinHasStickyInput","base","_sticky","_hasStickyChanged","prevValue","hasStickyChanged","CDK_TABLE","TEXT_COLUMN_OPTIONS","CdkCellDef","CdkCellDef_Factory","CdkHeaderCellDef","CdkHeaderCellDef_Factory","CdkFooterCellDef","CdkFooterCellDef_Factory","CdkColumnDefBase","_CdkColumnDefBase","CdkColumnDef","_table","_stickyEnd","_setNameInput","_columnCssClassName","cssClassFriendlyName","_updateColumnCssClassName","CdkColumnDef_Factory","CdkColumnDef_ContentQueries","cell","headerCell","footerCell","sticky","stickyEnd","BaseCdkCell","columnDef","CdkHeaderCell","CdkHeaderCell_Factory","CdkFooterCell","CdkFooterCell_Factory","CdkCell","CdkCell_Factory","_Schedule","tasks","endTasks","_COALESCED_STYLE_SCHEDULER","_CoalescedStyleScheduler","_currentSchedule","task","_createScheduleIfNeeded","_getScheduleObservable","schedule","_CoalescedStyleScheduler_Factory","CDK_ROW_TEMPLATE","BaseRowDef","_columnsDiffer","columns","column","CdkHeaderRowDef","CdkFooterRowDef","BaseRowDef_Factory","CdkHeaderRowDefBase","_CdkHeaderRowDefBase","CdkHeaderRowDef_Factory","CdkFooterRowDefBase","_CdkFooterRowDefBase","CdkFooterRowDef_Factory","CdkRowDef","CdkRowDef_Factory","when","CdkCellOutlet","_viewContainer","mostRecentCellOutlet","CdkCellOutlet_Factory","CdkHeaderRow","CdkHeaderRow_Factory","CdkHeaderRow_Template","directives","Default","CdkFooterRow","CdkFooterRow_Factory","CdkFooterRow_Template","CdkRow","CdkRow_Factory","CdkRow_Template","CdkNoDataRow","CdkNoDataRow_Factory","STICKY_DIRECTIONS","StickyStyler","_isNativeHtmlTable","_stickCellCss","_coalescedStyleScheduler","_isBrowser","_needsPositionStickyOnElement","_positionListener","_cachedCellWidths","_borderCellCss","rows","stickyDirections","elementsToClear","row","_scheduleStyleChanges","_removeStickyStyle","stickyStartStates","stickyEndStates","recalculateCellWidths","stickyColumnsUpdated","sizes","stickyEndColumnsUpdated","firstRow","numCells","cellWidths","_getCellWidths","startPositions","_getStickyStartColumnPositions","endPositions","_getStickyEndColumnPositions","lastStickyStart","lastIndexOf","firstStickyEnd","_addStickyStyle","rowsToStick","stickyStates","stickyOffsets","stickyCellHeights","elementsToStick","rowIndex","stickyOffset","borderedRowIndex","isBorderedRowIndex","stickyHeaderRowsUpdated","stickyFooterRowsUpdated","tableElement","tfoot","hasDirection","_getCalculatedZIndex","dirValue","isBorderElement","cssText","zIndexIncrements","firstRowCells","widths","nextPosition","getTableUnknownColumnError","getTableDuplicateColumnNameError","getTableMultipleDefaultRowDefsError","getTableMissingMatchingRowDefError","JSON","stringify","getTableMissingRowDefsError","getTableUnknownDataSourceError","getTableTextColumnMissingParentTableError","getTableTextColumnMissingNameError","STICKY_POSITIONING_LISTENER","DataRowOutlet","DataRowOutlet_Factory","HeaderRowOutlet","HeaderRowOutlet_Factory","FooterRowOutlet","FooterRowOutlet_Factory","NoDataRowOutlet","NoDataRowOutlet_Factory","CDK_TABLE_TEMPLATE","RowViewRef","CdkTable","_stickyPositioningListener","_columnDefsByName","_customColumnDefs","_customRowDefs","_customHeaderRowDefs","_customFooterRowDefs","_headerRowDefChanged","_footerRowDefChanged","_stickyColumnStylesNeedReset","_forceRecalculateCellWidths","_cachedRenderRowsMap","stickyCssClass","needsPositionStickyOnElement","_isShowingNoDataRow","_multiTemplateDataRows","_fixedLayout","MAX_VALUE","_trackByFn","_dataSource","dataSource","_switchDataSource","_rowOutlet","_forceRenderDataRows","updateStickyColumnStyles","_setupStickyStyler","_applyNativeTableSections","_dataDiffer","_i","dataRow","trackBy","dataIndex","_cacheRowDefs","_cacheColumnDefs","_headerRowDefs","_footerRowDefs","_rowDefs","columnsChanged","_renderUpdatedColumns","rowDefsChanged","_forceRenderHeaderRows","_forceRenderFooterRows","_renderChangeSubscription","_observeRenderChanges","_checkStickyStates","_noDataRowOutlet","_headerRowOutlet","_footerRowOutlet","_renderRows","_getAllRenderRows","_updateNoDataRow","_renderCellTemplateForItem","rowDef","prevIndex","renderRow","_renderRow","_updateRowIndexContext","rowView","headerRowDef","footerRowDef","noDataRow","_customNoDataRow","headerRows","_getRenderedRows","thead","_stickyStyler","clearStickyPositioning","stickRows","resetStickyChanged","footerRows","updateStickyFooterContainer","dataRows","headerRow","_addStickyColumnStyles","footerRow","renderRows","prevCachedRenderRows","renderRowsForData","_getRenderRowsForData","rowDefs","_getRowDefs","cachedRenderRows","shift","columnDefs","mergeArrayAndSet","_getOwnDefs","_contentColumnDefs","_contentHeaderRowDefs","_contentFooterRowDefs","_contentRowDefs","defaultRowDefs","multiTemplateDataRows","_defaultRowDef","columnsDiffReducer","acc","getColumnsDiff","dataColumnsChanged","headerColumnsChanged","footerColumnsChanged","updateStickyHeaderRowStyles","updateStickyFooterRowStyles","columnName","updateStickyColumns","rowOutlet","renderedRows","outlet","_getCellTemplates","cellTemplate","renderIndex","columnId","extractCellTemplate","documentFragment","createDocumentFragment","sections","tag","outlets","section","stickyCheckReducer","d","_noDataRow","shouldShow","CdkTable_Factory","CdkTable_ContentQueries","CdkTable_Query","CdkTable_HostBindings","fixedLayout","CdkTable_Template","CdkTextColumn","_options","_syncColumnDefName","_createDefaultHeaderText","defaultDataAccessor","addColumnDef","removeColumnDef","defaultHeaderTextTransform","CdkTextColumn_Factory","CdkTextColumn_Query","CdkTextColumn_Template","EXPORTED_DECLARATIONS","CdkTableModule","CdkTableModule_Factory","listenerOptions","AutofillMonitor","_monitoredElements","isAutofilled","unlisten","AutofillMonitor_Factory","CdkAutofill","_autofillMonitor","cdkAutofill","CdkAutofill_Factory","CdkTextareaAutosize","_previousMinRows","_textareaElement","_measuringClass","_minRows","_setMinHeight","_maxRows","_setMaxHeight","resizeToFitContent","minRows","_cachedLineHeight","maxRows","_initialHeight","textareaClone","border","padding","force","_cacheTextareaLineHeight","textarea","_previousValue","placeholderText","_scrollToCaretPosition","selectionStart","selectionEnd","isStopped","setSelectionRange","CdkTextareaAutosize_Factory","CdkTextareaAutosize_HostBindings","CdkTextareaAutosize_input_HostBindingHandler","_noopInputHandler","TextFieldModule","TextFieldModule_Factory","VERSION","coerceBooleanProperty","coerceNumberProperty","fallbackValue","_isNumberValue","coerceArray","coerceCssPixelValue","coerceElement","coerceStringArray","sourceValues","sourceValue","trimmedString","_DOM","getDOM","setDOM","adapter","setRootDomAdapter","DomAdapter","DOCUMENT","PlatformLocation","PlatformLocation_Factory","useBrowserPlatformLocation","BrowserPlatformLocation","LOCATION_INITIALIZED","_doc","_init","location","getLocation","_history","getHistory","getBaseHref","getGlobalEventTarget","href","protocol","hostname","port","pathname","newPath","search","hash","title","url","supportsState","pushState","replaceState","forward","back","BrowserPlatformLocation_Factory","createBrowserPlatformLocation","history","joinWithSlash","slashes","endsWith","stripTrailingSlash","pathEndIdx","droppedSlashIdx","normalizeQueryParams","LocationStrategy","LocationStrategy_Factory","provideLocationStrategy","platformLocation","PathLocationStrategy","APP_BASE_HREF","_platformLocation","getBaseHrefFromDOM","_baseHref","onPopState","onHashChange","internal","includeHash","queryParams","externalUrl","prepareExternalUrl","PathLocationStrategy_Factory","HashLocationStrategy","path","HashLocationStrategy_Factory","Location","platformStrategy","_subject","_urlChangeListeners","_platformStrategy","browserBaseHref","_stripIndexHtml","ev","normalize","getState","_stripBaseHref","_notifyUrlChangeListeners","_urlChangeSubscription","onNext","onThrow","onReturn","Location_Factory","createLocation","baseHref","CURRENCIES_EN","NumberFormatStyle","Plural","FormStyle","TranslationWidth","FormatWidth","NumberSymbol","WeekDay","getLocaleId","locale","LocaleId","getLocaleDayPeriods","formStyle","amPmData","DayPeriodsFormat","DayPeriodsStandalone","amPm","getLastDefinedValue","getLocaleDayNames","daysData","DaysFormat","DaysStandalone","days","getLocaleMonthNames","monthsData","MonthsFormat","MonthsStandalone","months","getLocaleEraNames","erasData","Eras","getLocaleFirstDayOfWeek","FirstDayOfWeek","getLocaleWeekEndRange","WeekendRange","getLocaleDateFormat","DateFormat","getLocaleTimeFormat","TimeFormat","getLocaleDateTimeFormat","dateTimeFormatData","DateTimeFormat","getLocaleNumberSymbol","symbol","res","NumberSymbols","CurrencyDecimal","Decimal","CurrencyGroup","Group","getLocaleNumberFormat","NumberFormats","getLocaleCurrencySymbol","CurrencySymbol","getLocaleCurrencyName","CurrencyName","getLocaleCurrencyCode","getLocaleCurrencies","Currencies","getLocalePluralCase","checkFullData","ExtraData","getLocaleExtraDayPeriodRules","rules","rule","extractTime","getLocaleExtraDayPeriods","dayPeriodsData","dayPeriods","getLocaleDirection","h","hours","minutes","getCurrencySymbol","code","format","currency","symbolNarrow","DEFAULT_NB_OF_CURRENCY_DIGITS","getNumberOfCurrencyDigits","digits","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","DateType","TranslationType","formatDate","timezone","date","toDate","namedFormat","getNamedFormat","parts","dateTimezoneOffset","getTimezoneOffset","timezoneToOffset","convertTimezoneToLocal","text","dateFormatter","getDateFormatter","createDate","year","month","newDate","setFullYear","setHours","localeId","formatValue","Short","Long","Full","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","opt_values","padNumber","num","minusSign","negWrap","neg","strNum","formatFractionalSeconds","milliseconds","strMs","dateGetter","getDatePart","Hours","FractionalSeconds","localeMinus","MinusSign","FullYear","getFullYear","Month","getMonth","getDate","getHours","Minutes","getMinutes","Seconds","getSeconds","getMilliseconds","Day","getDay","dateStrGetter","form","Format","extended","getDateTranslation","Months","Days","DayPeriods","currentHours","currentMinutes","afterFrom","beforeTo","unexpected","timeZoneGetter","zone","ShortGMT","Extended","JANUARY","THURSDAY","getFirstThursdayOfYear","firstDayOfYear","getThursdayThisWeek","datetime","weekGetter","monthBased","nbDaysBefore1stDayOfMonth","today","thisThurs","firstThurs","getTime","weekNumberingYearGetter","weekNumberingYear","DATE_FORMATS","formatter","Abbreviated","Wide","Narrow","Standalone","requestedTimezoneOffset","parse","addDateMinutes","setMinutes","reverseValue","timezoneOffset","isDate","parsedNb","isoStringToDate","tzHour","tzMin","dateSetter","setUTCFullYear","timeSetter","setUTCHours","ms","valueOf","NUMBER_FORMAT_REGEXP","MAX_DIGITS","DECIMAL_SEP","ZERO_CHAR","PATTERN_SEP","GROUP_SEP","DIGIT_CHAR","CURRENCY_CHAR","PERCENT_CHAR","formatNumberToLocaleString","pattern","groupSymbol","decimalSymbol","digitsInfo","isPercent","formattedText","isZero","isFinite","Infinity","parsedNumber","parseNumber","toPercent","minInt","minFraction","minFrac","maxFraction","maxFrac","minIntPart","minFractionPart","maxFractionPart","parseIntAutoRadix","roundNumber","integerLen","exponent","decimals","groups","lgSize","gSize","Exponential","negPre","negSuf","posPre","posSuf","formatCurrency","currencyCode","Currency","parseNumberFormat","formatPercent","Percent","PercentSign","formatNumber","patternParts","positive","negative","positiveParts","integer","fraction","ch","trunkLen","fractionLen","numStr","zeros","fractionSize","roundAt","digit","k","dropTrailingZeros","minLen","carry","reduceRight","NgLocalization","getPluralCategory","cases","ngLocalization","NgLocaleLocalization","plural","Zero","One","Two","Few","Many","NgLocaleLocalization_Factory","registerLocaleData","extraData","parseCookieValue","cookieStr","encodeURIComponent","cookie","eqIndex","cookieName","cookieValue","decodeURIComponent","NgClass","_iterableDiffers","_keyValueDiffers","_ngEl","_renderer","_iterableDiffer","_keyValueDiffer","_initialClasses","_rawClass","_removeClasses","_applyClasses","iterableChanges","_applyIterableChanges","keyValueChanges","_applyKeyValueChanges","forEachAddedItem","forEachChangedItem","forEachRemovedItem","previousValue","rawClassVal","klass","NgClass_Factory","ngClass","NgComponentOutlet","_componentRef","_moduleRef","ngComponentOutlet","elInjector","ngComponentOutletInjector","parentInjector","ngComponentOutletNgModuleFactory","parentModule","ngComponentOutletContent","NgComponentOutlet_Factory","NgForOfContext","ngForOf","NgForOf","_ngForOf","_ngForOfDirty","ngForTrackBy","getTypeName","insertTuples","RecordViewTuple","_perViewChange","ilen","NgForOf_Factory","ngForTemplate","NgIf","_context","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","condition","ngIf","_updateView","assertTemplate","NgIf_Factory","ngIfThen","ngIfElse","isTemplateRefOrNull","SwitchView","_templateRef","_created","created","NgSwitch","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","_ngSwitch","_updateDefaultCases","_defaultViews","matched","useDefault","enforceState","NgSwitch_Factory","ngSwitch","NgSwitchCase","throwNgSwitchProviderNotFoundError","_addCase","_view","_matchCase","ngSwitchCase","NgSwitchCase_Factory","NgSwitchDefault","_addDefault","NgSwitchDefault_Factory","attrName","directiveName","NgPlural","_localization","_caseViews","_switchValue","switchView","_clearViews","_activateView","_activeView","NgPlural_Factory","ngPlural","NgPluralCase","isANumber","addCase","NgPluralCase_Factory","NgStyle","_ngStyle","nameAndUnit","setStyle","removeStyle","_setStyle","NgStyle_Factory","ngStyle","NgTemplateOutlet","_viewRef","ngTemplateOutletContext","ngTemplateOutlet","recreateView","_shouldRecreateView","_updateExistingContext","ctxChange","_hasContextShapeChanged","prevCtxKeys","currCtxKeys","propName","NgTemplateOutlet_Factory","COMMON_DIRECTIVES","invalidPipeArgumentError","SubscribableStrategy","async","updateLatestValue","PromiseStrategy","_promiseStrategy","_subscribableStrategy","AsyncPipe","_ref","_latestValue","_obj","_strategy","_dispose","_selectStrategy","createSubscription","_updateLatestValue","AsyncPipe_Factory","ɵpipe","pure","LowerCasePipe","LowerCasePipe_Factory","unicodeWordMatch","TitleCasePipe","txt","TitleCasePipe_Factory","UpperCasePipe","UpperCasePipe_Factory","DatePipe","DatePipe_Factory","_INTERPOLATION_REGEXP","I18nPluralPipe","pluralMap","I18nPluralPipe_Factory","I18nSelectPipe","mapping","I18nSelectPipe_Factory","JsonPipe","JsonPipe_Factory","makeKeyValuePair","KeyValuePipe","differs","keyValues","compareFn","defaultComparator","differ","differChanges","forEachItem","r","KeyValuePipe_Factory","keyValueA","keyValueB","aString","bString","DecimalPipe","_locale","isValue","strToNumber","DecimalPipe_Factory","PercentPipe","PercentPipe_Factory","CurrencyPipe","_defaultCurrencyCode","CurrencyPipe_Factory","SlicePipe","supports","SlicePipe_Factory","COMMON_PIPES","CommonModule","CommonModule_Factory","PLATFORM_BROWSER_ID","PLATFORM_SERVER_ID","PLATFORM_WORKER_APP_ID","PLATFORM_WORKER_UI_ID","isPlatformBrowser","platformId","isPlatformServer","isPlatformWorkerApp","isPlatformWorkerUi","ViewportScroller","BrowserViewportScroller","supportsScrolling","pageXOffset","pageYOffset","elSelected","findAnchorFromDocument","scrollToElement","attemptFocus","scrollRestoration","supportScrollRestoration","scrollRestorationDescriptor","getScrollRestorationProperty","getPrototypeOf","writable","getOwnPropertyDescriptor","documentResult","getElementsByName","createTreeWalker","treeWalker","NodeFilter","SHOW_ELEMENT","currentNode","nextNode","NullViewportScroller","HttpHandler","HttpBackend","HttpHeaders","headers","normalizedNames","lazyUpdate","lazyInit","line","maybeSetNormalizedName","op","lcName","copyFrom","update","applyUpdate","other","toDelete","existing","HttpUrlEncodingCodec","standardEncoding","paramParser","rawParams","codec","param","eqIdx","decodeKey","decodeValue","HttpParams","updates","cloneFrom","encoder","fromString","fromObject","_value","eKey","encodeKey","encodeValue","idx","mightHaveBody","method","isArrayBuffer","ArrayBuffer","isBlob","Blob","isFormData","FormData","HttpRequest","third","fourth","reportProgress","withCredentials","responseType","urlWithParams","qIdx","sep","setHeaders","setParams","HttpEventType","HttpResponseBase","defaultStatus","defaultStatusText","statusText","ok","HttpHeaderResponse","ResponseHeader","HttpResponse","Response","HttpErrorResponse","addBody","HttpClient","req","events$","res$","request","callbackParam","HttpClient_Factory","HttpInterceptorHandler","interceptor","intercept","HTTP_INTERCEPTORS","NoopInterceptor","NoopInterceptor_Factory","nextRequestId","JSONP_ERR_NO_CALLBACK","JSONP_ERR_WRONG_METHOD","JSONP_ERR_WRONG_RESPONSE_TYPE","JsonpCallbackContext","JsonpClientBackend","callbackMap","resolvedPromise","nextCallback","src","cancelled","cleanup","onLoad","onError","Sent","JsonpClientBackend_Factory","JsonpInterceptor","jsonp","JsonpInterceptor_Factory","XSSI_PREFIX","getResponseUrl","xhr","responseURL","getAllResponseHeaders","getResponseHeader","XhrFactory","BrowserXhr","XMLHttpRequest","BrowserXhr_Factory","HttpXhrBackend","xhrFactory","setRequestHeader","detectedType","detectContentTypeHeader","reqBody","serializeBody","headerResponse","partialFromXhr","responseText","originalBody","sentHeaders","onDownProgress","progressEvent","DownloadProgress","loaded","lengthComputable","partialText","onUpProgress","progress","UploadProgress","upload","send","readyState","abort","HttpXhrBackend_Factory","XSRF_COOKIE_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","lastCookieString","lastToken","parseCount","cookieString","HttpXsrfCookieExtractor_Factory","HttpXsrfInterceptor","tokenService","headerName","lcUrl","getToken","HttpXsrfInterceptor_Factory","HttpInterceptingHandler","backend","chain","interceptors","HttpInterceptingHandler_Factory","interceptingHandler","jsonpCallbackContext","HttpClientXsrfModule","ngModule","HttpClientXsrfModule_Factory","HttpClientModule","HttpClientModule_Factory","withOptions","HttpClientJsonpModule","HttpClientJsonpModule_Factory","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","overriddenName","newLineIndex","concatStringsWithSpace","before","after","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","ERROR_DETAILS_PAGE_BASE_URL","RuntimeError","formatRuntimeError","RUNTIME_ERRORS_WITH_GUIDES","fullCode","renderStringify","stringifyForError","throwCyclicDependencyError","depPath","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleType","provider","ngModuleDetail","providerDetail","throwProviderNotFoundError","injectorName","injectorDetails","assertNumber","actual","msg","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertFunction","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","constructor","assertIndexInRange","maxLen","assertOneOf","validValues","ɵɵdefineInjectable","opts","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","field","getInheritedInjectableDef","typeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","injectRootLimpMode","flags","injectableDef","Optional","assertInjectImplementationNotEqual","noSideEffects","ChangeDetectionStrategy","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","changeDetectionStrategy","ViewEncapsulation","__globalThis","globalThis","__window","__self","self","WorkerGlobalScope","__global","global","_global","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","EMPTY_OBJ","EMPTY_ARRAY","freeze","EMPTY_ARRAY$1","NG_COMP_DEF","NG_DIR_DEF","NG_PIPE_DEF","NG_MOD_DEF","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","NG_ELEMENT_ID","__NG_ELEMENT_ID__","_renderCompCount","ɵɵdefineComponent","componentDefinition","declaredInputs","providersResolver","onPush","directiveDefs","pipeDefs","Emulated","setInput","schemas","directiveTypes","feature","pipeTypes","pipes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","bootstrap","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","secondary","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","ngOnDestroy","throwNotFound","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","INJECTOR","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","assertTNode","tView_","assertTIcu","tIcu","currentCaseLViewIndex","assertComponentType","assertNgModuleType","assertCurrentTNodeIsParent","isParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","bindingStartIndex","assertIndexInVarsRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertProjectionSlots","projection","assertParentView","assertNodeInjector","injectorIndex","getFactoryDef","hasFactoryDef","SimpleChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","definition","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","current","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","profilerCallback","setProfiler","profiler","hookOrListener","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","setDocument","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","rendererType","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","load","getComponentLViewByIndex","nodeIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","specOnlyIsInstructionStateEmpty","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","setIsInCheckNoChangesMode","getBindingRoot","bindingRootIndex","getBindingIndex","bindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","isInI18nBlock","inI18n","setInI18nBlock","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","SkipSelf","parentTNode","parentLView","Host","allocLFrame","enterView","newView","newLFrame","currentNamespace","firstChild","currentLFrame","childLFrame","child","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","level","walkUpViews","nestingLevel","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","directiveIndex","directiveDef","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","lifecycleHooks","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","hook","isInitHook","callHook","directive","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","toTNodeTypeAsString","tNodeType","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertTNodeType","expectedTypes","assertPureTNodeType","setUpAttributes","native","attrs","isProc","namespaceURI","attrVal","setAttributeNS","isAnimationProp","isNameOnlyAttributeMarker","marker","charCodeAt","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","BLOOM_SIZE","BLOOM_MASK","BLOOM_BUCKET_BITS","nextNgElementId","bloomAdd","bloomHash","mask","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","tViewType","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","notFoundValueOrThrow","lookupTokenUsingModuleInjector","Self","moduleInjector","previousInjectImplementation","getOrCreateInjectable","bloomHashBitOrFactory","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","createNodeInjector","NodeInjector","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","success","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetInheritedFactory","ownConstructor","ownFactory","getFactoryOf","objectPrototype","ɵɵinjectAttribute","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotations","ngMetadataName","annotationCls","ctor","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","annotation","unusedKey","parameters","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","meta","CREATE_ATTRIBUTE_DECORATOR__PRE_R3__","attributeName","CREATE_ATTRIBUTE_DECORATOR__POST_R3__","CREATE_ATTRIBUTE_DECORATOR_IMPL","Attribute","InjectionToken","_desc","ANALYZE_FOR_ENTRY_COMPONENTS","emitDistinctChangesOnlyDefaultValue","Query","isViewQuery","emitDistinctChangesOnly","ContentChildren","ContentChild","ViewChildren","ɵ3","ViewChild","R3ResolvedDependencyType","R3FactoryTarget","ViewEncapsulation$1","getCompilerFacade","globalNg","ɵcompilerFacade","Type","Function","isType","addAllToArray","arrayEquals","identityAccessor","valueA","valueB","flatten","deepForEach","addToArray","removeFromArray","newArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","middle","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","typeStr","ReflectionCapabilities","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","typeOrFunc","ownAnnotations","_ownAnnotations","parentAnnotations","propMetadata","parentPropMetadata","ownPropMetadata","_ownPropMetadata","lcProperty","functionBody","moduleUrl","members","runtime","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","DI_DECORATOR_FLAG","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$2","USE_VALUE","_currentInjector","setCurrentInjector","former","injectInjectorOnly","ɵɵinject","ɵɵinvalidFactoryDep","inject","injectArgs","types","arg","flag","getInjectFlag","attachInjectFlag","decorator","catchInjectorError","injectorErrorName","tokenPath","formatError","ɵ0$3","Inject","getReflect","reflectDependencies","convertDependencies","compiler","dep","reflectDependency","resolved","Token","skipSelf","setTokenAndResolvedType","__ChangeDetectorRef__","ChangeDetectorRef","Invalid","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","promise","resp","unwrapResponse","componentResourceResolutionQueue","promises","templateUrl","styleUrls","styleOffset","styleUrl","fullyResolved","all","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","policy","getPolicy","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","trustedScriptFromString","script","trustedScriptURLFromString","newTrustedFunctionForDev","fnArgs","fnBody","policy$1","getPolicy$1","trustedHTMLFromStringBypass","trustedScriptFromStringBypass","trustedScriptURLFromStringBypass","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","inertDocumentHelper","InertDocumentHelper","isDOMParserAvailable","DOMParserHelper","DOMParser","parseFromString","getInertBodyElement","inertDocument","implementation","createHTMLDocument","inertHtml","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attributes","attrib","childNode","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","tags","merge","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","chars","nodeValue","endElement","checkClobberedElement","tagName","elAttr","encodeEntities","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","hi","low","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","isTemplateElement","SecurityContext","ɵɵsanitizeHtml","getSanitizer","sanitize","HTML","ɵɵsanitizeStyle","unsafeStyle","STYLE","ɵɵsanitizeUrl","unsafeUrl","URL","ɵɵsanitizeResourceUrl","unsafeResourceUrl","RESOURCE_URL","ɵɵsanitizeScript","unsafeScript","SCRIPT","ɵɵtrustConstantHtml","raw","ɵɵtrustConstantResourceUrl","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_console","_findOriginalError","_findContext","errorLogger","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","COMMENT_DISALLOWED","COMMENT_DELIMITER","COMMENT_DELIMITER_ESCAPED","escapeCommentText","createNamedArrayType","normalizeDebugBindingName","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","components","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","ɵ0$4","defaultScheduler","ɵɵresolveWindow","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwMultipleComponentError","throwErrorIfNoChangesMode","creationMode","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","prefix","chunks","slotIdx","getExpressionChangedErrorDetails","RendererStyleFlags2","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","ensureIcuContainerVisitorLoaded","loader","unusedValueExportToPlacateAjd$5","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","unusedValueToPlacateAjd","applyToElementOrContainer","lNodeToHandle","beforeNode","isComponent","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","updateTextNode","setValue","createCommentNode","createElementNode","namespace","createElementNS","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","lViewOrLContainer","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","movedViews","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","insertionLContainer","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","processCleanups","tCleanup","lCleanup","lastLCleanupIndex","idxOrTargetGetter","useCaptureOrSubIdx","instanceCleanupFn","toCall","callContext","getParentRElement","getClosestRElement","isMove","nativeAppendOrInsertBefore","nativeRemoveChild","nativeParentNode","nativeNextSibling","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","getFirstNativeNode","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","nextRNode","projectionNodes","getProjectionNodes","componentHost","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","parentRElement","isProjection","rawSlotValue","applyProjectionRecursive","projectionNext","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","applyStyling","isClassBased","isProcedural","DashCase","isImportant","Important","writeDirectStyle","writeDirectClass","classIndexOf","classToSearch","foundIndex","unusedValueToPlacateAjd$1","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","ɵɵadvance","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","enumerable","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","nameSuffix","embeddedArray","TViewConstructor","hostBindingOpCodes","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","insertBeforeIndex","directiveStylingLast","propertyBindings","mergedAttrs","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","flags_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","bindings","isTemplate","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","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","isRoot","indexWithinInitPhase","mapToHTML","toDebugNodes","toLViewRange","childViews","childHead","l","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","injectorResolutionPath","debugNodeInjectorPath","viewProviders","providerIndexEnd_","nodeInjectorDebug","bloom","toBloom","cumulativeBloom","binary","_raw_lContainer","ɵ0$5","_CLEAN_PROMISE","processHostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","createLView","tHostNode","rendererFactory","getOrCreateTNode","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","initialValue","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","prevSelectedIndex","isUpdatePhase","preHookType","postHookType","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","storeCleanupWithContext","cleanupFn","getOrCreateLViewCleanup","getOrCreateTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","internalName","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","validateProperty","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","schema","instantiateRootComponent","rootTNode","configureViewWithDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","addComponentLogic","setInputsFromAttrs","elementIndex","invokeHostBindingsInCreationMode","registry","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","setElementAttribute","initialInputData","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedLView","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","scheduleTick","rootContext","nothingScheduled","clean","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","handleError","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","styleValue","markDirty","tick","INJECTOR$1","NullInjector","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$2","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","dedupStack","processProvider","injectorDef","processInjectorType","makeRecord","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","Injector","NULL","IDENT","ɵ0$6","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolvedProvider","multiProvider","resolveToken","depRecords","depRecord","childRecord","providerDeps","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","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","w","ɵ0$7","NULL_INJECTOR$1","renderComponent$1","componentType","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","superType","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","Symbol","getOwnPropertyNames","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","wrapped","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","o","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","suffix","interpolation2","i0","v1","interpolation3","i1","v2","interpolation4","i2","v3","interpolation5","i3","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","adjustedIndex","comment","ɵɵreference","angularCoreDiEnv","compileInjectable","srcMeta","ngFactoryDef","getInjectableMetadata","compileFactory","typeArgumentCount","injectFn","Injectable","configurable","ɵ0$8","USE_VALUE$1","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","userDeps","ɵ0$9","USE_VALUE$2","EMPTY_ARRAY$3","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$a","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","findFirstClosedCycle","constructResolvingPath","tokenStrs","injectionError","constructResolvingMessage","errMsg","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","signature","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","hasLifecycleHook","getter","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","reflector","ReflectiveDependency","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","dependencies","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_parent","_constructionCounter","len","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","ɵɵdirectiveInject","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","elementStart","ɵɵelementStart","ɵɵelementEnd","elementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isPromise","isSubscribable","isObservable","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","minifiedName","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","malformedStyleError","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","u","localeEn","LOCALE_DATA","LocaleDataIndex","findLocaleData","normalizedLocale","normalizeLocale","getLocaleData","parentLocale","CurrencyCode","PluralCase","ng","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","unusedValueExportToPlacateAjd$6","LOCALE_ID","setLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","i18nChild","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","setTIcu","setTNodeInsertBeforeIndex","createTNodePlaceholder","getCurrentICUCaseIndex","currentCase","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","getInstructionFromIcuCreateOpCode","icuCreateOpCode","parentIdx","refIdx","changeMask","changeMaskCounter","setMaskBit","hasChange","applyI18n","tI18n","updateOpCodes","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","createOpCodes","insertInFrontOf","isComment","COMMENT","appendNow","APPEND_EAGERLY","applyMutableOpCodes","mutableOpCodes","rootIdx","rootRNode","textNodeIndex","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","elementRNode","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","activeCaseIndex","getCaseIndex","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","icuExpression","bindingValue","resolvedCase","loadIcuContainerVisitor","_stack","_index","_removes","icuContainerIteratorStart","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","i18nCreateOpCodesToString","opcodes","lines","i18nUpdateOpCodesToString","parser","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","hasMore","consumeNumber","statements","statement","consumeNumberOrString","opCodeText","icuCreateOpCodesToString","lastRef","consumeNumberStringOrMarker","i18nRemoveOpCodesToString","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","replaceNgsp","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","existingTNodeStack","getTranslationForTemplate","msgParts","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuContainerTNode","createTNodeAndAddOpCode","mainBinding","icuNodeIndex","icuStart","isClosing","existingTNodes","isICU","i18nNodeIdx","hasBinding","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","countBindings","destinationNode","bindingStart","maskIndex","sizeIndex","textParts","textValue","toMaskBit","opCodes","isRootTemplateMessage","removeInnerTemplateTranslation","inTemplate","tagMatched","bindingMask","addUpdateIcuSwitch","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","icuType","binding","blocks","prevPos","braceStack","braces","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","depth","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","isNestedIcu","nestedIcuIndex","addRemoveNestedIcu","appendToParentIdx","createAtIdx","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","i18nPostprocess","replacements","templateIdsStack","phs","tmpl","placeholders","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","messageIndex","sameViewParentTNode","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","componentCount","multiProviders","ɵɵProvidersFeature","processProvidersFn","ComponentRef","ComponentFactory","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","ComponentFactoryResolver","CodegenComponentFactoryResolver","_ngModule","_factories","ComponentFactoryBoundToModule","projectableNodes","rootSelectorOrNode","injectElementRef","createElementRef","ElementRef","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","SWITCH_ELEMENT_REF_FACTORY","unwrapElementRef","Renderer2Interceptor","RendererFactory2","Renderer2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","injectRenderer2","SWITCH_RENDERER2_FACTORY__PRE_R3__","getOrCreateRenderer2","nodeAtIndex","Sanitizer","Version","full","major","minor","patch","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$b","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_reinsertAfter","_moveAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","_prevDup","_nextDup","_DuplicateItemRecordList","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","defaultIterableDiffersFactory","IterableDiffers","iterable","getTypeNameForDebugging","copied","defaultKeyValueDiffersFactory","KeyValueDiffers","kv","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef","_cdRefInjectingView","_attachedToViewContainer","viewRefs","appRef","RootViewRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","injectChangeDetectorRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY","isPipe","createViewRef","isComponentView","hostComponentView","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","injectTemplateRef","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_TEMPLATE_REF_FACTORY","TemplateRef","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","declarationViewLQueries","createTemplateRef","NgModuleRef","NgModuleFactory","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","injectViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","ViewContainerRef","previousTNode","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","ngModuleRef","contextInjector","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","getOrCreateViewRefs","viewRefsArr","wasDetached","commentNode","parentOfHostNative","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","err","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","updateDirectives","updateRenderer","dirtyParentQueries","_tokenKeyCache","tokenKey","unwrapValue","nodeIdx","bindingIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","createRendererType2","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","bindingName","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","nodeDef","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","elementEventFullName","isEmbeddedView","filterQueryId","queryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","references","valueType","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","childCount","visitProjectedRenderNodes","ngContentIndex","compView","hostElDef","projectedNodes","execRenderNodeAction","ngContent","rn","bindingFlags","embeddedViews","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","interpolate","valueCount","constAndInterp","_toStringWithNull","inlineInterpolate","c0","c1","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","EMPTY_MAP","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","moduleDef","providersByKey","modules","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","depDef","providerDef","providerInstance","targetsModule","moduleTransitivelyPresent","injectable","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","viewDef","nodeFlags","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","createComponentFactory","viewDefFactory","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","templateName","outputsArr","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","viewRef_","createChangeDetectorRef","fs","disposables","vcRef","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","moduleType","bootstrapComponents","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","checkIndex","nonMinifiedName","securityContext","outputDefs","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","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","elementName","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","injectComponentFactoryResolver","_rootLView","setClassMetadata","clazz","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","visited","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","destroyCbs","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","slotOffset","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","observerOrNext","_c","nextFn","errorFn","completeFn","_wrapInTimeout","sink","EventEmitter","symbolIterator","_results","QueryList","_emitDistinctChangesOnly","_changesDetected","_changes","resultsTree","newResultFlat","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","read","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$c","angularCoreEnv","jitOptions","setJitOptions","defaultEncapsulation","preserveWhitespaces","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModule","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","NgModule","verifySemanticsOfNgModuleDef","compileInjector","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","mod","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","decl","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","entryComponents","kind","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","isNgModule","scopes","exported","importedType","importedScope","declared","declaredWithDefs","exportedType","exportedScope","isModuleWithProviders","compilationDepth","compileComponent","ngComponentDef","addDirectiveFactoryDef","directiveMetadata","typeSourceSpan","createParseSourceSpan","animations","interpolation","usesInheritance","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","getDirectiveMetadata","sourceMapUrl","facade","Directive","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","lifecycle","usesOnChanges","extractExportAs","viewQueries","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","convertToR3QueryMetadata","ann","isQueryAnn","queriesMeta","isInputAnnotation","piece","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","getPipeMetadata","Pipe","ɵ0$d","ɵ1$2","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","Component","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","bindingPropertyName","Input","ɵ7","Output","ɵ8","hostPropertyName","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$e","ɵ1$3","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","moduleInjectorType","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","reject","initialized","donePromise","rej","asyncInitPromises","initResult","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","Console","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","TRANSLATIONS_FORMAT","MissingTranslationStrategy","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","ngModuleFactory","componentFactories","_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","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","onUnstable","onMicrotaskEmpty","assertZonePatched","_nesting","_outer","_inner","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","scheduleEventTask","EMPTY_PAYLOAD","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","onInvokeTask","delegate","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","elem","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_devMode","_runModeLocked","isDevMode","enableProdMode","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","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","desc","extraProviders","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_modules","ngZoneOption","ngZoneEventCoalescing","ngZoneRunCoalescing","getNgZone","ngZoneInjector","moduleRef","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","module","PlatformRef_Factory","extra","_exceptionHandler","_initStatus","_bootstrapListeners","_views","_runningTick","_stable","componentTypes","_onMicrotaskEmptySubscription","isCurrentlyStable","stableSub","unstableSub","assertInAngularZone","componentOrFactory","selectorOrNode","compRef","testabilityRegistry","registerApplication","unregisterApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","legacyOfflineMode","loadFactory","loadAndCompile","exportName","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","newChildren","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","descriptors","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$f","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","anchorDef","templateFactory","elementDef","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","parentEl","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute$1","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","queryDef","bindingType","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","boundValue","getQueryValue","embeddedView","dvc","projectedView","queryValueType","ngContentDef","appendNgContent","purePipeDef","argCount","_pureExpressionDef","pureArrayDef","pureObjectDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","textDef","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentParent","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","isNgContainer","newParent","rootNodeFlags","bindingCount","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","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","comp","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","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","fullName","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","ɵɵngDeclareDirective","compileDirectiveDeclaration","ɵɵngDeclareComponent","compileComponentDeclaration","ɵɵngDeclarePipe","compilePipeDeclaration","BuiltInControlValueAccessor","NG_VALUE_ACCESSOR","CHECKBOX_VALUE_ACCESSOR","CheckboxControlValueAccessor","onChange","onTouched","CheckboxControlValueAccessor_Factory","CheckboxControlValueAccessor_HostBindings","CheckboxControlValueAccessor_change_HostBindingHandler","$event","checked","CheckboxControlValueAccessor_blur_HostBindingHandler","DEFAULT_VALUE_ACCESSOR","DefaultValueAccessor","_isAndroid","getUserAgent","COMPOSITION_BUFFER_MODE","_compositionMode","_composing","DefaultValueAccessor_Factory","DefaultValueAccessor_HostBindings","DefaultValueAccessor_input_HostBindingHandler","_handleInput","DefaultValueAccessor_blur_HostBindingHandler","DefaultValueAccessor_compositionstart_HostBindingHandler","_compositionStart","DefaultValueAccessor_compositionend_HostBindingHandler","_compositionEnd","Boolean","isEmptyInputValue","hasValidLength","NG_VALIDATORS","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","Validators","minValidator","maxValidator","requiredValidator","requiredTrueValidator","emailValidator","minLength","minLengthValidator","maxLength","maxLengthValidator","patternValidator","nullValidator","validators","compose","composeAsync","regexStr","isPresent","toObservable","obs","mergeErrors","arrayOfErrors","executeValidators","validator","isValidatorFn","validate","normalizeValidators","presentValidators","composeValidators","composeAsyncValidators","mergeValidators","controlValidators","dirValidator","getControlValidators","_rawValidators","getControlAsyncValidators","_rawAsyncValidators","AbstractControlDirective","_onDestroyCallbacks","pristine","touched","untouched","statusChanges","valueChanges","_composedValidatorFn","_composedAsyncValidatorFn","errorCode","getError","AbstractControlDirective_Factory","ControlContainer","ControlContainer_Factory","ɵControlContainer_BaseFactory","NgControl","valueAccessor","AbstractControlStatus","cd","_cd","ngControlStatusHost","NgControlStatus","NgControlStatus_Factory","NgControlStatus_HostBindings","NgControlStatusGroup","NgControlStatusGroup_Factory","NgControlStatusGroup_HostBindings","FormErrorExamples","formControlName","formGroupName","formArrayName","ngModelGroup","ngModelWithFormGroup","ReactiveErrors","controlPath","setUpControl","setUpValidators","writeValue","setUpViewChangePipeline","setUpModelChangePipeline","setUpBlurPipeline","setUpDisabledChangeHandler","cleanUpControl","validateControlPresenceOnChange","_noControlError","registerOnChange","registerOnTouched","cleanUpValidators","_invokeOnDestroyCallbacks","_registerOnCollectionChange","registerOnValidatorChange","setDisabledState","onDisabledChange","registerOnDisabledChange","_registerOnDestroy","_unregisterOnDisabledChange","handleOnValidatorChange","setValidators","asyncValidators","asyncValidator","setAsyncValidators","onValidatorChange","updateValueAndValidity","isControlUpdated","updatedValidators","updatedAsyncValidators","_pendingValue","_pendingChange","_pendingDirty","updateOn","updateControl","_pendingTouched","markAsTouched","markAsDirty","emitModelToViewChange","viewToModelUpdate","emitModelEvent","_unregisterOnChange","setUpFormContainer","cleanUpFormContainer","messageEnd","isPropertyUpdated","viewModel","isFirstChange","isBuiltInAccessor","syncPendingControls","_syncPendingControls","selectValueAccessor","valueAccessors","defaultAccessor","builtinAccessor","customAccessor","removeListItem","_ngModelWarning","warningConfig","_ngModelWarningSentOnce","_ngModelWarningSent","ngModelWarning","VALID","INVALID","PENDING","DISABLED","_find","delimiter","controlToFind","FormGroup","controls","FormArray","at","pickValidators","validatorOrOpts","isOptionsObj","coerceToValidator","pickAsyncValidators","coerceToAsyncValidator","AbstractControl","_hasOwnPendingAsyncValidator","_onCollectionChange","_onDisabledChange","validatorFn","asyncValidatorFn","_updateOn","newValidator","onlySelf","_forEachChild","markAllAsTouched","markAsUntouched","_updateTouched","markAsPristine","_updatePristine","emitEvent","markAsPending","skipPristineCheck","_parentMarkedDirty","_updateValue","_updateAncestors","changeFn","_setInitialStatus","_cancelExistingSubscription","_runValidator","_calculateStatus","_runAsyncValidator","ctrl","_updateTreeValidity","_allControlsDisabled","_asyncValidationSubscription","setErrors","_updateControlsErrors","_anyControlsHaveStatus","_anyControls","_anyControlsDirty","_anyControlsTouched","formState","parentDirty","FormControl","_onChange","_applyFormState","_setUpdateStrategy","_initObservables","emitViewToModelChange","_isBoxedValue","_setUpControls","setParent","registerControl","controlName","_checkAllValuesPresent","_throwIfControlMissing","patchValue","_reduceChildren","getRawValue","subtreeUpdated","updated","_reduceValue","initValue","_registerControl","formDirectiveProvider","NgForm","submitted","_directives","ngSubmit","_findContainer","removeControl","resetForm","NgForm_Factory","NgForm_HostBindings","NgForm_submit_HostBindingHandler","onSubmit","NgForm_reset_HostBindingHandler","onReset","AbstractFormGroupDirective","_checkParentType","formDirective","addFormGroup","removeFormGroup","getFormGroup","AbstractFormGroupDirective_Factory","ɵAbstractFormGroupDirective_BaseFactory","TemplateDrivenErrors","modelGroupProvider","NgModelGroup","_setValidators","_setAsyncValidators","modelGroupParentException","NgModelGroup_Factory","formControlBinding","NgModel","resolvedPromise$1","_registered","_checkForErrors","_setUpControl","_updateDisabled","model","_isStandalone","_setUpStandalone","addControl","standalone","_checkName","formGroupNameException","modelParentException","missingNameException","disabledValue","NgModel_Factory","ɵNgNoValidate","ɵNgNoValidate_Factory","NUMBER_VALUE_ACCESSOR","NumberValueAccessor","NumberValueAccessor_Factory","NumberValueAccessor_HostBindings","NumberValueAccessor_input_HostBindingHandler","NumberValueAccessor_blur_HostBindingHandler","RADIO_VALUE_ACCESSOR","RadioControlValueAccessor","throwNameError","RadioControlRegistryModule","RadioControlRegistryModule_Factory","RadioControlRegistry","_accessors","accessor","_isSameGroup","fireUncheck","controlPair","_control","RadioControlRegistry_Factory","_registry","_fn","RadioControlValueAccessor_Factory","RadioControlValueAccessor_HostBindings","RadioControlValueAccessor_change_HostBindingHandler","RadioControlValueAccessor_blur_HostBindingHandler","RANGE_VALUE_ACCESSOR","RangeValueAccessor","RangeValueAccessor_Factory","RangeValueAccessor_HostBindings","RangeValueAccessor_change_HostBindingHandler","RangeValueAccessor_input_HostBindingHandler","RangeValueAccessor_blur_HostBindingHandler","NG_MODEL_WITH_FORM_CONTROL_WARNING","formControlBinding$1","FormControlDirective","_ngModelWarningConfig","disabledAttrWarning","_isControlChanged","previousForm","FormControlDirective_Factory","formDirectiveProvider$1","FormGroupDirective","_updateDomValue","_checkFormPresent","_updateValidators","_updateRegistrations","_oldForm","_setUpFormContainer","_cleanUpFormContainer","oldCtrl","newCtrl","missingFormException","FormGroupDirective_Factory","FormGroupDirective_HostBindings","FormGroupDirective_submit_HostBindingHandler","FormGroupDirective_reset_HostBindingHandler","formGroupNameProvider","FormGroupName","_hasInvalidParent","groupParentException","FormGroupName_Factory","formArrayNameProvider","FormArrayName","addFormArray","removeFormArray","getFormArray","arrayParentException","FormArrayName_Factory","controlNameBinding","FormControlName","_added","updateModel","ngModelGroupException","controlParentException","FormControlName_Factory","SELECT_VALUE_ACCESSOR","SelectControlValueAccessor","_buildValueString","_extractId","valueString","_optionMap","_idCounter","_compareWith","_getOptionId","_getOptionValue","SelectControlValueAccessor_Factory","SelectControlValueAccessor_HostBindings","SelectControlValueAccessor_change_HostBindingHandler","SelectControlValueAccessor_blur_HostBindingHandler","compareWith","NgSelectOption","_select","_registerOption","_setElementValue","NgSelectOption_Factory","ngValue","SELECT_MULTIPLE_VALUE_ACCESSOR","SelectMultipleControlValueAccessor","_buildValueString$1","_extractId$1","HTMLCollection","optionSelectedStateSetter","opt","_setSelected","selectedOptions","SelectMultipleControlValueAccessor_Factory","SelectMultipleControlValueAccessor_HostBindings","SelectMultipleControlValueAccessor_change_HostBindingHandler","SelectMultipleControlValueAccessor_blur_HostBindingHandler","ɵNgSelectMultipleOption","ɵNgSelectMultipleOption_Factory","REQUIRED_VALIDATOR","RequiredValidator","CHECKBOX_REQUIRED_VALIDATOR","CheckboxRequiredValidator","_required","required","RequiredValidator_Factory","RequiredValidator_HostBindings","CheckboxRequiredValidator_Factory","ɵCheckboxRequiredValidator_BaseFactory","CheckboxRequiredValidator_HostBindings","EMAIL_VALIDATOR","EmailValidator","EmailValidator_Factory","email","MIN_LENGTH_VALIDATOR","MinLengthValidator","_validator","_createValidator","minlength","MinLengthValidator_Factory","MinLengthValidator_HostBindings","MAX_LENGTH_VALIDATOR","MaxLengthValidator","maxlength","MaxLengthValidator_Factory","MaxLengthValidator_HostBindings","PATTERN_VALIDATOR","PatternValidator","PatternValidator_Factory","PatternValidator_HostBindings","SHARED_FORM_DIRECTIVES","TEMPLATE_DRIVEN_DIRECTIVES","REACTIVE_DRIVEN_DIRECTIVES","ɵInternalFormsSharedModule","ɵInternalFormsSharedModule_Factory","FormsModule","FormsModule_Factory","ReactiveFormsModule","warnOnNgModelWithFormControl","ReactiveFormsModule_Factory","isAbstractControlOptions","FormBuilder","controlsConfig","_reduceControls","_createControl","controlConfig","FormBuilder_Factory","MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS","MAT_BUTTON_TOGGLE_GROUP","MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR","MatButtonToggleGroup","uniqueIdCounter","MatButtonToggleChange","_changeDetector","_controlValueAccessorChangeFn","_onTouched","valueChange","appearance","_buttonToggles","toggle","_markForCheck","_selectionModel","multiple","_setSelectionByValue","isUserInput","deferEvents","_updateModelValue","_rawValue","_clearSelection","_selectValue","correspondingOption","MatButtonToggleGroup_Factory","MatButtonToggleGroup_ContentQueries","MatButtonToggle","MatButtonToggleGroup_HostBindings","vertical","MatButtonToggleBase","_MatButtonToggleMixinBase","toggleGroup","defaultTabIndex","_isSingleSelector","_checked","parsedTabIndex","buttonToggleGroup","_appearance","_isSelected","_syncButtonToggle","_isPrechecked","_buttonElement","newChecked","MatButtonToggle_Factory","MatButtonToggle_Query","MatButtonToggle_HostBindings","MatButtonToggle_focus_HostBindingHandler","disableRipple","MatButtonToggle_Template","MatButtonToggle_Template_button_click_0_listener","_onButtonClick","_r0","buttonId","MatButtonToggleModule","MatButtonToggleModule_Factory","_c2","DEFAULT_ROUND_BUTTON_COLOR","BUTTON_HOST_ATTRIBUTES","MatButtonBase","_MatButtonMixinBase","MatButton","_animationMode","isRoundButton","_hasHostAttributes","isIconButton","_getHostElement","color","focusVia","attribute","MatButton_Factory","MatButton_Query","ripple","MatButton_HostBindings","MatButton_Template","_isRippleDisabled","MatAnchor","focusMonitor","animationMode","stopImmediatePropagation","MatAnchor_Factory","MatAnchor_HostBindings","MatAnchor_click_HostBindingHandler","_haltDisabledEvents","MatAnchor_Template","MatButtonModule","MatButtonModule_Factory","_c3","_c4","_c5","MatCardContent","MatCardContent_Factory","MatCardTitle","MatCardTitle_Factory","MatCardSubtitle","MatCardSubtitle_Factory","MatCardActions","align","MatCardActions_Factory","MatCardActions_HostBindings","MatCardFooter","MatCardFooter_Factory","MatCardImage","MatCardImage_Factory","MatCardSmImage","MatCardSmImage_Factory","MatCardMdImage","MatCardMdImage_Factory","MatCardLgImage","MatCardLgImage_Factory","MatCardXlImage","MatCardXlImage_Factory","MatCardAvatar","MatCardAvatar_Factory","MatCard","MatCard_Factory","MatCard_HostBindings","MatCard_Template","MatCardHeader","MatCardHeader_Factory","MatCardHeader_Template","MatCardTitleGroup","MatCardTitleGroup_Factory","MatCardTitleGroup_Template","MatCardModule","MatCardModule_Factory","enterDuration","MAT_CHECKBOX_DEFAULT_OPTIONS","MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY","clickAction","defaults","MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR","MatCheckbox","MatCheckboxChange","MatCheckboxBase","_MatCheckboxMixinBase","_uniqueId","labelPosition","indeterminateChange","_currentAnimationClass","_currentCheckState","_indeterminate","defaultColor","focusOrigin","_syncIndeterminate","_transitionCheckState","indeterminate","newState","oldState","_getAnimationClassForCheckStateTransition","animationClass","_inputElement","animSuffix","nativeCheckbox","MatCheckbox_Factory","MatCheckbox_Query","MatCheckbox_HostBindings","ariaDescribedby","MatCheckbox_Template","MatCheckbox_Template_input_change_3_listener","_onInteractionEvent","MatCheckbox_Template_input_click_3_listener","_onInputClick","MatCheckbox_Template_span_cdkObserveContent_12_listener","_onLabelTextChange","_r2","inputId","_getAriaChecked","MAT_CHECKBOX_REQUIRED_VALIDATOR","MatCheckboxRequiredValidator","MatCheckboxRequiredValidator_Factory","ɵMatCheckboxRequiredValidator_BaseFactory","_MatCheckboxRequiredValidatorModule","_MatCheckboxRequiredValidatorModule_Factory","MatCheckboxModule","MatCheckboxModule_Factory","MatOption_mat_pseudo_checkbox_0_Template","MatOption_span_3_Template","AnimationCurves","STANDARD_CURVE","DECELERATION_CURVE","ACCELERATION_CURVE","SHARP_CURVE","AnimationDurations","COMPLEX","ENTERING","EXITING","VERSION$1","MATERIAL_SANITY_CHECKS_FACTORY","MATERIAL_SANITY_CHECKS","MatCommonModule","sanityChecks","_hasDoneGlobalChecks","_sanityChecks","_checkDoctypeIsDefined","_checkThemeIsPresent","_checkCdkVersionMatch","win","_isTestEnv","_checksAreEnabled","doctype","theme","version","MatCommonModule_Factory","mixinDisabled","mixinColor","_color","colorPalette","mixinDisableRipple","Mixin","_disableRipple","mixinTabIndex","_tabIndex","mixinErrorState","errorState","stateChanges","_parentFormGroup","_parentForm","matcher","errorStateMatcher","_defaultErrorStateMatcher","ngControl","isErrorState","mixinInitialized","_pendingSubscribers","subscriber","_notifySubscriber","MAT_DATE_LOCALE","MAT_DATE_LOCALE_FACTORY","DateAdapter","_localeChanges","localeChanges","isDateInstance","isValid","second","getYear","firstValid","secondValid","compareDate","MAT_DATE_FORMATS","SUPPORTS_INTL_API","DEFAULT_MONTH_NAMES","DEFAULT_DATE_NAMES","DEFAULT_DAY_OF_WEEK_NAMES","ISO_8601_REGEX","valueFunction","valuesArray","NativeDateAdapter","matDateLocale","useUtcForDisplay","_clampDate","dtf","timeZone","_stripDirectionalityCharacters","_format","day","weekday","_createDateWithOverflow","displayFormat","toDateString","years","addCalendarMonths","getUTCFullYear","_2digit","getUTCMonth","getUTCDate","NaN","NativeDateAdapter_Factory","MAT_NATIVE_DATE_FORMATS","dateInput","monthYearLabel","dateA11yLabel","monthYearA11yLabel","NativeDateModule","NativeDateModule_Factory","MatNativeDateModule","MatNativeDateModule_Factory","ShowOnDirtyErrorStateMatcher","ShowOnDirtyErrorStateMatcher_Factory","ErrorStateMatcher","ErrorStateMatcher_Factory","MatLine","MatLine_Factory","setLines","setClass","MatLineModule","MatLineModule_Factory","RippleRef","fadeOutRipple","defaultRippleAnimationConfig","exitDuration","ignoreMouseEventsTimeout","passiveEventOptions","pointerDownEvents","pointerUpEvents","RippleRenderer","_target","_isPointerDown","_activeRipples","_pointerUpEventsRegistered","containerRect","_containerRect","animationConfig","centered","radius","distanceToFurthestCorner","transitionDuration","enforceStyleRecalculation","rippleRef","persistent","_mostRecentTransientRipple","_runTimeoutOutsideZone","isMostRecentTransientRipple","fadeOut","wasActive","rippleEl","_triggerElement","_removeTriggerEvents","_registerEvents","_onMousedown","_onTouchStart","_onPointerUp","isFakeMousedown","_lastTouchStartEvent","rippleDisabled","fadeInRipple","clientX","clientY","rippleConfig","terminateOnPointerUp","eventTypes","distX","distY","sqrt","MAT_RIPPLE_GLOBAL_OPTIONS","MatRipple","globalOptions","_globalOptions","_rippleRenderer","fadeOutAllNonPersistent","_setupTriggerEventsIfEnabled","_trigger","fadeOutAll","setupTriggerEvents","configOrX","MatRipple_Factory","MatRipple_HostBindings","unbounded","MatRippleModule","MatRippleModule_Factory","MatPseudoCheckbox","MatPseudoCheckbox_Factory","MatPseudoCheckbox_HostBindings","MatPseudoCheckbox_Template","MatPseudoCheckboxModule","MatPseudoCheckboxModule_Factory","MAT_OPTION_PARENT_COMPONENT","MatOptgroupBase","_MatOptgroupMixinBase","_uniqueOptgroupIdCounter","_MatOptgroupBase","_labelId","_inert","inertGroups","_MatOptgroupBase_Factory","MAT_OPTGROUP","MatOptgroup","MatOptgroup_Factory","ɵMatOptgroup_BaseFactory","MatOptgroup_HostBindings","MatOptgroup_Template","MatOptionSelectionChange","_MatOptionBase","_active","_mostRecentViewValue","onSelectionChange","_emitSelectionChangeEvent","viewValue","_selectViaInteraction","_MatOptionBase_Factory","MatOption","MatOption_Factory","MatOption_HostBindings","MatOption_click_HostBindingHandler","MatOption_keydown_HostBindingHandler","_handleKeydown","_getTabIndex","_getAriaSelected","active","MatOption_Template","_countGroupLabelsBeforeOption","optionIndex","optionGroups","optionsArray","groupCounter","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","MatOptionModule","MatOptionModule_Factory","MatCalendarBody_tr_0_Template","_cellPadding","numCols","MatCalendarBody_tr_1_td_1_Template","ctx_r4","_firstRowOffset","labelMinRequiredCells","MatCalendarBody_tr_1_td_2_Template","_r9","MatCalendarBody_tr_1_td_2_Template_td_click_0_listener","item_r6","ctx_r8","_cellClicked","colIndex_r7","rowIndex_r3","ctx_r5","_cellWidth","_isActiveCell","_isRangeStart","compareValue","_isRangeEnd","_isInRange","_isComparisonBridgeStart","_isComparisonBridgeEnd","_isComparisonStart","_isComparisonEnd","_isInComparisonRange","_isPreviewStart","_isPreviewEnd","_isInPreview","_isComparisonIdentical","todayValue","displayValue","MatCalendarBody_tr_1_Template","row_r2","MatMonthView_th_3_Template","day_r1","narrow","MatCalendar_ng_template_0_Template","MatCalendar_mat_month_view_2_Template","_r5","MatCalendar_mat_month_view_2_Template_mat_month_view_activeDateChange_0_listener","activeDate","MatCalendar_mat_month_view_2_Template_mat_month_view__userSelection_0_listener","ctx_r6","_dateSelected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","MatCalendar_mat_year_view_3_Template","_r8","MatCalendar_mat_year_view_3_Template_mat_year_view_activeDateChange_0_listener","ctx_r7","MatCalendar_mat_year_view_3_Template_mat_year_view_monthSelected_0_listener","ctx_r9","_monthSelectedInYearView","MatCalendar_mat_year_view_3_Template_mat_year_view_selectedChange_0_listener","ctx_r10","_goToDateInView","ctx_r2","MatCalendar_mat_multi_year_view_4_Template","_r12","MatCalendar_mat_multi_year_view_4_Template_mat_multi_year_view_activeDateChange_0_listener","ctx_r11","MatCalendar_mat_multi_year_view_4_Template_mat_multi_year_view_yearSelected_0_listener","ctx_r13","_yearSelectedInMultiYearView","MatCalendar_mat_multi_year_view_4_Template_mat_multi_year_view_selectedChange_0_listener","ctx_r14","ctx_r3","MatDatepickerContent_ng_template_2_Template","MatDatepickerToggle__svg_svg_2_Template","_c6","MatDatepickerActions_ng_template_0_Template","createMissingDateImplError","MatDatepickerIntl","calendarLabel","openCalendarLabel","closeCalendarLabel","prevMonthLabel","nextMonthLabel","prevYearLabel","nextYearLabel","prevMultiYearLabel","nextMultiYearLabel","switchToMonthViewLabel","switchToMultiYearViewLabel","MatDatepickerIntl_Factory","MatCalendarCell","MatCalendarBody","activeCell","isRange","cellAspectRatio","previewStart","previewEnd","selectedValueChange","previewChange","_enterHandler","_skipNextFocus","_getCellFromElement","_leaveHandler","isTableCell","startValue","endValue","columnChanges","colIndex","cellNumber","movePreview","isStart","isEnd","isInRange","previousCell","previousRow","nextCell","nextRow","col","MatCalendarBody_Factory","MatCalendarBody_Template","rangeEnabled","DateRange","MatDateSelectionModel","selection","_adapter","_selectionChanged","selectionChanged","MatDateSelectionModel_Factory","MatSingleDateSelectionModel","_isValidDateInstance","updateSelection","MatSingleDateSelectionModel_Factory","MatRangeDateSelectionModel","MatRangeDateSelectionModel_Factory","MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY","MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER","MAT_RANGE_DATE_SELECTION_MODEL_FACTORY","MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER","MAT_DATE_RANGE_SELECTION_STRATEGY","DefaultMatCalendarRangeStrategy","_dateAdapter","currentRange","DefaultMatCalendarRangeStrategy_Factory","MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY","MAT_CALENDAR_RANGE_STRATEGY_PROVIDER","DAYS_PER_WEEK","MatMonthView","_dateFormats","_rangeStrategy","_rerenderSubscription","selectedChange","_userSelection","activeDateChange","_activeDate","oldActiveDate","validDate","getValidDateOrNull","deserialize","clampDate","_hasSameMonthAndYear","_setRanges","_minDate","_maxDate","comparisonChange","selectedYear","selectedMonth","selectedDate","rangeStartDate","rangeEndDate","_getDateInCurrentMonth","_previewStart","_previewEnd","addCalendarDays","getNumDaysInMonth","addCalendarYears","_focusActiveCell","_todayDate","_getCellCompareValue","_monthLabel","monthLabel","getMonthNames","firstOfMonth","_firstWeekOffset","getDayOfWeek","getFirstDayOfWeek","_initWeekdays","_createWeekCells","_matCalendarBody","previewRange","createPreview","firstDayOfWeek","narrowWeekdays","getDayOfWeekNames","longWeekdays","weekdays","long","_weekdays","daysInMonth","dateNames","getDateNames","_weeks","_shouldEnableDate","cellClasses","d2","selectedValue","_rangeStart","_rangeEnd","_isRange","_comparisonRangeStart","_comparisonRangeEnd","MatMonthView_Factory","MatMonthView_Query","MatMonthView_Template","MatMonthView_Template_tbody_selectedValueChange_6_listener","MatMonthView_Template_tbody_previewChange_6_listener","_previewChanged","MatMonthView_Template_tbody_keydown_6_listener","_handleCalendarBodyKeydown","yearsPerPage","yearsPerRow","MatMultiYearView","yearSelected","isSameMultiYearView","_setSelectedYear","_todayYear","activeYear","minYearOfPage","getActiveOffset","_years","_createCellForYear","_yearSelected","yearName","getYearName","_shouldEnableYear","firstOfYear","_selectedYear","MatMultiYearView_Factory","MatMultiYearView_Query","MatMultiYearView_Template","MatMultiYearView_Template_tbody_selectedValueChange_4_listener","MatMultiYearView_Template_tbody_keydown_4_listener","_getActiveCell","dateAdapter","date1","date2","year1","year2","startingYear","getStartingYear","euclideanModulo","maxYear","MatYearView","monthSelected","_setSelectedMonth","normalizedDate","_monthSelected","_todayMonth","_getMonthInCurrentYear","_yearLabel","monthNames","_months","_createCellForMonth","monthName","_shouldEnableMonth","_isYearAndMonthAfterMaxDate","_isYearAndMonthBeforeMinDate","maxMonth","minYear","minMonth","_selectedMonth","MatYearView_Factory","MatYearView_Query","MatYearView_Template","MatYearView_Template_tbody_selectedValueChange_4_listener","MatYearView_Template_tbody_keydown_4_listener","uniqueId","MatCalendarHeader","_intl","calendar","_buttonDescriptionId","maxYearOfPage","minYearName","maxYearName","formatYearRange","_isSameView","MatCalendarHeader_Factory","MatCalendar","MatCalendarHeader_Template","MatCalendarHeader_Template_button_click_2_listener","currentPeriodClicked","MatCalendarHeader_Template_button_click_8_listener","previousClicked","MatCalendarHeader_Template_button_click_9_listener","nextClicked","periodButtonLabel","periodButtonText","previousEnabled","prevButtonLabel","nextEnabled","nextButtonLabel","_moveFocusOnNextTick","viewChanged","_intlChanges","_startAt","_clampedActiveDate","viewChangedResult","_calendarHeaderPortal","headerComponent","startAt","focusActiveCell","_getCurrentViewComponent","monthView","yearView","multiYearView","sameDate","normalizedYear","normalizedMonth","MatCalendar_Factory","MatCalendar_Query","MatCalendar_Template","matDatepickerAnimations","transformPanel","fadeInCalendar","datepickerUid","MAT_DATEPICKER_SCROLL_STRATEGY","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER","MatDatepickerContentBase","_MatDatepickerContentMixinBase","MatDatepickerContent","_globalModel","_rangeSelectionStrategy","intl","_subscriptions","_animationState","_animationDone","_actionsPortal","_closeButtonText","_model","datepicker","_calendar","newSelection","selectionFinished","isComplete","MatDatepickerContent_Factory","MatDatepickerContent_Query","MatDatepickerContent_HostBindings","MatDatepickerContent_animation_transformPanel_done_HostBindingHandler","touchUi","MatDatepickerContent_Template","MatDatepickerContent_Template_mat_calendar_yearSelected_1_listener","_selectYear","MatDatepickerContent_Template_mat_calendar_monthSelected_1_listener","_selectMonth","MatDatepickerContent_Template_mat_calendar_viewChanged_1_listener","_viewChanged","MatDatepickerContent_Template_mat_calendar__userSelection_1_listener","_handleUserSelection","MatDatepickerContent_Template_button_focus_3_listener","_closeButtonFocused","MatDatepickerContent_Template_button_blur_3_listener","MatDatepickerContent_Template_button_click_3_listener","_getMinDate","_getMaxDate","_getDateFilter","calendarHeaderComponent","_getSelected","MatDatepickerBase","_dialog","_inputStateChanges","_touchUi","xPosition","yPosition","_restoreFocus","openedStream","closedStream","_opened","_focusedElementBeforeOpen","_backdropHarnessClass","datepickerInput","getStartValue","getThemePalette","_panelClass","_popupRef","_setConnectedPositions","_destroyPopup","_openAsDialog","_openAsPopup","_popupComponentRef","_startExitAnimation","_dialogRef","completeClose","_applyPendingSelection","autoFocus","restoreFocus","afterClosed","_forwardContentValues","_createPopup","getConnectedOverlayOrigin","primaryX","secondaryX","primaryY","secondaryY","MatDatepickerBase_Factory","MatDatepicker","MatDatepicker_Factory","ɵMatDatepicker_BaseFactory","MatDatepicker_Template","MatDatepickerInputEvent","targetElement","MatDatepickerInputBase","dateChange","_validatorOnChange","_cvaOnChange","_valueChangesSubscription","_localeSubscription","_parseValidator","_lastValueValid","_filterValidator","controlValue","_matchesFilter","_minValidator","_maxValidator","_assignValueProgrammatically","_getValueFromModel","_parentDisabled","blur","_assignValue","_shouldHandleChangeEvent","_isValidValue","_formatValue","dateInputsHaveChanged","isAltDownArrow","readOnly","_openPopup","lastValueWasValid","_assignValueToModel","MatDatepickerInputBase_Factory","MAT_DATEPICKER_VALUE_ACCESSOR","MatDatepickerInput","MAT_DATEPICKER_VALIDATORS","dateFormats","_formField","_closedSubscription","_datepicker","_registerModel","registerInput","_min","validValue","_max","_dateFilter","wasMatchingValue","modelValue","MatDatepickerInput_Factory","MatDatepickerInput_HostBindings","MatDatepickerInput_input_HostBindingHandler","_onInput","MatDatepickerInput_change_HostBindingHandler","MatDatepickerInput_blur_HostBindingHandler","MatDatepickerInput_keydown_HostBindingHandler","_onKeydown","toIso8601","matDatepicker","MatDatepickerToggleIcon","MatDatepickerToggleIcon_Factory","MatDatepickerToggle","_watchStateChanges","datepickerStateChanged","inputStateChanged","datepickerToggled","MatDatepickerToggle_Factory","MatDatepickerToggle_ContentQueries","_customIcon","MatDatepickerToggle_Query","_button","MatDatepickerToggle_HostBindings","MatDatepickerToggle_click_HostBindingHandler","_open","MatDatepickerToggle_Template","MAT_DATE_RANGE_INPUT_PARENT","MatDateRangeInputPartBase","_rangeInput","updateErrorState","_handleChildValueChange","_openDatepicker","_groupDisabled","_startInput","_endInput","opposite","MatDateRangeInputPartBase_Factory","_MatDateRangeInputBase","MatStartDate","rangeInput","defaultErrorStateMatcher","parentForm","parentFormGroup","_startValidator","MatStartDate_Factory","MatStartDate_HostBindings","MatStartDate_input_HostBindingHandler","MatStartDate_change_HostBindingHandler","MatStartDate_keydown_HostBindingHandler","MatStartDate_blur_HostBindingHandler","rangePicker","MatEndDate","_endValidator","MatEndDate_Factory","MatEndDate_HostBindings","MatEndDate_input_HostBindingHandler","MatEndDate_change_HostBindingHandler","MatEndDate_keydown_HostBindingHandler","MatEndDate_blur_HostBindingHandler","MatDateRangeInput","focused","controlType","_ariaDescribedBy","empty","_getPlaceholder","_rangePicker","wasMatchingStart","wasMatchingEnd","_revalidate","startEmpty","endEmpty","getMirrorValue","getLabelId","_shouldLabelFloat","formField","_hasFloatingLabel","MatDateRangeInput_Factory","MatDateRangeInput_ContentQueries","MatDateRangeInput_HostBindings","_getAriaLabelledby","_shouldHidePlaceholders","MatDateRangeInput_Template","MatDateRangeInput_Template_div_cdkFocusChange_0_listener","_updateFocus","_getInputMirrorValue","_shouldHideSeparator","MatDateRangePicker","MatDateRangePicker_Factory","ɵMatDateRangePicker_BaseFactory","MatDateRangePicker_Template","MatDatepickerApply","MatDatepickerApply_Factory","MatDatepickerApply_HostBindings","MatDatepickerApply_click_HostBindingHandler","_applySelection","MatDatepickerCancel","MatDatepickerCancel_Factory","MatDatepickerCancel_HostBindings","MatDatepickerCancel_click_HostBindingHandler","MatDatepickerActions","_portal","registerActions","removeActions","MatDatepickerActions_Factory","MatDatepickerActions_Query","MatDatepickerActions_Template","MatDatepickerModule","MatDatepickerModule_Factory","MatDialogContainer_ng_template_0_Template","MatDialogConfig","ariaDescribedBy","ariaLabelledBy","closeOnNavigation","matDialogAnimations","dialogContainer","throwMatDialogContentAlreadyAttachedError","_MatDialogContainerBase","_animationStateChanged","_elementFocusedBeforeDialogWasOpened","_closeInteractionType","_ariaLabelledBy","_setupFocusTrap","_capturePreviouslyFocusedElement","_focusDialogContainer","focusContainer","_focusTrap","_getActiveElement","_MatDialogContainerBase_Factory","_MatDialogContainerBase_Query","MatDialogContainer","MatDialogContainer_Factory","ɵMatDialogContainer_BaseFactory","MatDialogContainer_HostBindings","MatDialogContainer_animation_dialogContainer_start_HostBindingHandler","_onAnimationStart","MatDialogContainer_animation_dialogContainer_done_HostBindingHandler","_onAnimationDone","_id","MatDialogContainer_Template","MatDialogRef","_containerInstance","_afterOpened","_afterClosed","_beforeClosed","_closeFallbackTimeout","_finishDialogClose","_result","_closeDialogVia","_recaptureFocus","dialogResult","_getPositionStrategy","centerHorizontally","centerVertically","addPanelClass","removePanelClass","interactionType","MAT_DIALOG_DATA","MAT_DIALOG_DEFAULT_OPTIONS","MAT_DIALOG_SCROLL_STRATEGY","MAT_DIALOG_SCROLL_STRATEGY_FACTORY","MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY","MAT_DIALOG_SCROLL_STRATEGY_PROVIDER","_MatDialogBase","_parentDialog","_dialogRefConstructor","_dialogContainerType","_dialogDataToken","_openDialogsAtThisLevel","_afterAllClosedAtThisLevel","_afterOpenedAtThisLevel","_ariaHiddenElements","afterAllClosed","openDialogs","_getAfterAllClosed","afterOpened","componentOrTemplateRef","_applyConfigDefaults","getDialogById","_attachDialogContainer","dialogRef","_attachDialogContent","_hideNonDialogContentFromAssistiveTechnology","_removeOpenDialog","_initializeWithAttachedContent","_closeDialogs","dialog","_getOverlayConfig","dialogConfig","userInjector","containerPortal","containerRef","_createInjector","contentRef","dialogs","_MatDialogBase_Factory","MatDialog","parentDialog","MatDialog_Factory","dialogElementUid","MatDialogClose","getClosestDialog","proxiedChange","screenX","screenY","MatDialogClose_Factory","MatDialogClose_HostBindings","MatDialogClose_click_HostBindingHandler","_matDialogClose","MatDialogTitle","MatDialogTitle_Factory","MatDialogTitle_HostBindings","MatDialogContent","MatDialogContent_Factory","MatDialogActions","MatDialogActions_Factory","MatDialogModule","MatDialogModule_Factory","MatDivider","_inset","MatDivider_Factory","MatDivider_HostBindings","inset","MatDivider_Template","MatDividerModule","MatDividerModule_Factory","MatExpansionPanel_ng_template_5_Template","MatExpansionPanelHeader_span_4_Template","_getExpandedState","MAT_ACCORDION","EXPANSION_PANEL_ANIMATION_TIMING","matExpansionAnimations","indicatorRotate","bodyExpansion","MatExpansionPanelContent","MatExpansionPanelContent_Factory","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","MatExpansionPanel","_uniqueSelectionDispatcher","_hideToggle","afterExpand","afterCollapse","_inputChanges","_headerId","_bodyAnimationDone","hideToggle","_togglePosition","togglePosition","displayMode","_lazyContent","_body","bodyElement","MatExpansionPanel_Factory","MatExpansionPanel_ContentQueries","MatExpansionPanel_Query","MatExpansionPanel_HostBindings","_hasSpacing","MatExpansionPanel_Template","MatExpansionPanel_Template_div_animation_bodyExpansion_done_1_listener","MatExpansionPanelActionRow","MatExpansionPanelActionRow_Factory","MatExpansionPanelHeader","panel","_parentChangeSubscription","accordionHideToggleChange","expandedHeight","collapsedHeight","isExpanded","_isExpanded","_toggle","_handleHeaderKeydown","_handleHeaderFocus","MatExpansionPanelHeader_Factory","MatExpansionPanelHeader_HostBindings","MatExpansionPanelHeader_click_HostBindingHandler","MatExpansionPanelHeader_keydown_HostBindingHandler","_keydown","_getPanelId","_getHeaderHeight","_getTogglePosition","MatExpansionPanelHeader_Template","_showToggle","MatExpansionPanelDescription","MatExpansionPanelDescription_Factory","MatExpansionPanelTitle","MatExpansionPanelTitle_Factory","MatAccordion","_ownHeaders","show","_headers","header","MatAccordion_Factory","ɵMatAccordion_BaseFactory","MatAccordion_ContentQueries","MatAccordion_HostBindings","MatExpansionModule","MatExpansionModule_Factory","MatFormField_ng_container_3_Template","MatFormField_div_4_Template","MatFormField_label_9_ng_container_2_Template","MatFormField_label_9_ng_content_3_Template","MatFormField_label_9_span_4_Template","MatFormField_label_9_Template","_r14","MatFormField_label_9_Template_label_cdkObserveContent_0_listener","updateOutlineGap","_shouldAlwaysFloat","_hasLabel","hideRequiredMarker","MatFormField_div_10_Template","MatFormField_div_11_Template","MatFormField_div_13_Template","_subscriptAnimationState","MatFormField_div_14_div_1_Template","ctx_r16","_hintLabelId","hintLabel","MatFormField_div_14_Template","MAT_ERROR","MatError","MatError_Factory","MatError_HostBindings","matFormFieldAnimations","transitionMessages","MatFormFieldControl","MatFormFieldControl_Factory","getMatFormFieldPlaceholderConflictError","getMatFormFieldDuplicatedHintError","getMatFormFieldMissingControlError","nextUniqueId$1","_MAT_HINT","MatHint","MatHint_Factory","MatHint_HostBindings","MatLabel","MatLabel_Factory","MatPlaceholder","MatPlaceholder_Factory","MAT_PREFIX","MatPrefix","MatPrefix_Factory","MAT_SUFFIX","MatSuffix","MatSuffix_Factory","nextUniqueId$2","floatingLabelScale","outlineGapPadding","MatFormFieldBase","_MatFormFieldMixinBase","MAT_FORM_FIELD_DEFAULT_OPTIONS","MAT_FORM_FIELD","MatFormField","_labelOptions","_defaults","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_showAlwaysAnimate","_hintLabel","floatLabel","_getDefaultFloatLabelState","_animationsEnabled","_hideRequiredMarker","_processHints","_floatLabel","_explicitFormFieldControl","_controlNonStatic","_controlStatic","_connectionContainerRef","_validateControlChild","_validatePlaceholders","_syncDescribedByIds","_prefixChildren","_suffixChildren","_hintChildren","_errorChildren","_placeholderChild","_labelChildNonStatic","_labelChildStatic","_canLabelFloat","shouldLabelFloat","_hasPlaceholder","_label","_validateHints","startHint","endHint","hint","userAriaDescribedBy","_getDisplayedMessages","setDescribedByIds","labelEl","_isAttachedToDOM","startWidth","gapWidth","startEls","gapEls","containerStart","_getStartEnd","labelChildren","labelStart","labelWidth","MatFormField_Factory","MatFormField_ContentQueries","MatFormField_Query","underlineRef","_inputContainerRef","MatFormField_HostBindings","_hideControlPlaceholder","autofilled","_shouldForward","MatFormField_Template","MatFormField_Template_div_click_1_listener","onContainerClick","MatFormFieldModule","MatFormFieldModule_Factory","TileCoordinator","columnIndex","lastRowMax","tracker","rowCount","numColumns","tiles","tile","_trackTile","gapStartIndex","_findMatchingGap","colspan","_markTilePosition","TilePosition","tileCols","gapEndIndex","_nextRow","_findGapEndIndex","rowspan","MAT_GRID_LIST","MatGridTile","_gridList","_rowspan","_colspan","MatGridTile_Factory","MatGridTile_HostBindings","MatGridTile_Template","MatGridTileText","_lines","MatGridTileText_Factory","MatGridTileText_ContentQueries","MatGridTileText_Template","MatGridAvatarCssMatStyler","MatGridAvatarCssMatStyler_Factory","MatGridTileHeaderCssMatStyler","MatGridTileHeaderCssMatStyler_Factory","MatGridTileFooterCssMatStyler","MatGridTileFooterCssMatStyler_Factory","cssCalcAllowedValue","TileStyler","_rows","gutterSize","cols","_gutterSize","normalizeUnits","_cols","sizePercent","gutterFraction","baseSize","calc","span","percentWidthPerTile","gutterWidthFractionPerTile","setColStyles","setRowStyles","percentWidth","gutterWidth","baseTileWidth","getBaseTileSize","side","getTilePosition","getTileSize","tileHeight","FixedTileStyler","fixedRowHeight","getTileSpan","getGutterSpan","_setListStyle","_tiles","RatioTileStyler","_parseRatio","percentHeightPerTile","rowHeightRatio","baseTileHeight","ratioParts","FitTileStyler","gutterHeightPerTile","MAT_FIT_MODE","MatGridList","_gutter","_rowHeight","_setTileStyler","_checkCols","_checkRowHeight","_layoutTiles","rowHeight","_tileStyler","_tileCoordinator","getComputedHeight","MatGridList_Factory","MatGridList_ContentQueries","MatGridList_HostBindings","MatGridList_Template","MatGridListModule","MatGridListModule_Factory","ɵTileCoordinator","getMatIconNameNotFoundError","iconName","getMatIconNoHttpProviderError","getMatIconFailedToSanitizeUrlError","getMatIconFailedToSanitizeLiteralError","literal","SvgIconConfig","svgText","MatIconRegistry","_httpClient","_sanitizer","_errorHandler","_svgIconConfigs","_iconSetConfigs","_cachedIconsByUrl","_inProgressUrlFetches","_fontCssClassesByAlias","_resolvers","_defaultFontSetClass","addSvgIconInNamespace","addSvgIconLiteralInNamespace","_addSvgIconConfig","cleanLiteral","addSvgIconSetInNamespace","addSvgIconSetLiteralInNamespace","_addSvgIconSetConfig","safeUrl","cachedIcon","cloneSvg","_loadSvgIconFromConfig","svg","iconKey","_getSvgFromConfig","_getIconConfigFromResolvers","iconSetConfigs","_getSvgFromIconSetConfigs","_svgElementFromConfig","namedIcon","_extractIconWithNameFromAnySet","iconSetFetchRequests","iconSetConfig","_loadSvgIconSetFromConfig","foundIcon","_extractSvgIconFromSet","_fetchIcon","iconSet","iconSource","iconElement","_setSvgAttributes","_toSvgElement","_svgElementFromString","div","viewBox","iconConfig","inProgressFetch","configNamespace","svgElement","isSafeUrlWithOptions","MatIconRegistry_Factory","ICON_REGISTRY_PROVIDER_FACTORY","parentRegistry","httpClient","ICON_REGISTRY_PROVIDER","MatIconBase","_MatIconMixinBase","MAT_ICON_LOCATION","MAT_ICON_LOCATION_FACTORY","getPathname","funcIriAttributes","funcIriAttributeSelector","funcIriPattern","MatIcon","_iconRegistry","ariaHidden","_inline","_currentIconFetch","inline","_svgIcon","_updateSvgIcon","_clearSvgElement","_fontSet","_cleanupFontValue","_updateFontIconClasses","_fontIcon","cachedElements","_elementsWithExternalReferences","_previousPath","_prependPathToReferences","svgIcon","styleTags","_cacheChildrenWithExternalReferences","layoutElement","_usingFontIcon","fontSetClass","fontSet","classNameForFontAlias","getDefaultFontSetClass","_previousFontSetClass","fontIcon","_previousFontIconClass","elementsWithFuncIri","elementWithReference","rawName","_svgNamespace","_svgName","_splitIconName","getNamedSvgIcon","_setSvgElement","MatIcon_Factory","MatIcon_HostBindings","MatIcon_Template","MatIconModule","MatIconModule_Factory","MatTextareaAutosize","MatTextareaAutosize_Factory","ɵMatTextareaAutosize_BaseFactory","cdkAutosizeMinRows","cdkAutosizeMaxRows","matAutosizeMinRows","matAutosizeMaxRows","matAutosize","matTextareaAutosize","getMatInputUnsupportedTypeError","MAT_INPUT_VALUE_ACCESSOR","MAT_INPUT_INVALID_TYPES","MatInputBase","_MatInputMixinBase","MatInput","inputValueAccessor","_uid","_readonly","_neverEmptyInputTypes","_inputValueAccessor","_previousNativeValue","_isServer","_isNativeSelect","_isTextarea","_validateType","_dirtyCheckNativeValue","_dirtyCheckPlaceholder","isFocused","readonly","_previousPlaceholder","validity","badInput","_isNeverEmpty","_isBadInput","selectElement","firstOption","MatInput_Factory","MatInput_HostBindings","MatInput_focus_HostBindingHandler","_focusChanged","MatInput_blur_HostBindingHandler","MatInput_input_HostBindingHandler","MatInputModule","MatInputModule_Factory","MatListOption_mat_pseudo_checkbox_2_Template","MatListBase","_MatListMixinBase","MatListItemBase","_MatListItemMixinBase","MAT_LIST","MAT_NAV_LIST","MatNavList","MatNavList_Factory","ɵMatNavList_BaseFactory","MatNavList_Template","MatList","_getListType","MatList_Factory","MatList_Template","MatListAvatarCssMatStyler","MatListAvatarCssMatStyler_Factory","MatListIconCssMatStyler","MatListIconCssMatStyler_Factory","MatListSubheaderCssMatStyler","MatListSubheaderCssMatStyler_Factory","MatListItem","navList","_isInteractiveList","_list","MatListItem_Factory","MatListItem_ContentQueries","_avatar","_icon","MatListItem_HostBindings","MatListItem_Template","MatSelectionListBase","_MatSelectionListMixinBase","MatListOptionBase","_MatListOptionMixinBase","MAT_SELECTION_LIST_VALUE_ACCESSOR","MatSelectionList","MatSelectionListChange","option","MatListOption","selectionList","_hasFocus","checkboxPosition","_inputsInitialized","_reportValueChange","wasSelected","hadFocus","newActiveItem","_removeOptionFromList","_text","_setFocusedOption","MatListOption_Factory","MatListOption_ContentQueries","MatListOption_Query","MatListOption_HostBindings","MatListOption_focus_HostBindingHandler","_handleFocus","MatListOption_blur_HostBindingHandler","_handleBlur","MatListOption_click_HostBindingHandler","MatListOption_Template","_contentInitialized","_markOptionsForCheck","withTypeAhead","skipPredicate","withAllowedModifierKeys","_setOptionsFromValues","_allowFocusEscape","_updateTabIndex","activeIndex","disableRippleChanges","colorChanges","_isDestroyed","_setAllOptionsSelected","_getOptionIndex","previousFocusIndex","isTyping","_toggleFocusedOption","shouldSelect","_getSelectedOptionValues","focusedIndex","focusedOption","skipDisabled","changedOptions","MatSelectionList_Factory","MatSelectionList_ContentQueries","MatSelectionList_HostBindings","MatSelectionList_keydown_HostBindingHandler","MatSelectionList_Template","MatListModule","MatListModule_Factory","MatMenu_ng_template_0_Template","MatMenu_ng_template_0_Template_div_keydown_0_listener","MatMenu_ng_template_0_Template_div_click_0_listener","MatMenu_ng_template_0_Template_div_animation_transformMenu_start_0_listener","MatMenu_ng_template_0_Template_div_animation_transformMenu_done_0_listener","panelId","_classList","_panelAnimationState","matMenuAnimations","transformMenu","fadeInItems","MAT_MENU_CONTENT","MatMenuContent","_attached","_outlet","MatMenuContent_Factory","throwMatMenuMissingError","throwMatMenuInvalidPositionX","throwMatMenuInvalidPositionY","throwMatMenuRecursiveError","MAT_MENU_PANEL","MatMenuItemBase","_MatMenuItemMixinBase","MatMenuItem","_parentMenu","_hovered","_focused","_highlighted","_triggersSubmenu","icons","icon","MatMenuItem_Factory","MatMenuItem_HostBindings","MatMenuItem_click_HostBindingHandler","_checkDisabled","MatMenuItem_mouseenter_HostBindingHandler","_handleMouseEnter","MatMenuItem_Template","MAT_MENU_DEFAULT_OPTIONS","MAT_MENU_DEFAULT_OPTIONS_FACTORY","overlapTrigger","MAT_MENU_BASE_ELEVATION","menuPanelUid","_MatMenuBase","_xPosition","_yPosition","_directDescendantItems","_tabSubscription","overlayPanelClass","_overlapTrigger","setPositionClasses","previousPanelClass","_previousPanelClass","_updateDirectDescendants","focusedItem","itemChanges","_item","parentMenu","setFocusOrigin","lazyContent","_focusFirstItem","elevation","newElevation","customElevation","_previousElevation","posX","posY","_isAnimating","_allItems","_MatMenuBase_Factory","_MatMenuBase_ContentQueries","_MatMenuBase_Query","MatMenu","MatMenu_Factory","MatMenu_HostBindings","MatMenu_Template","MAT_MENU_SCROLL_STRATEGY","MAT_MENU_SCROLL_STRATEGY_FACTORY","MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER","MENU_PANEL_TOP_PADDING","MatMenuTrigger","_menuItemInstance","_menuOpen","_closingActionsSubscription","_hoverSubscription","_menuCloseSubscription","_handleTouchStart","_openedBy","menuOpened","onMenuOpen","menuClosed","onMenuClose","_parentMaterialMenu","triggersSubmenu","menu","_menu","reason","_destroyMenu","_checkMenu","_handleHover","closeMenu","openMenu","_setPosition","_getPortal","menuData","_menuClosingActions","_initMenu","_startAnimation","menuOpen","_resetAnimation","_setIsMenuOpen","_setMenuElevation","focusFirstItem","setElevation","isOpen","_subscribeToPositions","originFallbackX","overlayFallbackY","originFallbackY","overlayFallbackX","backdrop","parentClose","hover","toggleMenu","MatMenuTrigger_Factory","MatMenuTrigger_HostBindings","MatMenuTrigger_mousedown_HostBindingHandler","_handleMousedown","MatMenuTrigger_keydown_HostBindingHandler","MatMenuTrigger_click_HostBindingHandler","_deprecatedMatMenuTriggerFor","_MatMenuDirectivesModule","_MatMenuDirectivesModule_Factory","MatMenuModule","MatMenuModule_Factory","MatPaginator_div_2_mat_form_field_3_mat_option_2_Template","pageSizeOption_r6","MatPaginator_div_2_mat_form_field_3_Template","MatPaginator_div_2_mat_form_field_3_Template_mat_select_selectionChange_1_listener","_changePageSize","_formFieldAppearance","pageSize","itemsPerPageLabel","_displayedPageSizeOptions","MatPaginator_div_2_div_4_Template","MatPaginator_div_2_Template","MatPaginator_button_6_Template","_r10","MatPaginator_button_6_Template_button_click_0_listener","firstPage","firstPageLabel","_previousButtonsDisabled","MatPaginator_button_13_Template","MatPaginator_button_13_Template_button_click_0_listener","lastPage","lastPageLabel","_nextButtonsDisabled","MatPaginatorIntl","nextPageLabel","previousPageLabel","getRangeLabel","page","MatPaginatorIntl_Factory","MAT_PAGINATOR_INTL_PROVIDER_FACTORY","parentIntl","MAT_PAGINATOR_INTL_PROVIDER","DEFAULT_PAGE_SIZE","PageEvent","MAT_PAGINATOR_DEFAULT_OPTIONS","MatPaginatorMixinBase","_MatPaginatorMixinBase","_MatPaginatorBase","_pageIndex","_length","_pageSizeOptions","_hidePageSize","_showFirstLastButtons","pageSizeOptions","hidePageSize","showFirstLastButtons","_pageSize","_updateDisplayedPageSizeOptions","_markInitialized","hasNextPage","previousPageIndex","pageIndex","_emitPageEvent","hasPreviousPage","getNumberOfPages","maxPageIndex","_MatPaginatorBase_Factory","MatPaginator","formFieldAppearance","MatPaginator_Factory","MatPaginator_Template","MatPaginator_Template_button_click_7_listener","previousPage","MatPaginator_Template_button_click_10_listener","nextPage","MatPaginatorModule","MatPaginatorModule_Factory","MatProgressSpinner__svg_circle_1_Template","_spinnerAnimationLabel","_getStrokeDashOffset","_getStrokeCircumference","_getCircleStrokeWidth","_getCircleRadius","MatProgressSpinner__svg_circle_2_Template","MatSpinner__svg_circle_1_Template","MatSpinner__svg_circle_2_Template","BASE_SIZE","BASE_STROKE_WIDTH","MatProgressSpinnerBase","_MatProgressSpinnerMixinBase","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY","diameter","INDETERMINATE_ANIMATION_TEMPLATE","MatProgressSpinner","_diameter","_fallbackAnimation","trackedDiameters","_diameters","_getSpinnerAnimationLabel","_noopAnimations","_forceAnimations","strokeWidth","_styleRoot","_attachStyleNode","_strokeWidth","PI","styleRoot","currentDiameter","diameters","diametersForElement","styleTag","_getAnimationText","strokeCircumference","MatProgressSpinner_Factory","MatProgressSpinner_HostBindings","MatProgressSpinner_Template","_getViewBox","MatSpinner","MatSpinner_Factory","MatSpinner_HostBindings","MatSpinner_Template","MatProgressSpinnerModule","MatProgressSpinnerModule_Factory","MAT_RADIO_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS_FACTORY","MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR","MatRadioGroup","MatRadioChange","MAT_RADIO_GROUP","_MatRadioGroupBase","_labelPosition","_updateRadioButtonNames","_markRadiosForCheck","_updateSelectedRadioFromValue","_checkSelectedRadioButton","_radios","radio","isAlreadySelected","_MatRadioGroupBase_Factory","MatRadioGroup_Factory","ɵMatRadioGroup_BaseFactory","MatRadioGroup_ContentQueries","MatRadioButton","MatRadioButtonBase","_MatRadioButtonMixinBase","_MatRadioButtonBase","radioGroup","_radioDispatcher","_providerOverride","newCheckedState","_setDisabled","_touch","groupValueChanged","_MatRadioButtonBase_Factory","_MatRadioButtonBase_Query","changeDetector","radioDispatcher","providerOverride","MatRadioButton_Factory","MatRadioButton_HostBindings","MatRadioButton_focus_HostBindingHandler","MatRadioButton_Template","MatRadioButton_Template_input_change_5_listener","_onInputChange","MatRadioButton_Template_input_click_5_listener","MatRadioModule","MatRadioModule_Factory","MatSelect_span_4_Template","MatSelect_span_5_span_1_Template","triggerValue","MatSelect_span_5_ng_content_2_Template","MatSelect_span_5_Template","customTrigger","MatSelect_ng_template_8_Template","MatSelect_ng_template_8_Template_div_animation_transformPanel_done_1_listener","_panelDoneAnimatingStream","MatSelect_ng_template_8_Template_div_keydown_1_listener","_getPanelTheme","_transformOrigin","_triggerFontSize","_getPanelAriaLabelledby","matSelectAnimations","transformPanelWrap","getMatSelectDynamicMultipleError","getMatSelectNonArrayValueError","getMatSelectNonFunctionValueError","SELECT_PANEL_MAX_HEIGHT","SELECT_PANEL_PADDING_X","SELECT_PANEL_INDENT_PADDING_X","SELECT_ITEM_HEIGHT_EM","SELECT_MULTIPLE_PANEL_PADDING_X","SELECT_PANEL_VIEWPORT_PADDING","MAT_SELECT_SCROLL_STRATEGY","MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY","MAT_SELECT_CONFIG","MAT_SELECT_SCROLL_STRATEGY_PROVIDER","MatSelectChange","MatSelectBase","_MatSelectMixinBase","MAT_SELECT_TRIGGER","MatSelectTrigger","MatSelectTrigger_Factory","_MatSelectBase","_parentFormField","_panelOpen","o1","o2","_triggerAriaLabelledBy","_destroy","_valueId","_overlayPanelClass","_disableOptionCentering","disableOptionCentering","optionSelectionChanges","openedChange","_openedStream","_closedStream","typeaheadDebounceInterval","_typeaheadDebounceInterval","_initializeSelection","_panelDoneAnimating","panelOpen","_initKeyManager","_resetOptions","newAriaLabelledby","_getTriggerAriaLabelledby","_canOpen","_highlightCorrectOption","_handleOpenKeydown","_handleClosedKeydown","isArrowKey","isOpenKey","previouslySelectedOption","selectedOption","hasDeselectedOptions","previouslyFocusedIndex","overlayDir","_positioningSettled","_sortValues","_scrollOptionIntoView","changedOrDestroyed","_onSelect","_propagateChanges","sortComparator","valueToEmit","_getChangeEvent","labelId","labelExpression","_ariaDescribedby","_MatSelectBase_Factory","_MatSelectBase_Query","MatSelect","_scrollTop","_positions","scrollBuffer","maxScroll","itemHeight","_getItemHeight","optionOffsetFromScrollTop","halfOptionHeight","optimalScrollPosition","_triggerRect","fontSize","_calculateOverlayPosition","labelCount","_calculateOverlayOffsetX","paddingWidth","optionHeightAdjustment","maxOptionsDisplayed","optionOffsetFromPanelTop","firstDisplayedIndex","_getItemCount","selectedDisplayIndex","partialItemHeight","topSpaceAvailable","bottomSpaceAvailable","panelHeightTop","totalPanelHeight","panelHeightBottom","_adjustPanelUp","_adjustPanelDown","_getOriginBasedOnOption","distanceBelowViewport","distanceAboveViewport","scrollContainerHeight","selectedOptionOffset","_calculateOverlayScroll","_calculateOverlayOffsetY","_checkOverlayWithinViewport","MatSelect_Factory","ɵMatSelect_BaseFactory","MatSelect_ContentQueries","MatSelect_HostBindings","MatSelect_keydown_HostBindingHandler","MatSelect_focus_HostBindingHandler","MatSelect_blur_HostBindingHandler","_getAriaActiveDescendant","MatSelect_Template","MatSelect_Template_div_click_0_listener","MatSelect_Template_ng_template_backdropClick_8_listener","MatSelect_Template_ng_template_attach_8_listener","_onAttached","MatSelect_Template_ng_template_detach_8_listener","MatSelectModule","MatSelectModule_Factory","MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS","disableToggleValue","MAT_SLIDE_TOGGLE_VALUE_ACCESSOR","MatSlideToggle","MatSlideToggleChange","MatSlideToggleBase","_MatSlideToggleMixinBase","toggleChange","MatSlideToggle_Factory","MatSlideToggle_Query","_thumbEl","_thumbBarEl","MatSlideToggle_HostBindings","MatSlideToggle_Template","MatSlideToggle_Template_input_change_4_listener","_onChangeEvent","MatSlideToggle_Template_input_click_4_listener","MatSlideToggle_Template_span_cdkObserveContent_11_listener","_r4","MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR","MatSlideToggleRequiredValidator","MatSlideToggleRequiredValidator_Factory","ɵMatSlideToggleRequiredValidator_BaseFactory","_MatSlideToggleRequiredValidatorModule","_MatSlideToggleRequiredValidatorModule_Factory","MatSlideToggleModule","MatSlideToggleModule_Factory","SimpleSnackBar_div_2_Template","SimpleSnackBar_div_2_Template_button_click_1_listener","MatSnackBarContainer_ng_template_1_Template","MAT_SNACK_BAR_DATA","MatSnackBarConfig","announcementMessage","horizontalPosition","verticalPosition","MAX_TIMEOUT","MatSnackBarRef","containerInstance","_afterDismissed","_onAction","_dismissedByAction","onAction","dismiss","_onExit","_finishDismiss","_durationTimeoutId","dismissWithAction","dismissedByAction","_onEnter","SimpleSnackBar","snackBarRef","SimpleSnackBar_Factory","SimpleSnackBar_Template","hasAction","matSnackBarAnimations","snackBarState","MatSnackBarContainer","snackBarConfig","_announceDelay","_onAnnounce","_assertNotAttached","_applySnackBarClasses","_live","_role","_completeExit","_screenReaderAnnounce","_announceTimeoutId","panelClasses","inertElement","liveElement","HTMLElement","MatSnackBarContainer_Factory","MatSnackBarContainer_Query","MatSnackBarContainer_HostBindings","MatSnackBarContainer_animation_state_done_HostBindingHandler","onAnimationEnd","MatSnackBarContainer_Template","MatSnackBarModule","MatSnackBarModule_Factory","MAT_SNACK_BAR_DEFAULT_OPTIONS","MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY","MatSnackBar","_breakpointObserver","_parentSnackBar","_defaultConfig","_snackBarRefAtThisLevel","simpleSnackBarComponent","snackBarContainerComponent","handsetCssClass","_openedSnackBarRef","_attach","openFromComponent","userConfig","_attachSnackBarContainer","_animateSnackBar","afterDismissed","_dismissAfter","isLeft","isRight","MatSnackBar_Factory","MatSortHeader_div_3_Template","MatSortHeader_div_3_Template_div_animation_arrowPosition_start_0_listener","_disableViewStateAnimation","MatSortHeader_div_3_Template_div_animation_arrowPosition_done_0_listener","_getArrowViewState","_getArrowDirectionState","getSortDuplicateSortableIdError","getSortHeaderNotContainedWithinSortError","getSortHeaderMissingIdError","getSortInvalidDirectionError","MAT_SORT_DEFAULT_OPTIONS","MatSortBase","_MatSortMixinBase","MatSort","sortables","sortChange","_disableClear","sortable","getNextSortDirection","disableClear","sortDirectionCycle","getSortDirectionCycle","nextDirectionIndex","MatSort_Factory","sortOrder","SORT_ANIMATION_TRANSITION","matSortAnimations","indicator","leftPointer","rightPointer","arrowOpacity","arrowPosition","allowChildren","MatSortHeaderIntl","sortButtonLabel","MatSortHeaderIntl_Factory","MAT_SORT_HEADER_INTL_PROVIDER_FACTORY","MAT_SORT_HEADER_INTL_PROVIDER","MatSortHeaderBase","_MatSortHeaderMixinBase","MatSortHeader","_sort","_columnDef","_showIndicatorHint","_viewState","_arrowDirection","_handleStateChanges","_updateArrowDirection","_setAnimationTransitionState","_isSorted","_setIndicatorHintVisible","visible","_isDisabled","_toggleOnInteraction","MatSortHeader_Factory","MatSortHeader_HostBindings","MatSortHeader_click_HostBindingHandler","MatSortHeader_keydown_HostBindingHandler","MatSortHeader_mouseenter_HostBindingHandler","MatSortHeader_mouseleave_HostBindingHandler","_getAriaSortAttribute","MatSortHeader_Template","_renderArrow","MatSortModule","MatSortModule_Factory","MatStepHeader_ng_container_3_Template","iconOverrides","_getIconContext","MatStepHeader_ng_container_4_span_1_Template","_getDefaultTextForState","MatStepHeader_ng_container_4_mat_icon_2_Template","MatStepHeader_ng_container_4_Template","MatStepHeader_div_6_Template","_templateLabel","MatStepHeader_div_7_Template","MatStepHeader_div_8_Template","optionalLabel","MatStepHeader_div_9_Template","MatStep_ng_template_0_Template","MatHorizontalStepper_ng_container_1_div_2_Template","MatHorizontalStepper_ng_container_1_Template","MatHorizontalStepper_ng_container_1_Template_mat_step_header_click_1_listener","step_r2","MatHorizontalStepper_ng_container_1_Template_mat_step_header_keydown_1_listener","i_r3","isLast_r4","_getFocusIndex","_getStepLabelId","_getIndicatorType","_iconOverrides","_getStepContentId","MatHorizontalStepper_div_3_Template","MatHorizontalStepper_div_3_Template_div_animation_stepTransition_done_0_listener","step_r9","i_r10","_getAnimationDirection","MatVerticalStepper_div_0_Template","_r6","MatVerticalStepper_div_0_Template_mat_step_header_click_1_listener","step_r1","MatVerticalStepper_div_0_Template_mat_step_header_keydown_1_listener","MatVerticalStepper_div_0_Template_div_animation_stepTransition_done_3_listener","i_r2","isLast_r3","MatStepLabel","MatStepLabel_Factory","ɵMatStepLabel_BaseFactory","MatStepperIntl","MatStepperIntl_Factory","MAT_STEPPER_INTL_PROVIDER_FACTORY","MAT_STEPPER_INTL_PROVIDER","MatStepHeaderBase","_MatStepHeaderMixinBase","MatStepHeader","_intlSubscription","MatStepHeader_Factory","MatStepHeader_Template","_stringLabel","matStepperAnimations","horizontalStepTransition","verticalStepTransition","MatStepperIcon","MatStepperIcon_Factory","MatStep","stepper","_errorStateMatcher","originalErrorState","customErrorState","MatStep_Factory","MatStepper","MatStep_ContentQueries","MatStep_Template","animationDone","_icons","MatStepper_Factory","ɵMatStepper_BaseFactory","MatStepper_ContentQueries","MatStepper_Query","MatHorizontalStepper","MatHorizontalStepper_Factory","ɵMatHorizontalStepper_BaseFactory","MatHorizontalStepper_HostBindings","MatHorizontalStepper_Template","MatVerticalStepper","MatVerticalStepper_Factory","MatVerticalStepper_Template","MatStepperNext","MatStepperNext_Factory","ɵMatStepperNext_BaseFactory","MatStepperNext_HostBindings","MatStepperPrevious","MatStepperPrevious_Factory","ɵMatStepperPrevious_BaseFactory","MatStepperPrevious_HostBindings","MatStepperModule","MatStepperModule_Factory","MatTextColumn_th_1_Template","MatTextColumn_td_2_Template","MatTable","MatTable_Factory","ɵMatTable_BaseFactory","MatTable_HostBindings","MatTable_Template","MatCellDef","MatCellDef_Factory","ɵMatCellDef_BaseFactory","MatHeaderCellDef","MatHeaderCellDef_Factory","ɵMatHeaderCellDef_BaseFactory","MatFooterCellDef","MatFooterCellDef_Factory","ɵMatFooterCellDef_BaseFactory","MatColumnDef","MatColumnDef_Factory","ɵMatColumnDef_BaseFactory","MatHeaderCell","MatHeaderCell_Factory","ɵMatHeaderCell_BaseFactory","MatFooterCell","MatFooterCell_Factory","ɵMatFooterCell_BaseFactory","MatCell","MatCell_Factory","ɵMatCell_BaseFactory","MatHeaderRowDef","MatHeaderRowDef_Factory","ɵMatHeaderRowDef_BaseFactory","MatFooterRowDef","MatFooterRowDef_Factory","ɵMatFooterRowDef_BaseFactory","MatRowDef","MatRowDef_Factory","ɵMatRowDef_BaseFactory","MatHeaderRow","MatHeaderRow_Factory","ɵMatHeaderRow_BaseFactory","MatHeaderRow_Template","MatFooterRow","MatFooterRow_Factory","ɵMatFooterRow_BaseFactory","MatFooterRow_Template","MatRow","MatRow_Factory","ɵMatRow_BaseFactory","MatRow_Template","MatNoDataRow","MatNoDataRow_Factory","ɵMatNoDataRow_BaseFactory","MatTextColumn","MatTextColumn_Factory","ɵMatTextColumn_BaseFactory","MatTextColumn_Template","MatTableModule","MatTableModule_Factory","MAX_SAFE_INTEGER","_MatTableDataSource","initialData","_renderData","_filter","_internalPageChanges","_renderChangesSubscription","sortingDataAccessor","sortHeaderId","numberValue","sortData","valueAType","valueBType","comparatorResult","filterPredicate","dataStr","currentTerm","transformedFilter","_updateChangeSubscription","_filterData","_paginator","paginator","pageChange","filteredData","orderedData","_orderData","paginatedData","_pageData","_updatePaginator","filteredDataLength","lastPageIndex","newPageIndex","MatTableDataSource","MatTab_ng_template_0_Template","MatTabBody_ng_template_2_Template","a0","animationDuration","MatTabGroup_div_2_ng_template_2_ng_template_0_Template","MatTabGroup_div_2_ng_template_2_Template","tab_r4","templateLabel","MatTabGroup_div_2_ng_template_3_Template","textLabel","MatTabGroup_div_2_Template","MatTabGroup_div_2_Template_div_click_0_listener","i_r5","MatTabGroup_div_2_Template_div_cdkFocusChange_0_listener","_tabFocusChanged","_getTabLabelId","_tabs","_getTabContentId","MatTabGroup_mat_tab_body_5_Template","_r17","MatTabGroup_mat_tab_body_5_Template_mat_tab_body__onCentered_0_listener","_removeTabBodyWrapperHeight","MatTabGroup_mat_tab_body_5_Template_mat_tab_body__onCentering_0_listener","ctx_r18","_setTabBodyWrapperHeight","tab_r14","i_r15","_c7","_c8","_c9","_MAT_INK_BAR_POSITIONER","_MAT_INK_BAR_POSITIONER_FACTORY","offsetLeft","MatInkBar","_inkBarPositioner","_setStyles","inkBar","MatInkBar_Factory","MatInkBar_HostBindings","MAT_TAB_CONTENT","MatTabContent","MatTabContent_Factory","MAT_TAB_LABEL","MatTabLabel","MatTabLabel_Factory","ɵMatTabLabel_BaseFactory","MatTabBase","_MatTabMixinBase","MAT_TAB_GROUP","MatTab","_closestTabGroup","_contentPortal","isActive","_setTemplateLabelInput","_explicitContent","_implicitContent","MatTab_Factory","MatTab_ContentQueries","MatTab_Query","MatTab_Template","matTabsAnimations","translateTab","MatTabBodyPortal","_centeringSub","_leavingSub","_beforeCentering","_isCenterPosition","isCentering","_content","_afterLeavingCenter","MatTabBodyPortal_Factory","MatTabBody","_MatTabBodyBase","_dirChangeSubscription","_translateTabComplete","_onCentering","_onCentered","_computePositionAnimationState","_positionIndex","_computePositionFromOrigin","_getLayoutDirection","_MatTabBodyBase_Factory","MatTabBody_Factory","MatTabBody_Query","_portalHost","MatTabBody_Template","MatTabBody_Template_div_animation_translateTab_start_0_listener","_onTranslateTabStarted","MatTabBody_Template_div_animation_translateTab_done_0_listener","MAT_TABS_CONFIG","MatTabChangeEvent","MatTabGroupMixinBase","_MatTabGroupMixinBase","_MatTabGroupBase","defaultConfig","_indexToSelect","_tabBodyWrapperHeight","_tabsSubscription","_tabLabelSubscription","headerPosition","selectedIndexChange","focusChange","selectedTabChange","disablePagination","dynamicHeight","_dynamicHeight","_animationDuration","_backgroundColor","indexToSelect","_clampTabIndex","isFirstRun","_createChangeEvent","_tabBodyWrapper","_subscribeToAllTabChanges","_subscribeToTabLabels","tabs","_allTabs","_tabHeader","_alignInkBarToSelectedTab","tabHeight","tabHeader","focusIndex","_MatTabGroupBase_Factory","MatTabGroup","MatTabGroup_Factory","MatTabGroup_ContentQueries","MatTabGroup_Query","MatTabGroup_HostBindings","MatTabGroup_Template","MatTabGroup_Template_mat_tab_header_indexFocused_0_listener","MatTabGroup_Template_mat_tab_header_selectFocusedIndex_0_listener","MatTabHeader","MatTabLabelWrapper","MatTabLabelWrapperBase","_MatTabLabelWrapperMixinBase","MatTabLabelWrapper_Factory","MatTabLabelWrapper_HostBindings","EXAGGERATED_OVERSCROLL","HEADER_SCROLL_DELAY","HEADER_SCROLL_INTERVAL","MatPaginatedTabHeader","_scrollDistance","_selectedIndexChanged","_showPaginationControls","_disableScrollAfter","_disableScrollBefore","selectFocusedIndex","indexFocused","_stopInterval","_previousPaginator","_handlePaginatorPress","_nextPaginator","dirChange","resize","realign","updatePagination","newFocusIndex","_setTabFocus","_tabLabelCount","_scrollToLabel","_checkScrollingControls","_scrollDistanceChanged","_updateTabScrollPosition","_itemSelected","_currentTextContent","_checkPaginationEnabled","containerEl","_tabListContainer","scrollDistance","translateX","_tabList","_scrollTo","viewLength","scrollAmount","_scrollHeader","labelIndex","selectedLabel","labelBeforePos","labelAfterPos","beforeVisiblePos","afterVisiblePos","_getMaxScrollDistance","lengthOfTabList","selectedItem","selectedLabelWrapper","_inkBar","alignToElement","hide","mouseEvent","maxScrollDistance","MatPaginatedTabHeader_Factory","_MatTabHeaderBase","_MatTabHeaderBase_Factory","MatTabHeader_Factory","MatTabHeader_ContentQueries","MatTabHeader_Query","MatTabHeader_HostBindings","MatTabHeader_Template","MatTabHeader_Template_div_click_0_listener","_handlePaginatorClick","MatTabHeader_Template_div_mousedown_0_listener","MatTabHeader_Template_div_touchend_0_listener","MatTabHeader_Template_div_keydown_3_listener","MatTabHeader_Template_div_cdkObserveContent_5_listener","_onContentChanges","MatTabHeader_Template_div_mousedown_10_listener","MatTabHeader_Template_div_click_10_listener","MatTabHeader_Template_div_touchend_10_listener","_MatTabNavBase","updateActiveLink","_MatTabNavBase_Factory","MatTabNav","MatTabNav_Factory","MatTabNav_ContentQueries","MatTabLink","MatTabNav_Query","MatTabNav_HostBindings","MatTabNav_Template","MatTabNav_Template_div_click_0_listener","MatTabNav_Template_div_mousedown_0_listener","MatTabNav_Template_div_touchend_0_listener","MatTabNav_Template_div_keydown_3_listener","MatTabNav_Template_div_cdkObserveContent_5_listener","MatTabNav_Template_div_mousedown_10_listener","MatTabNav_Template_div_click_10_listener","MatTabNav_Template_div_touchend_10_listener","MatTabLinkMixinBase","_MatTabLinkMixinBase","_MatTabLinkBase","_tabNavBar","globalRippleOptions","_isActive","_MatTabLinkBase_Factory","tabNavBar","_tabLinkRipple","MatTabLink_Factory","MatTabLink_HostBindings","MatTabsModule","MatTabsModule_Factory","MatToolbarBase","_MatToolbarMixinBase","MatToolbarRow","MatToolbarRow_Factory","MatToolbar","_checkToolbarMixedModes","_toolbarRows","isCombinedUsage","throwToolbarMixedModesError","MatToolbar_Factory","MatToolbar_ContentQueries","MatToolbar_HostBindings","MatToolbar_Template","MatToolbarModule","MatToolbarModule_Factory","matTooltipAnimations","tooltipState","SCROLL_THROTTLE_MS","TOOLTIP_PANEL_CLASS","passiveListenerOptions","LONGPRESS_DELAY","getMatTooltipInvalidPositionError","MAT_TOOLTIP_SCROLL_STRATEGY","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_TOOLTIP_DEFAULT_OPTIONS","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","showDelay","hideDelay","touchendHideDelay","MatTooltip","_ariaDescriber","_viewInitialized","_pointerExitEventsInitialized","touchGestures","_message","_passiveListeners","_isTooltipVisible","_updatePosition","_tooltipInstance","_setupPointerEnterEventsIfNeeded","removeDescription","_updateTooltipMessage","describe","_tooltipClass","_setTooltipClass","_touchstartTimeout","_showTimeoutId","_hideTimeoutId","TooltipComponent","afterHidden","scrollableAncestors","_getOrigin","_getOverlayPosition","main","isLtr","originPosition","_invertPosition","overlayPosition","tooltipClass","_platformSupportsMouseEvents","_setupPointerExitEventsIfNeeded","_disableNativeGesturesIfNecessary","_addListeners","exitListeners","_wheelListener","touchendListener","elementUnderPointer","gestures","MatTooltip_Factory","_visibility","_closeOnInteraction","_onHide","_isHandset","TooltipComponent_Factory","TooltipComponent_HostBindings","TooltipComponent_click_HostBindingHandler","_handleBodyInteraction","TooltipComponent_auxclick_HostBindingHandler","TooltipComponent_Template","TooltipComponent_Template_div_animation_state_start_0_listener","_animationStart","TooltipComponent_Template_div_animation_state_done_0_listener","tmp_0_0","MatTooltipModule","MatTooltipModule_Factory","BrowserAnimationBuilder","rootRenderer","_nextAnimationId","typeData","issueAnimationCommand","BrowserAnimationFactory","BrowserAnimationBuilder_Factory","RendererAnimationPlayer","_command","_listen","ANIMATION_PREFIX","DISABLE_ANIMATIONS_FLAG","AnimationRendererFactory","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","EMPTY_NAMESPACE_ID","BaseAnimationRenderer","animationTriggers","AnimationRenderer","_scheduleCountTask","AnimationRendererFactory_Factory","onInsert","onRemove","disableAnimations","resolveElementFromTarget","parseTriggerCallbackName","countId","scheduleListenerCallback","dotIndex","InjectableAnimationEngine","InjectableAnimationEngine_Factory","instantiateSupportedAnimationDriver","instantiateDefaultStyleNormalizer","instantiateRendererFactory","ANIMATION_MODULE_TYPE","SHARED_ANIMATION_PROVIDERS","BROWSER_ANIMATIONS_PROVIDERS","BROWSER_NOOP_ANIMATIONS_PROVIDERS","BrowserAnimationsModule","BrowserAnimationsModule_Factory","NoopAnimationsModule","NoopAnimationsModule_Factory","GenericBrowserDomAdapter","nodeContains","BrowserDomAdapter","groupEnd","evt","getDefaultDocument","DocumentFragment","getBaseElementHref","relativePath","baseElement","performance","urlParsingNode","TRANSITION_ID","appInitializerFactory","transitionId","dom","SERVER_TRANSITION_PROVIDERS","BrowserGetTestability","getAllTestabilities","getAllRootElements","whenAllStable","testabilities","didWork","decrement","didWork_","whenStable","getTestability","isShadowRoot","exportNgVar","CORE_TOKENS","INSPECT_GLOBAL_NAME","CORE_TOKENS_GLOBAL_NAME","inspectNativeElementR2","_createNgProbeR2","coreTokens","_ngProbeTokensToMap","ELEMENT_PROBE_PROVIDERS__POST_R3__","ELEMENT_PROBE_PROVIDERS__PRE_R3__","ELEMENT_PROBE_PROVIDERS","EVENT_MANAGER_PLUGINS","EventManager","plugins","_eventNameToPlugin","_plugins","plugin","_findPluginFor","addGlobalEventListener","EventManager_Factory","EventManagerPlugin","SharedStylesHost","_stylesSet","additions","onStylesAdded","SharedStylesHost_Factory","DomSharedStylesHost","_hostNodes","styleNodes","styleEl","hostNode","_addStylesToHost","DomSharedStylesHost_Factory","styleNode","NAMESPACE_URIS","COMPONENT_REGEX","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","shimContentAttribute","componentShortId","shimHostAttribute","compId","decoratePreventDefault","eventHandler","allowDefaultBehavior","hasLoggedNativeEncapsulationWarning","DomRendererFactory2","eventManager","sharedStylesHost","appId","rendererByCompId","defaultRenderer","DefaultDomRenderer2","EmulatedEncapsulationDomRenderer2","applyToHost","ShadowDomRenderer","addStyles","DomRendererFactory2_Factory","namespaceUri","removeAttributeNS","checkNoSyntheticProp","AT_CHARCODE","nameKind","contentAttr","hostAttr","hostEl","addHost","removeHost","nodeOrShadowRoot","DomEventsPlugin","DomEventsPlugin_Factory","EVENT_NAMES","HAMMER_GESTURE_CONFIG","HAMMER_LOADER","HammerGestureConfig","events","overrides","mc","Hammer","HammerGestureConfig_Factory","HammerGesturesPlugin","_loaderPromise","isCustomEvent","getZone","cancelRegistration","buildHammer","on","off","HammerGesturesPlugin_Factory","HAMMER_PROVIDERS__POST_R3__","HAMMER_PROVIDERS__PRE_R3__","HAMMER_PROVIDERS","HammerModule","HammerModule_Factory","MODIFIER_KEYS","DOM_KEY_LOCATION_NUMPAD","_keyMap","_chromeNumKeyPadMap","MODIFIER_KEY_GETTERS","KeyEventsPlugin","parseEventName","parsedEvent","outsideHandler","eventCallback","onAndCancel","domEventName","_normalizeKey","fullKey","modifierName","getEventKey","modifierGetter","getEventFullKey","keyName","KeyEventsPlugin_Factory","keyIdentifier","DomSanitizer","DomSanitizer_Factory","DomSanitizerImpl","domSanitizerImplFactory","NONE","DomSanitizerImpl_Factory","initDomAdapter","makeCurrent","INTERNAL_BROWSER_PLATFORM_PROVIDERS","BROWSER_SANITIZATION_PROVIDERS__PRE_R3__","BROWSER_SANITIZATION_PROVIDERS__POST_R3__","BROWSER_SANITIZATION_PROVIDERS","platformBrowser","BROWSER_MODULE_PROVIDERS","BrowserModule","BrowserModule_Factory","createMeta","Meta","_dom","forceCreation","_getOrCreateElement","attrSelector","_parseSelector","getTag","_setMetaElementAttributes","removeTagElement","_containsAttributes","getElementsByTagName","_getMetaKeyMap","META_KEYS_MAP","Meta_Factory","httpEquiv","createTitle","Title","newTitle","Title_Factory","ChangeDetectionPerfRecord","msPerTick","numTicks","AngularProfiler","profileName","isProfilerAvailable","profile","performanceNow","profileEnd","PROFILER_GLOBAL_NAME","enableDebugTools","disableDebugTools","escapeHtml","escapedText","unescapeHtml","unescapedText","makeStateKey","TransferState","onSerializeCallbacks","transferState","TransferState_Factory","initTransferState","initialState","BrowserTransferStateModule","BrowserTransferStateModule_Factory","By","debugElement","elementMatches","RouterEvent","NavigationStart","navigationTrigger","restoredState","NavigationEnd","urlAfterRedirects","NavigationCancel","NavigationError","RoutesRecognized","GuardsCheckStart","GuardsCheckEnd","shouldActivate","ResolveStart","ResolveEnd","RouteConfigLoadStart","route","RouteConfigLoadEnd","ChildActivationStart","snapshot","routeConfig","ChildActivationEnd","ActivationStart","ActivationEnd","Scroll","routerEvent","PRIMARY_OUTLET","ParamsAsMap","convertToParamMap","NAVIGATION_CANCELING_ERROR","navigationCancelingError","isNavigationCancelingError","defaultUrlMatcher","segments","segmentGroup","pathMatch","hasChildren","posParams","segment","isParameter","consumed","shallowEqualArrays","shallowEqual","equalArraysOrString","aSorted","bSorted","and","bools","wrapIntoObservable","createEmptyUrlTree","UrlTree","UrlSegmentGroup","containsTree","containee","exact","equalQueryParams","equalSegmentGroups","containsQueryParams","containsSegmentGroup","equalPath","numberOfChildren","containsSegmentGroupHelper","containeePaths","fragment","_queryParamMap","DEFAULT_SERIALIZER","serialize","serializePaths","UrlSegment","_parameterMap","serializePath","equalSegments","as","bs","mapChildrenIntoArray","childOutlet","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","tree","serializeSegment","serializeQueryParams","encodeUriFragment","primary","encodeUriString","encodeUriQuery","encodeURI","encodeUriSegment","decode","decodeQuery","serializeMatrixParams","strParams","SEGMENT_RE","matchSegments","QUERY_PARAM_RE","matchQueryParams","QUERY_PARAM_VALUE_RE","matchUrlQueryParamValue","remaining","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","parseSegment","parseParens","parseMatrixParams","parseParam","valueMatch","decodedKey","decodedVal","currentVal","allowPrimary","outletName","Tree","_root","pathFromRoot","findNode","findPath","cc","TreeNode","nodeChildrenAsMap","RouterState","setRouterState","createEmptyState","urlTree","createEmptyStateSnapshot","emptyUrl","emptyParams","emptyData","emptyQueryParams","activated","ActivatedRoute","ActivatedRouteSnapshot","RouterStateSnapshot","futureSnapshot","_futureSnapshot","_routerState","_paramMap","inheritedParamsDataResolve","paramsInheritanceStrategy","inheritingStartingFrom","flattenInherited","_resolvedData","urlSegment","lastPathIndex","_urlSegment","_lastPathIndex","_resolve","serializeNode","advanceActivatedRoute","nextSnapshot","equalParamsAndUrlSegments","equalUrlParams","parentsMismatch","createRouterState","routeReuseStrategy","prevState","createNode","shouldReuseRoute","createOrReuseChildren","shouldAttach","detachedRouteHandle","retrieve","setFutureSnapshotsOfActivatedRoutes","createActivatedRoute","createUrlTree","commands","nav","computeNavigation","toRoot","startingPosition","findStartingPosition","processChildren","updateSegmentGroupChildren","updateSegmentGroup","isMatrixParams","segmentPath","isCommandWithOutlets","oldSegmentGroup","newSegmentGroup","qp","replaceSegment","oldSegment","newSegment","Navigation","isAbsolute","numberOfDoubleDots","cmdWithOutlet","cmd","cmdIdx","urlPart","partIndex","Position","createPositionApplyingDoubleDots","g","ci","dd","getOutlets","prefixedWith","slicedCommands","commandIndex","pathIndex","createNewSegmentGroup","currentCommandIndex","currentPathIndex","noMatch","compare","paths","createNewSegmentChildren","activateRoutes","rootContexts","forwardEvent","ActivateRoutes","targetRouterState","currentRouterState","activate","futureState","currState","parentContexts","futureRoot","currRoot","deactivateChildRoutes","activateChildRoutes","futureNode","currNode","contexts","futureChild","childOutletName","deactivateRoutes","childName","deactivateRouteAndItsChildren","future","shouldDetach","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","onOutletDeactivated","deactivate","attachRef","getOrCreateContext","stored","onOutletReAttached","advanceActivatedRouteNodeAndItsChildren","parentLoadedConfig","cmpFactoryResolver","activateWith","_loadedConfig","LoadedRouterConfig","routes","isFunction","isBoolean","isUrlTree","isCanLoad","guard","canLoad","isCanActivate","canActivate","isCanActivateChild","canActivateChild","isCanDeactivate","canDeactivate","INITIAL_VALUE","prioritizedGuardValue","isPending","innerAcc","ɵEmptyOutletComponent","ɵEmptyOutletComponent_Factory","ɵEmptyOutletComponent_Template","RouterOutlet","validateConfig","parentPath","fullPath","getFullPath","loadChildren","redirectTo","currentRoute","standardizeConfig","getOutlet","sortByMatchingOutlets","sortedConfig","consumedSegments","lastChild","positionalParamSegments","slicedSegments","relativeLinkResolution","containsEmptyPathMatchesWithNamedOutlets","createChildrenForEmptyPaths","_sourceSegment","_segmentIndexShift","containsEmptyPathMatches","addEmptyPathsToChildrenIfNeeded","emptyPathMatch","primarySegment","isImmediateMatch","rawSegment","noLeftoversInUrl","NoMatch","AbsoluteRedirect","noMatch$1","absoluteRedirect","newTree","namedOutletsRedirect","canLoadFails","applyRedirects","configLoader","urlSerializer","ApplyRedirects","allowRedirects","splitGroup","rootSegmentGroup","expanded$","expandSegmentGroup","urlTrees$","squashSegmentGroup","noMatchError","mapped$","rootCandidate","expandChildren","expandSegment","childOutlets","sortedRoutes","expandedChild","expandSegmentAgainstRoute","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","expandWildCardWithParamsAgainstRouteUsingRedirect","expandRegularSegmentAgainstRouteUsingRedirect","applyRedirectCommands","lineralizeSegments","newSegments","rawSegmentGroup","loaded$","cfg","rawSlicedSegments","childConfig$","getChildConfig","routerConfig","childModule","childConfig","splitSegmentGroup","matchedOnOutlet","cs","runCanLoadGuards","shouldLoadResult","canLoadObservables","injectionToken","guardVal","applyRedirectCreatreUrlTree","newRoot","createSegmentGroup","createQueryParams","redirectToParams","actualParams","copySourceValue","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","redirectToUrlSegment","mergeTrivialChildren","childCandidate","applyRedirects$1","extractedUrl","CanActivate","CanDeactivate","getAllRouteGuards","getChildRouteGuards","getCanActivateChild","guards","getClosestLoadedConfig","futurePath","checks","canDeactivateChecks","canActivateChecks","prevChildren","getRouteGuards","shouldRun","shouldRunGuardsAndResolvers","runGuardsAndResolvers","isActivated","checkGuards","targetSnapshot","guardsResult","runCanDeactivateChecks","runCanActivateChecks","futureRSS","currRSS","runCanDeactivate","fireChildActivationStart","fireActivationStart","runCanActivateChild","runCanActivate","futureARS","canActivateObservables","canActivateChildGuards","canActivateChildGuardsMapped","guardsMapped","currARS","canDeactivateObservables","NoMatch$1","newObservableError","recognize","rootComponentType","Recognizer","processSegmentGroup","routeState","inheritParamsAndData","routeNode","processSegment","outletChildren","mergedChildren","mergeEmptyPathMatches","checkOutletNameUniqueness","sortActivatedRouteSnapshots","processSegmentAgainstRoute","getData","getSourceSegmentGroup","getPathIndexShift","getResolve","localeCompare","hasEmptyPathConfig","mergedNodes","duplicateEmptyPathNode","resultNode","mergedNode","names","routeWithSameOutletName","recognize$1","serializer","resolveData","canActivateChecksResolved","runResolve","resolveNode","resolvedData","getResolver","switchTap","nextResult","RouteReuseStrategy","BaseRouteReuseStrategy","detachedTree","DefaultRouteReuseStrategy","ROUTES","RouterConfigLoader","onLoadStartListener","onLoadEndListener","_loader$","moduleFactory$","loadModuleFactory","loadRunner","OutletContext","ChildrenOutletContexts","UrlHandlingStrategy","DefaultUrlHandlingStrategy","newUrlPart","wholeUrl","defaultErrorHandler","defaultMalformedUriErrorHandler","defaultRouterHook","runExtras","Router","lastSuccessfulNavigation","currentNavigation","disposed","lastLocationChangeInfo","navigationId","isNgZoneEnabled","malformedUriErrorHandler","navigated","lastSuccessfulId","beforePreactivation","afterPreactivation","urlHandlingStrategy","onSameUrlNavigation","urlUpdateStrategy","onLoadStart","triggerEvent","onLoadEnd","resetConfig","currentUrlTree","rawUrlTree","browserUrlTree","routerState","currentRawUrl","extract","rawUrl","extras","navigations","setupNavigations","processNavigations","eventsSubject","errored","initialUrl","previousNavigation","urlTransition","processCurrentUrl","shouldProcessUrl","getValue","serializeUrl","finalUrl","skipLocationChange","setBrowserUrl","replaceUrl","routesRecognized","processPreviousUrl","navStart","appliedUrlTree","guardsStart","guardsEnd","resetUrlToCurrentUrlTree","navCancel","resolveStart","dataResolved","resolveEnd","redirecting","resetStateAndUrl","mergedTree","scheduleNavigation","navError","ee","getTransition","setUpLocationChangeListener","navigateByUrl","locationSubscription","currentChange","extractLocationChangeInfoFromEvent","shouldScheduleNavigation","stateCopy","parseUrl","sameDestination","eventsOccurredAtSameTime","navigationExtras","relativeTo","queryParamsHandling","preserveFragment","q","removeEmptyProps","validateCommands","priorPromise","lastNavigation","browserNavPrecededByRouterNav","lastNavigationSucceeded","lastNavigationUrl","duplicateNav","setTransition","isCurrentPathEqualTo","go","storedState","storedUrl","Router_Factory","RouterLink","router","onChanges","attrBoolValue","RouterLink_Factory","RouterLink_HostBindings","RouterLink_click_HostBindingHandler","onClick","routerLink","RouterLinkWithHref","locationStrategy","updateTargetUrlAndHref","RouterLinkWithHref_Factory","RouterLinkWithHref_HostBindings","RouterLinkWithHref_click_HostBindingHandler","RouterLinkActive","cdr","link","linkWithHref","routerLinkActiveOptions","routerEventsSubscription","links","linksWithHrefs","subscribeToEachLinkOnChanges","linkInputChangesSubscription","allLinkChanges","isLinkActive","hasActiveLinks","isActiveCheckFn","RouterLinkActive_Factory","RouterLinkActive_ContentQueries","routerLinkActive","_activatedRoute","activateEvents","deactivateEvents","onChildOutletCreated","onChildOutletDestroyed","cmp","activatedRoute","childContexts","OutletInjector","RouterOutlet_Factory","PreloadingStrategy","PreloadAllModules","NoPreloading","RouterPreloader","moduleLoader","preloadingStrategy","onStartLoad","onEndLoad","preload","processRoutes","preloadConfig","RouterPreloader_Factory","RouterScroller","viewportScroller","lastId","lastSource","restoredId","scrollPositionRestoration","anchorScrolling","setHistoryScrollRestoration","createScrollEvents","scrollEventsSubscription","consumeScrollEvents","getScrollPosition","scheduleScrollEvent","scrollToPosition","scrollToAnchor","RouterScroller_Factory","ROUTER_DIRECTIVES","ROUTER_CONFIGURATION","ROUTER_FORROOT_GUARD","enableTracing","ROUTER_PROVIDERS","setupRouter","rootRoute","routerNgProbeToken","RouterModule","provideRoutes","provideForRootGuard","createRouterScroller","provideRouterInitializer","RouterModule_Factory","setOffset","platformLocationStrategy","useHash","assignExtraOptionsToRouter","logGroup","logGroupEnd","RouterInitializer","initNavigation","resultOfPreactivationDone","initialNavigation","bootstrappedComponentRef","preloader","routerScroller","setUpPreloading","resetRootComponentType","RouterInitializer_Factory","getAppInitializer","appInitializer","getBootstrapListener","bootstrapListener","ROUTER_INITIALIZER","CookieService","documentIsAccessible","regExp","getCookieRegExp","exists","safeDecodeURIComponent","cookies","currentCookie","expiresOrOptions","domain","secure","sameSite","optionsBody","expires","dateExpires","toUTCString","expiresDate","getAll","escapedName","encodedURIComponent","CookieService_Factory","AsyncSubject","hasNext","hasCompleted","thrownError","BehaviorSubject","InnerSubscriber","outerValue","outerIndex","notifyNext","notifyError","notifyComplete","NotificationKind","Notification","hasValue","nextOrObserver","undefinedValueNotification","completeNotification","Observable","_isScalar","operator","useDeprecatedSynchronousErrorHandling","syncErrorThrowable","_trySubscribe","syncErrorThrown","syncErrorValue","promiseCtor","getPromiseCtor","operations","OuterSubscriber","innerValue","innerIndex","innerSub","ReplaySubject","bufferSize","POSITIVE_INFINITY","windowTime","_events","_infiniteTimeWindow","_bufferSize","_windowTime","nextInfiniteTimeWindow","nextTimeWindow","ReplayEvent","_getNow","_trimBufferThenGetEvents","eventsCount","spliceCount","Scheduler","SchedulerAction","work","SubjectSubscriber","Subject","AnonymousSubject","copy","SubjectSubscription","subscriberIndex","Subscriber","destinationOrNext","SafeSubscriber","_error","_complete","_parentOrParents","_parentSubscriber","__tryOrUnsub","__tryOrSetError","wrappedComplete","Subscription","flattenUnsubscriptionErrors","teardown","tmp","subscriptions","subscriptionIndex","errs","_enable_super_gross_mode_that_will_cause_bad_things","ConnectableObservable","subjectFactory","_refCount","_isComplete","getSubject","connection","_connection","ConnectableSubscriber","connectableObservableDescriptor","connectableProto","refCount","connectable","RefCountOperator","refCounter","RefCountSubscriber","sharedConnection","SubscribeOnObservable","delayTime","dispatch","bindCallback","callbackFunc","resultSelector","innerArgs","dispatchNext","dispatchError","bindNodeCallback","combineLatest","lift","CombineLatestOperator","CombineLatestSubscriber","toRespond","unused","oldVal","_tryResultSelector","observableFactory","emptyScheduled","forkJoin","sources","forkJoinInternal","emitted","fromArray","fromEvent","setupSubscription","sourceObj","isEventTarget","isJQueryStyleEventEmitter","isNodeStyleEventEmitter","TypeError","fromEventPattern","addHandler","removeHandler","retValue","generate","initialStateOrOptions","iterate","resultSelectorOrObservable","conditionResult","needIterate","iif","trueResult","falseResult","interval","period","counter","concurrent","NEVER","never","of","onErrorResumeNext","remainder","subNext","pairs","partition","race","RaceOperator","RaceSubscriber","hasFirst","timer","dueTime","periodOrScheduler","due","resourceFactory","resource","zip","ZipOperator","ZipSubscriber","iterators","StaticArrayIterator","StaticIterator","ZipBufferIterator","stillUnsubscribed","shouldComplete","_tryresultSelector","buffer","notifyInactive","checkIterators","audit","durationSelector","auditOperatorFunction","AuditOperator","AuditSubscriber","throttled","innerSubscription","clearThrottle","auditTime","closingNotifier","bufferOperatorFunction","BufferOperator","BufferSubscriber","bufferCount","startBufferEvery","bufferCountOperatorFunction","BufferCountOperator","subscriberClass","BufferCountSubscriber","BufferSkipCountSubscriber","buffers","bufferTime","bufferTimeSpan","bufferCreationInterval","maxBufferSize","bufferTimeOperatorFunction","BufferTimeOperator","BufferTimeSubscriber","Context","openContext","timespanOnly","timeSpanOnlyState","closeAction","dispatchBufferTimeSpanOnly","closeState","creationState","dispatchBufferClose","dispatchBufferCreation","filledBufferContext","onBufferFull","closeContext","spliceIndex","prevContext","bufferToggle","openings","closingSelector","bufferToggleOperatorFunction","BufferToggleOperator","BufferToggleSubscriber","closeBuffer","openBuffer","trySubscribe","bufferWhen","BufferWhenOperator","BufferWhenSubscriber","subscribing","closingSubscription","catchError","catchErrorOperatorFunction","CatchOperator","caught","CatchSubscriber","err2","_unsubscribeAndRecycle","innerSubscriber","combineAll","project","none","concatAll","concatMap","concatMapTo","innerObservable","CountOperator","CountSubscriber","_tryPredicate","DebounceOperator","DebounceSubscriber","durationSubscription","_tryNext","emitValue","debounceTime","DebounceTimeOperator","DebounceTimeSubscriber","debouncedSubscription","lastValue","clearDebounce","debouncedNext","defaultIfEmpty","DefaultIfEmptyOperator","DefaultIfEmptySubscriber","absoluteDelay","delayFor","DelayOperator","DelaySubscriber","notification","DelayMessage","_schedule","scheduleNotification","createNext","createComplete","delayWhen","delayDurationSelector","subscriptionDelay","SubscriptionDelayObservable","DelayWhenOperator","DelayWhenSubscriber","delayNotifierSubscriptions","removeSubscription","tryComplete","delayNotifier","tryDelay","subscriptionIdx","notifierSubscription","SubscriptionDelaySubscriber","sourceSubscribed","subscribeToSource","dematerialize","dematerializeOperatorFunction","DeMaterializeOperator","DeMaterializeSubscriber","distinct","keySelector","flushes","DistinctOperator","DistinctSubscriber","_useKeySelector","_finalizeNext","distinctUntilChanged","DistinctUntilChangedOperator","DistinctUntilChangedSubscriber","hasKey","distinctUntilKeyChanged","elementAt","hasDefaultValue","endWith","EveryOperator","EverySubscriber","everyValueMatch","exhaust","SwitchFirstOperator","SwitchFirstSubscriber","hasSubscription","exhaustMap","ExhaustMapOperator","ExhaustMapSubscriber","tryNext","_innerSub","expand","ExpandOperator","ExpandSubscriber","subscribeToProjection","filterOperatorFunction","FilterOperator","FilterSubscriber","finalize","FinallyOperator","FinallySubscriber","FindValueOperator","yieldIndex","FindValueSubscriber","groupBy","elementSelector","subjectSelector","GroupByOperator","GroupBySubscriber","attemptedToUnsubscribe","groupedObservable","GroupedObservable","GroupDurationSubscriber","removeGroup","groupSubject","refCountSubscription","InnerRefCountSubscription","ignoreElements","ignoreElementsOperatorFunction","IgnoreElementsOperator","IgnoreElementsSubscriber","IsEmptyOperator","IsEmptySubscriber","mapOperation","MapOperator","MapSubscriber","mapTo","MapToOperator","MapToSubscriber","materialize","materializeOperatorFunction","MaterializeOperator","MaterializeSubscriber","comparer","mergeAll","mergeMap","MergeMapOperator","MergeMapSubscriber","ish","mergeMapTo","mergeScan","accumulator","seed","MergeScanOperator","MergeScanSubscriber","multicast","subjectOrSubjectFactory","multicastOperatorFunction","MulticastOperator","observeOn","observeOnOperatorFunction","ObserveOnOperator","ObserveOnSubscriber","ObserveOnMessage","scheduleMessage","nextSources","OnErrorResumeNextOperator","onErrorResumeNextStatic","OnErrorResumeNextSubscriber","subscribeToNextSource","pairwise","PairwiseOperator","PairwiseSubscriber","hasPrev","pluck","plucker","mapper","currentProp","publish","publishBehavior","publishLast","publishReplay","selectorOrScheduler","raceOperatorFunction","reduceOperatorFunctionWithSeed","reduceOperatorFunction","refCountOperatorFunction","repeat","RepeatOperator","RepeatSubscriber","repeatWhen","notifier","RepeatWhenOperator","RepeatWhenSubscriber","sourceIsBeingSubscribedTo","retries","subscribeToRetries","retriesSubscription","notifications","retry","RetryOperator","RetrySubscriber","retryWhen","RetryWhenOperator","RetryWhenSubscriber","sample","SampleOperator","sampleSubscriber","SampleSubscriber","sampleTime","SampleTimeOperator","SampleTimeSubscriber","dispatchNotification","scan","hasSeed","scanOperatorFunction","ScanOperator","ScanSubscriber","_seed","sequenceEqual","compareTo","SequenceEqualOperator","SequenceEqualSubscriber","_oneComplete","SequenceEqualCompareToSubscriber","checkValues","areEqual","nextB","completeB","shareSubjectFactory","share","shareReplay","configOrBufferSize","shareReplayOperator","useRefCount","shareReplayOperation","single","SingleOperator","SingleSubscriber","seenValue","singleValue","applySingleValue","skip","SkipOperator","SkipSubscriber","skipLast","SkipLastOperator","_skipCount","SkipLastSubscriber","_ring","skipCount","ring","skipUntil","SkipUntilOperator","SkipUntilSubscriber","skipWhile","SkipWhileOperator","SkipWhileSubscriber","skipping","tryCallPredicate","startWith","subscribeOn","subscribeOnOperatorFunction","SubscribeOnOperator","switchAll","switchMap","SwitchMapOperator","SwitchMapSubscriber","switchMapTo","take","TakeOperator","TakeSubscriber","takeLast","takeLastOperatorFunction","TakeLastOperator","TakeLastSubscriber","takeUntil","TakeUntilOperator","takeUntilSubscriber","TakeUntilSubscriber","takeWhile","inclusive","TakeWhileOperator","TakeWhileSubscriber","nextOrComplete","predicateResult","tap","tapOperatorFunction","DoOperator","TapSubscriber","_tapNext","_tapError","_tapComplete","defaultThrottleConfig","leading","trailing","ThrottleOperator","ThrottleSubscriber","_leading","_trailing","_hasValue","_sendValue","_throttled","tryDurationSelector","throttlingDone","ThrottleTimeOperator","ThrottleTimeSubscriber","_hasTrailingValue","_trailingValue","throwIfEmpty","errorFactory","defaultErrorFactory","ThrowIfEmptyOperator","ThrowIfEmptySubscriber","timeInterval","TimeInterval","timeoutWith","withObservable","absoluteTimeout","waitFor","TimeoutWithOperator","TimeoutWithSubscriber","scheduleTimeout","dispatchTimeout","Timestamp","toArrayReducer","windowBoundaries","windowOperatorFunction","WindowOperator","windowSubscriber","WindowSubscriber","sourceSubscription","openWindow","prevWindow","newWindow","windowCount","windowSize","startWindowEvery","windowCountOperatorFunction","WindowCountOperator","WindowCountSubscriber","windows","windowTimeSpan","windowCreationInterval","maxWindowSize","windowTimeOperatorFunction","WindowTimeOperator","WindowTimeSubscriber","CountedSubject","_numberOfNextedValues","dispatchWindowClose","dispatchWindowCreation","dispatchWindowTimeSpanOnly","numberOfNextedValues","closeWindow","timeSpanState","windowToggle","WindowToggleOperator","WindowToggleSubscriber","openSubscription","inner","windowWhen","windowWhenOperatorFunction","unsubscribeClosingNotification","closingNotification","withLatestFrom","WithLatestFromOperator","WithLatestFromSubscriber","_tryProject","zipOperatorFunction","zipAll","scheduleArray","scheduleIterable","scheduleObservable","schedulePromise","scheduled","Action","AnimationFrameAction","actions","cancelAnimationFrame","AnimationFrameScheduler","execute","AsapAction","setImmediate","clearImmediate","AsapScheduler","AsyncAction","recycleAsyncId","requestAsyncId","setInterval","clearInterval","_execute","errorValue","AsyncScheduler","QueueAction","QueueScheduler","VirtualTimeScheduler","VirtualAction","maxFrames","frame","frameTimeFactor","sortActions","animationFrame","asap","$$iterator","rxSubscriber","$$rxSubscriber","ArgumentOutOfRangeErrorImpl","ArgumentOutOfRangeError","EmptyErrorImpl","EmptyError","nextHandle","RESOLVED","activeHandles","findAndClearHandle","Immediate","TestTools","ObjectUnsubscribedErrorImpl","ObjectUnsubscribedError","TimeoutErrorImpl","TimeoutError","UnsubscriptionErrorImpl","UnsubscriptionError","canReportError","hostReportError","identity","isArrayLike","isInteropObservable","isIterable","isNumeric","isScheduler","not","pred","notPred","fns","pipeFromArray","piped","subscribeTo","subscribeToArray","subscribeToIterable","subscribeToObservable","subscribeToPromise","subscribeToResult","outerSubscriber","toSubscriber","Observable_1","ConnectableObservable_1","groupBy_1","observable_1","Subject_1","BehaviorSubject_1","ReplaySubject_1","AsyncSubject_1","asap_1","asapScheduler","async_1","asyncScheduler","queue_1","queueScheduler","animationFrame_1","animationFrameScheduler","VirtualTimeScheduler_1","Scheduler_1","Subscription_1","Subscriber_1","Notification_1","pipe_1","noop_1","identity_1","isObservable_1","ArgumentOutOfRangeError_1","EmptyError_1","ObjectUnsubscribedError_1","UnsubscriptionError_1","TimeoutError_1","bindCallback_1","bindNodeCallback_1","combineLatest_1","concat_1","defer_1","empty_1","forkJoin_1","from_1","fromEvent_1","fromEventPattern_1","generate_1","iif_1","interval_1","merge_1","never_1","of_1","onErrorResumeNext_1","pairs_1","partition_1","race_1","range_1","throwError_1","timer_1","using_1","zip_1","scheduled_1","empty_2","never_2","config_1","__extends","extendStatics","setPrototypeOf","__proto__","__","_super","_this","accept","canReportError_1","toSubscriber_1","toPromise","hostReportError_1","observeOn_1","SubjectSubscription_1","rxSubscriber_1","asObservable","isFunction_1","Observer_1","isArray_1","isObject_1","parent_1","refCount_1","map_1","isScheduler_1","OuterSubscriber_1","subscribeToResult_1","fromArray_1","concatAll_1","first_1","resultSelector_1","_loop_1","subscribeTo_1","subscribeToArray_1","scheduleArray_1","source_1","source_2","source_3","isNumeric_1","mergeAll_1","not_1","filter_1","iterator_1","mergeMap_1","InnerSubscriber_1","scheduleObservable_1","schedulePromise_1","scheduleIterable_1","isInteropObservable_1","isPromise_1","isArrayLike_1","isIterable_1","AsyncAction_1","AsyncScheduler_1","Immediate_1","Action_1","AnimationFrameAction_1","AnimationFrameScheduler_1","AsapAction_1","AsapScheduler_1","QueueAction_1","QueueScheduler_1","closed_1","subscribeToPromise_1","subscribeToIterable_1","subscribeToObservable_1","__webpack_amd_options__","originalModule","webpackPolyfill"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8CMA,gB;;;AAEN;;;;;;;QAKMC,gB;;;AAGN;;;;;;;;AAOA;;;;;;;AAKA,QAAMC,UAAU,GAAG,GAAnB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoJA,aAASC,OAAT,CAAiBC,IAAjB,EAAuBC,WAAvB,EAAoC;AAChC,aAAO;AAAEC,YAAI,EAAE;AAAE;AAAV;AAAyBF,YAAI,EAAJA,IAAzB;AAA+BC,mBAAW,EAAXA,WAA/B;AAA4CE,eAAO,EAAE;AAArD,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,aAASC,OAAT,CAAiBC,OAAjB,EAAyC;AAAA,UAAfC,MAAe,uEAAN,IAAM;AACrC,aAAO;AAAEJ,YAAI,EAAE;AAAE;AAAV;AAAyBI,cAAM,EAANA,MAAzB;AAAiCD,eAAO,EAAPA;AAAjC,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,aAASE,KAAT,CAAeC,KAAf,EAAsC;AAAA,UAAhBL,OAAgB,uEAAN,IAAM;AAClC,aAAO;AAAED,YAAI,EAAE;AAAE;AAAV;AAAuBM,aAAK,EAALA,KAAvB;AAA8BL,eAAO,EAAPA;AAA9B,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,aAASM,QAAT,CAAkBD,KAAlB,EAAyC;AAAA,UAAhBL,OAAgB,uEAAN,IAAM;AACrC,aAAO;AAAED,YAAI,EAAE;AAAE;AAAV;AAA0BM,aAAK,EAALA,KAA1B;AAAiCL,eAAO,EAAPA;AAAjC,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,aAASO,KAAT,CAAeC,MAAf,EAAuB;AACnB,aAAO;AAAET,YAAI,EAAE;AAAE;AAAV;AAAuBI,cAAM,EAAEK,MAA/B;AAAuCC,cAAM,EAAE;AAA/C,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,aAASC,KAAT,CAAeb,IAAf,EAAqBM,MAArB,EAA6BH,OAA7B,EAAsC;AAClC,aAAO;AAAED,YAAI,EAAE;AAAE;AAAV;AAAuBF,YAAI,EAAJA,IAAvB;AAA6BM,cAAM,EAANA,MAA7B;AAAqCH,eAAO,EAAPA;AAArC,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,aAASW,SAAT,CAAmBN,KAAnB,EAA0B;AACtB,aAAO;AAAEN,YAAI,EAAE;AAAE;AAAV;AAA2BM,aAAK,EAALA;AAA3B,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwKA,aAASO,UAAT,CAAoBC,eAApB,EAAqCR,KAArC,EAA4D;AAAA,UAAhBL,OAAgB,uEAAN,IAAM;AACxD,aAAO;AAAED,YAAI,EAAE;AAAE;AAAV;AAA4Be,YAAI,EAAED,eAAlC;AAAmDE,iBAAS,EAAEV,KAA9D;AAAqEL,eAAO,EAAPA;AAArE,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,aAASe,SAAT,CAAmBV,KAAnB,EAA0C;AAAA,UAAhBL,OAAgB,uEAAN,IAAM;AACtC,aAAO;AAAED,YAAI,EAAE;AAAE;AAAV;AAA2BgB,iBAAS,EAAEV,KAAtC;AAA6CL,eAAO,EAAPA;AAA7C,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;AAmBA,aAASgB,YAAT,GAAsC;AAAA,UAAhBhB,OAAgB,uEAAN,IAAM;AAClC,aAAO;AAAED,YAAI,EAAE;AAAE;AAAV;AAA8BC,eAAO,EAAPA;AAA9B,OAAP;AACH;AACD;;;;;;;;;;;;AAUA,aAASiB,YAAT,CAAsBF,SAAtB,EAAiD;AAAA,UAAhBf,OAAgB,uEAAN,IAAM;AAC7C,aAAO;AAAED,YAAI,EAAE;AAAG;AAAX;AAA6BgB,iBAAS,EAATA,SAA7B;AAAwCf,eAAO,EAAPA;AAAxC,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA,aAASkB,KAAT,CAAeC,QAAf,EAAyBJ,SAAzB,EAAoD;AAAA,UAAhBf,OAAgB,uEAAN,IAAM;AAChD,aAAO;AAAED,YAAI,EAAE;AAAG;AAAX;AAAwBoB,gBAAQ,EAARA,QAAxB;AAAkCJ,iBAAS,EAATA,SAAlC;AAA6Cf,eAAO,EAAPA;AAA7C,OAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFA,aAASoB,OAAT,CAAiBlB,OAAjB,EAA0Ba,SAA1B,EAAqC;AACjC,aAAO;AAAEhB,YAAI,EAAE;AAAG;AAAX;AAA0BG,eAAO,EAAPA,OAA1B;AAAmCa,iBAAS,EAATA;AAAnC,OAAP;AACH;AAED;;;;;;;;;AAOA,aAASM,iBAAT,CAA2BC,EAA3B,EAA+B;AAC3BC,aAAO,CAACC,OAAR,CAAgB,IAAhB,EAAsBC,IAAtB,CAA2BH,EAA3B;AACH;AAED;;;;;;;;AAOA;;;;;;;;;;;;;QAWMI,mB;;;AACF,qCAAqC;AAAA,YAAzBC,QAAyB,uEAAd,CAAc;AAAA,YAAXC,KAAW,uEAAH,CAAG;;AAAA;;AACjC,aAAKC,UAAL,GAAkB,EAAlB;AACA,aAAKC,WAAL,GAAmB,EAAnB;AACA,aAAKC,aAAL,GAAqB,EAArB;AACA,aAAKC,QAAL,GAAgB,KAAhB;AACA,aAAKC,UAAL,GAAkB,KAAlB;AACA,aAAKC,SAAL,GAAiB,KAAjB;AACA,aAAKC,SAAL,GAAiB,CAAjB;AACA,aAAKC,YAAL,GAAoB,IAApB;AACA,aAAKC,SAAL,GAAiBV,QAAQ,GAAGC,KAA5B;AACH;;;;eACD,qBAAY;AACR,cAAI,CAAC,KAAKM,SAAV,EAAqB;AACjB,iBAAKA,SAAL,GAAiB,IAAjB;;AACA,iBAAKL,UAAL,CAAgBS,OAAhB,CAAwB,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA1B;;AACA,iBAAKV,UAAL,GAAkB,EAAlB;AACH;AACJ;;;eACD,iBAAQU,EAAR,EAAY;AACR,eAAKT,WAAL,CAAiBU,IAAjB,CAAsBD,EAAtB;AACH;;;eACD,gBAAOA,EAAP,EAAW;AACP,eAAKV,UAAL,CAAgBW,IAAhB,CAAqBD,EAArB;AACH;;;eACD,mBAAUA,EAAV,EAAc;AACV,eAAKR,aAAL,CAAmBS,IAAnB,CAAwBD,EAAxB;AACH;;;eACD,sBAAa;AACT,iBAAO,KAAKP,QAAZ;AACH;;;eACD,gBAAO,CAAG;;;eACV,gBAAO;AACH,cAAI,CAAC,KAAKS,UAAL,EAAL,EAAwB;AACpB,iBAAKC,QAAL;;AACA,iBAAKC,gBAAL;AACH;;AACD,eAAKX,QAAL,GAAgB,IAAhB;AACH;AACD;;;;eACA,4BAAmB;AAAA;;AACfX,2BAAiB,CAAC;AAAA,mBAAM,MAAI,CAACuB,SAAL,EAAN;AAAA,WAAD,CAAjB;AACH;;;eACD,oBAAW;AACP,eAAKd,WAAL,CAAiBQ,OAAjB,CAAyB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAA3B;;AACA,eAAKT,WAAL,GAAmB,EAAnB;AACH;;;eACD,iBAAQ,CAAG;;;eACX,mBAAU,CAAG;;;eACb,kBAAS;AACL,eAAKc,SAAL;AACH;;;eACD,mBAAU;AACN,cAAI,CAAC,KAAKX,UAAV,EAAsB;AAClB,iBAAKA,UAAL,GAAkB,IAAlB;;AACA,gBAAI,CAAC,KAAKQ,UAAL,EAAL,EAAwB;AACpB,mBAAKC,QAAL;AACH;;AACD,iBAAKG,MAAL;;AACA,iBAAKd,aAAL,CAAmBO,OAAnB,CAA2B,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA7B;;AACA,iBAAKR,aAAL,GAAqB,EAArB;AACH;AACJ;;;eACD,iBAAQ,CAAG;;;eACX,qBAAYe,QAAZ,EAAsB;AAClB,eAAKX,SAAL,GAAiB,KAAKE,SAAL,GAAiBS,QAAQ,GAAG,KAAKT,SAAjC,GAA6C,CAA9D;AACH;;;eACD,uBAAc;AACV,iBAAO,KAAKA,SAAL,GAAiB,KAAKF,SAAL,GAAiB,KAAKE,SAAvC,GAAmD,CAA1D;AACH;AACD;;;;eACA,yBAAgBU,SAAhB,EAA2B;AACvB,cAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAKjB,WAA5B,GAA0C,KAAKD,UAA/D;AACAmB,iBAAO,CAACV,OAAR,CAAgB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAAlB;AACAS,iBAAO,CAACC,MAAR,GAAiB,CAAjB;AACH;;;;;AAGL;;;;;;;;AAOA;;;;;;;;;;QAQMC,oB;;;AACF,oCAAYC,QAAZ,EAAsB;AAAA;;AAAA;;AAClB,aAAKtB,UAAL,GAAkB,EAAlB;AACA,aAAKC,WAAL,GAAmB,EAAnB;AACA,aAAKI,SAAL,GAAiB,KAAjB;AACA,aAAKF,QAAL,GAAgB,KAAhB;AACA,aAAKC,UAAL,GAAkB,KAAlB;AACA,aAAKF,aAAL,GAAqB,EAArB;AACA,aAAKK,YAAL,GAAoB,IAApB;AACA,aAAKC,SAAL,GAAiB,CAAjB;AACA,aAAKe,OAAL,GAAeD,QAAf;AACA,YAAIE,SAAS,GAAG,CAAhB;AACA,YAAIC,YAAY,GAAG,CAAnB;AACA,YAAIC,UAAU,GAAG,CAAjB;AACA,YAAMC,KAAK,GAAG,KAAKJ,OAAL,CAAaH,MAA3B;;AACA,YAAIO,KAAK,IAAI,CAAb,EAAgB;AACZnC,2BAAiB,CAAC;AAAA,mBAAM,MAAI,CAACuB,SAAL,EAAN;AAAA,WAAD,CAAjB;AACH,SAFD,MAGK;AACD,eAAKQ,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM,EAAI;AAC3BA,kBAAM,CAACC,MAAP,CAAc,YAAM;AAChB,kBAAI,EAAEL,SAAF,IAAeG,KAAnB,EAA0B;AACtB,sBAAI,CAACZ,SAAL;AACH;AACJ,aAJD;AAKAa,kBAAM,CAACE,SAAP,CAAiB,YAAM;AACnB,kBAAI,EAAEL,YAAF,IAAkBE,KAAtB,EAA6B;AACzB,sBAAI,CAACI,UAAL;AACH;AACJ,aAJD;AAKAH,kBAAM,CAACI,OAAP,CAAe,YAAM;AACjB,kBAAI,EAAEN,UAAF,IAAgBC,KAApB,EAA2B;AACvB,sBAAI,CAACd,QAAL;AACH;AACJ,aAJD;AAKH,WAhBD;AAiBH;;AACD,aAAKL,SAAL,GAAiB,KAAKe,OAAL,CAAaU,MAAb,CAAoB,UAACC,IAAD,EAAON,MAAP;AAAA,iBAAkBO,IAAI,CAACC,GAAL,CAASF,IAAT,EAAeN,MAAM,CAACpB,SAAtB,CAAlB;AAAA,SAApB,EAAwE,CAAxE,CAAjB;AACH;;;;eACD,qBAAY;AACR,cAAI,CAAC,KAAKH,SAAV,EAAqB;AACjB,iBAAKA,SAAL,GAAiB,IAAjB;;AACA,iBAAKL,UAAL,CAAgBS,OAAhB,CAAwB,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA1B;;AACA,iBAAKV,UAAL,GAAkB,EAAlB;AACH;AACJ;;;eACD,gBAAO;AACH,eAAKuB,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,mBAAIA,MAAM,CAACS,IAAP,EAAJ;AAAA,WAA3B;AACH;;;eACD,iBAAQ3B,EAAR,EAAY;AACR,eAAKT,WAAL,CAAiBU,IAAjB,CAAsBD,EAAtB;AACH;;;eACD,oBAAW;AACP,cAAI,CAAC,KAAKE,UAAL,EAAL,EAAwB;AACpB,iBAAKT,QAAL,GAAgB,IAAhB;;AACA,iBAAKF,WAAL,CAAiBQ,OAAjB,CAAyB,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA3B;;AACA,iBAAKT,WAAL,GAAmB,EAAnB;AACH;AACJ;;;eACD,gBAAOS,EAAP,EAAW;AACP,eAAKV,UAAL,CAAgBW,IAAhB,CAAqBD,EAArB;AACH;;;eACD,mBAAUA,EAAV,EAAc;AACV,eAAKR,aAAL,CAAmBS,IAAnB,CAAwBD,EAAxB;AACH;;;eACD,sBAAa;AACT,iBAAO,KAAKP,QAAZ;AACH;;;eACD,gBAAO;AACH,cAAI,CAAC,KAAKI,YAAV,EAAwB;AACpB,iBAAK8B,IAAL;AACH;;AACD,eAAKxB,QAAL;;AACA,eAAKU,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,mBAAIA,MAAM,CAACU,IAAP,EAAJ;AAAA,WAA3B;AACH;;;eACD,iBAAQ;AACJ,eAAKf,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,mBAAIA,MAAM,CAACW,KAAP,EAAJ;AAAA,WAA3B;AACH;;;eACD,mBAAU;AACN,eAAKhB,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,mBAAIA,MAAM,CAACY,OAAP,EAAJ;AAAA,WAA3B;AACH;;;eACD,kBAAS;AACL,eAAKzB,SAAL;;AACA,eAAKQ,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,mBAAIA,MAAM,CAACZ,MAAP,EAAJ;AAAA,WAA3B;AACH;;;eACD,mBAAU;AACN,eAAKe,UAAL;AACH;;;eACD,sBAAa;AACT,cAAI,CAAC,KAAK3B,UAAV,EAAsB;AAClB,iBAAKA,UAAL,GAAkB,IAAlB;;AACA,iBAAKW,SAAL;;AACA,iBAAKQ,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,qBAAIA,MAAM,CAACa,OAAP,EAAJ;AAAA,aAA3B;;AACA,iBAAKvC,aAAL,CAAmBO,OAAnB,CAA2B,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA7B;;AACA,iBAAKR,aAAL,GAAqB,EAArB;AACH;AACJ;;;eACD,iBAAQ;AACJ,eAAKqB,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM;AAAA,mBAAIA,MAAM,CAACc,KAAP,EAAJ;AAAA,WAA3B;AACA,eAAKtC,UAAL,GAAkB,KAAlB;AACA,eAAKC,SAAL,GAAiB,KAAjB;AACA,eAAKF,QAAL,GAAgB,KAAhB;AACH;;;eACD,qBAAYwC,CAAZ,EAAe;AACX,cAAMC,cAAc,GAAGD,CAAC,GAAG,KAAKnC,SAAhC;AACA,eAAKe,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM,EAAI;AAC3B,gBAAMX,QAAQ,GAAGW,MAAM,CAACpB,SAAP,GAAmB2B,IAAI,CAACU,GAAL,CAAS,CAAT,EAAYD,cAAc,GAAGhB,MAAM,CAACpB,SAApC,CAAnB,GAAoE,CAArF;AACAoB,kBAAM,CAACkB,WAAP,CAAmB7B,QAAnB;AACH,WAHD;AAIH;;;eACD,uBAAc;AACV,cAAM8B,aAAa,GAAG,KAAKxB,OAAL,CAAaU,MAAb,CAAoB,UAACe,YAAD,EAAepB,MAAf,EAA0B;AAChE,gBAAMqB,kBAAkB,GAAGD,YAAY,KAAK,IAAjB,IAAyBpB,MAAM,CAACpB,SAAP,GAAmBwC,YAAY,CAACxC,SAApF;AACA,mBAAOyC,kBAAkB,GAAGrB,MAAH,GAAYoB,YAArC;AACH,WAHqB,EAGnB,IAHmB,CAAtB;AAIA,iBAAOD,aAAa,IAAI,IAAjB,GAAwBA,aAAa,CAACG,WAAd,EAAxB,GAAsD,CAA7D;AACH;;;eACD,yBAAgB;AACZ,eAAK3B,OAAL,CAAad,OAAb,CAAqB,UAAAmB,MAAM,EAAI;AAC3B,gBAAIA,MAAM,CAACuB,aAAX,EAA0B;AACtBvB,oBAAM,CAACuB,aAAP;AACH;AACJ,WAJD;AAKH;AACD;;;;eACA,yBAAgBjC,SAAhB,EAA2B;AACvB,cAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAKjB,WAA5B,GAA0C,KAAKD,UAA/D;AACAmB,iBAAO,CAACV,OAAR,CAAgB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAAlB;AACAS,iBAAO,CAACC,MAAR,GAAiB,CAAjB;AACH;;;;;AAGL;;;;;;;;;AAOA,QAAMgC,UAAU,GAAG,GAAnB;AAEA;;;;;;;;AAQA;;;;;;;;AAQA;;;;;;;;AAQA;;;AAMA;;;;;;;;;AClrCA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;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;;;;;;;;;AAQA,aAASC,SAAT,GAAqB;AACjB,aAAQ,OAAOC,MAAP,KAAkB,WAAlB,IAAiC,OAAOA,MAAM,CAACC,QAAd,KAA2B,WAApE;AACH;;AACD,aAASC,MAAT,GAAkB;AACd;AACA;AACA;AACA;AACA;AACA,aAAO,OAAOC,OAAP,KAAmB,WAAnB,IAAkC,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,OAAjB,MAA8B,kBAAvE;AACH;;AACD,aAASG,mBAAT,CAA6BrC,OAA7B,EAAsC;AAClC,cAAQA,OAAO,CAACH,MAAhB;AACI,aAAK,CAAL;AACI,iBAAO,IAAI,uEAAJ,EAAP;;AACJ,aAAK,CAAL;AACI,iBAAOG,OAAO,CAAC,CAAD,CAAd;;AACJ;AACI,iBAAO,IAAI,yEAAJ,CAA0BA,OAA1B,CAAP;AANR;AAQH;;AACD,aAASsC,kBAAT,CAA4BC,MAA5B,EAAoCC,UAApC,EAAgDC,OAAhD,EAAyDlF,SAAzD,EAAqG;AAAA,UAAjCmF,SAAiC,uEAArB,EAAqB;AAAA,UAAjBC,UAAiB,uEAAJ,EAAI;AACjG,UAAMC,MAAM,GAAG,EAAf;AACA,UAAMC,mBAAmB,GAAG,EAA5B;AACA,UAAIC,cAAc,GAAG,CAAC,CAAtB;AACA,UAAIC,gBAAgB,GAAG,IAAvB;AACAxF,eAAS,CAAC2B,OAAV,CAAkB,UAAA8D,EAAE,EAAI;AACpB,YAAM3F,MAAM,GAAG2F,EAAE,CAAC,QAAD,CAAjB;AACA,YAAMC,YAAY,GAAG5F,MAAM,IAAIyF,cAA/B;AACA,YAAMI,kBAAkB,GAAID,YAAY,IAAIF,gBAAjB,IAAsC,EAAjE;AACAI,cAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgB9D,OAAhB,CAAwB,UAAAmE,IAAI,EAAI;AAC5B,cAAIC,cAAc,GAAGD,IAArB;AACA,cAAIE,eAAe,GAAGP,EAAE,CAACK,IAAD,CAAxB;;AACA,cAAIA,IAAI,KAAK,QAAb,EAAuB;AACnBC,0BAAc,GAAGd,UAAU,CAACgB,qBAAX,CAAiCF,cAAjC,EAAiDV,MAAjD,CAAjB;;AACA,oBAAQW,eAAR;AACI,mBAAK,8DAAL;AACIA,+BAAe,GAAGb,SAAS,CAACW,IAAD,CAA3B;AACA;;AACJ,mBAAK,8DAAL;AACIE,+BAAe,GAAGZ,UAAU,CAACU,IAAD,CAA5B;AACA;;AACJ;AACIE,+BAAe,GACXf,UAAU,CAACiB,mBAAX,CAA+BJ,IAA/B,EAAqCC,cAArC,EAAqDC,eAArD,EAAsEX,MAAtE,CADJ;AAEA;AAVR;AAYH;;AACDM,4BAAkB,CAACI,cAAD,CAAlB,GAAqCC,eAArC;AACH,SAnBD;;AAoBA,YAAI,CAACN,YAAL,EAAmB;AACfJ,6BAAmB,CAACzD,IAApB,CAAyB8D,kBAAzB;AACH;;AACDH,wBAAgB,GAAGG,kBAAnB;AACAJ,sBAAc,GAAGzF,MAAjB;AACH,OA7BD;;AA8BA,UAAIuF,MAAM,CAAC/C,MAAX,EAAmB;AACf,YAAM6D,UAAU,GAAG,OAAnB;AACA,cAAM,IAAIC,KAAJ,yDAA2DD,UAA3D,SAAwEd,MAAM,CAACgB,IAAP,CAAYF,UAAZ,CAAxE,EAAN;AACH;;AACD,aAAOb,mBAAP;AACH;;AACD,aAASgB,cAAT,CAAwBxD,MAAxB,EAAgCyD,SAAhC,EAA2CC,KAA3C,EAAkDC,QAAlD,EAA4D;AACxD,cAAQF,SAAR;AACI,aAAK,OAAL;AACIzD,gBAAM,CAACI,OAAP,CAAe;AAAA,mBAAMuD,QAAQ,CAACD,KAAK,IAAIE,kBAAkB,CAACF,KAAD,EAAQ,OAAR,EAAiB1D,MAAjB,CAA5B,CAAd;AAAA,WAAf;AACA;;AACJ,aAAK,MAAL;AACIA,gBAAM,CAACC,MAAP,CAAc;AAAA,mBAAM0D,QAAQ,CAACD,KAAK,IAAIE,kBAAkB,CAACF,KAAD,EAAQ,MAAR,EAAgB1D,MAAhB,CAA5B,CAAd;AAAA,WAAd;AACA;;AACJ,aAAK,SAAL;AACIA,gBAAM,CAACE,SAAP,CAAiB;AAAA,mBAAMyD,QAAQ,CAACD,KAAK,IAAIE,kBAAkB,CAACF,KAAD,EAAQ,SAAR,EAAmB1D,MAAnB,CAA5B,CAAd;AAAA,WAAjB;AACA;AATR;AAWH;;AACD,aAAS4D,kBAAT,CAA4BC,CAA5B,EAA+BvE,SAA/B,EAA0CU,MAA1C,EAAkD;AAC9C,UAAMpB,SAAS,GAAGoB,MAAM,CAACpB,SAAzB;AACA,UAAMkF,QAAQ,GAAG9D,MAAM,CAAC8D,QAAP,GAAkB,IAAlB,GAAyB,KAA1C;AACA,UAAMJ,KAAK,GAAGK,kBAAkB,CAACF,CAAC,CAACzB,OAAH,EAAYyB,CAAC,CAACG,WAAd,EAA2BH,CAAC,CAACI,SAA7B,EAAwCJ,CAAC,CAACK,OAA1C,EAAmD5E,SAAS,IAAIuE,CAAC,CAACvE,SAAlE,EAA6EV,SAAS,IAAIuF,SAAb,GAAyBN,CAAC,CAACjF,SAA3B,GAAuCA,SAApH,EAA+HkF,QAA/H,CAAhC;AACA,UAAMM,IAAI,GAAGP,CAAC,CAAC,OAAD,CAAd;;AACA,UAAIO,IAAI,IAAI,IAAZ,EAAkB;AACdV,aAAK,CAAC,OAAD,CAAL,GAAiBU,IAAjB;AACH;;AACD,aAAOV,KAAP;AACH;;AACD,aAASK,kBAAT,CAA4B3B,OAA5B,EAAqC4B,WAArC,EAAkDC,SAAlD,EAA6DC,OAA7D,EAA+G;AAAA,UAAzC5E,SAAyC,uEAA7B,EAA6B;AAAA,UAAzBV,SAAyB,uEAAb,CAAa;AAAA,UAAVkF,QAAU;AAC3G,aAAO;AAAE1B,eAAO,EAAPA,OAAF;AAAW4B,mBAAW,EAAXA,WAAX;AAAwBC,iBAAS,EAATA,SAAxB;AAAmCC,eAAO,EAAPA,OAAnC;AAA4C5E,iBAAS,EAATA,SAA5C;AAAuDV,iBAAS,EAATA,SAAvD;AAAkEkF,gBAAQ,EAAE,CAAC,CAACA;AAA9E,OAAP;AACH;;AACD,aAASO,eAAT,CAAyBC,GAAzB,EAA8BC,GAA9B,EAAmCC,YAAnC,EAAiD;AAC7C,UAAIC,KAAJ;;AACA,UAAIH,GAAG,YAAYI,GAAnB,EAAwB;AACpBD,aAAK,GAAGH,GAAG,CAACK,GAAJ,CAAQJ,GAAR,CAAR;;AACA,YAAI,CAACE,KAAL,EAAY;AACRH,aAAG,CAACM,GAAJ,CAAQL,GAAR,EAAaE,KAAK,GAAGD,YAArB;AACH;AACJ,OALD,MAMK;AACDC,aAAK,GAAGH,GAAG,CAACC,GAAD,CAAX;;AACA,YAAI,CAACE,KAAL,EAAY;AACRA,eAAK,GAAGH,GAAG,CAACC,GAAD,CAAH,GAAWC,YAAnB;AACH;AACJ;;AACD,aAAOC,KAAP;AACH;;AACD,aAASI,oBAAT,CAA8BC,OAA9B,EAAuC;AACnC,UAAMC,YAAY,GAAGD,OAAO,CAACE,OAAR,CAAgB,GAAhB,CAArB;AACA,UAAMC,EAAE,GAAGH,OAAO,CAACI,SAAR,CAAkB,CAAlB,EAAqBH,YAArB,CAAX;AACA,UAAMI,MAAM,GAAGL,OAAO,CAACM,MAAR,CAAeL,YAAY,GAAG,CAA9B,CAAf;AACA,aAAO,CAACE,EAAD,EAAKE,MAAL,CAAP;AACH;;AACD,QAAIE,SAAS,GAAG,mBAACC,IAAD,EAAOC,IAAP;AAAA,aAAgB,KAAhB;AAAA,KAAhB;;AACA,QAAMC,EAAE,GAAGH,SAAX;;AACA,QAAII,QAAQ,GAAG,kBAACrD,OAAD,EAAU1E,QAAV;AAAA,aAAuB,KAAvB;AAAA,KAAf;;AACA,QAAMgI,EAAE,GAAGD,QAAX;;AACA,QAAIE,MAAM,GAAG,gBAACvD,OAAD,EAAU1E,QAAV,EAAoBkI,KAApB,EAA8B;AACvC,aAAO,EAAP;AACH,KAFD;;AAGA,QAAMC,EAAE,GAAGF,MAAX,C,CACA;AACA;;AACA,QAAMG,OAAO,GAAGlE,MAAM,EAAtB;;AACA,QAAIkE,OAAO,IAAI,OAAOC,OAAP,KAAmB,WAAlC,EAA+C;AAC3C;AACAV,eAAS,GAAG,mBAACC,IAAD,EAAOC,IAAP,EAAgB;AACxB,eAAOD,IAAI,CAACU,QAAL,CAAcT,IAAd,CAAP;AACH,OAFD;;AAGAE,cAAQ,GAAI,YAAM;AACd,YAAIK,OAAO,IAAIC,OAAO,CAACE,SAAR,CAAkBC,OAAjC,EAA0C;AACtC,iBAAO,UAAC9D,OAAD,EAAU1E,QAAV;AAAA,mBAAuB0E,OAAO,CAAC8D,OAAR,CAAgBxI,QAAhB,CAAvB;AAAA,WAAP;AACH,SAFD,MAGK;AACD,cAAMyI,KAAK,GAAGJ,OAAO,CAACE,SAAtB;AACA,cAAMnH,EAAE,GAAGqH,KAAK,CAACC,eAAN,IAAyBD,KAAK,CAACE,kBAA/B,IAAqDF,KAAK,CAACG,iBAA3D,IACPH,KAAK,CAACI,gBADC,IACmBJ,KAAK,CAACK,qBADpC;;AAEA,cAAI1H,EAAJ,EAAQ;AACJ,mBAAO,UAACsD,OAAD,EAAU1E,QAAV;AAAA,qBAAuBoB,EAAE,CAAC2H,KAAH,CAASrE,OAAT,EAAkB,CAAC1E,QAAD,CAAlB,CAAvB;AAAA,aAAP;AACH,WAFD,MAGK;AACD,mBAAO+H,QAAP;AACH;AACJ;AACJ,OAfU,EAAX;;AAgBAE,YAAM,GAAG,gBAACvD,OAAD,EAAU1E,QAAV,EAAoBkI,KAApB,EAA8B;AACnC,YAAIc,OAAO,GAAG,EAAd;;AACA,YAAId,KAAJ,EAAW;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAMe,KAAK,GAAGvE,OAAO,CAACwE,gBAAR,CAAyBlJ,QAAzB,CAAd;;AACA,eAAK,IAAImJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,KAAK,CAACnH,MAA1B,EAAkCqH,CAAC,EAAnC,EAAuC;AACnCH,mBAAO,CAAC3H,IAAR,CAAa4H,KAAK,CAACE,CAAD,CAAlB;AACH;AACJ,SAZD,MAaK;AACD,cAAMC,GAAG,GAAG1E,OAAO,CAAC2E,aAAR,CAAsBrJ,QAAtB,CAAZ;;AACA,cAAIoJ,GAAJ,EAAS;AACLJ,mBAAO,CAAC3H,IAAR,CAAa+H,GAAb;AACH;AACJ;;AACD,eAAOJ,OAAP;AACH,OAtBD;AAuBH;;AACD,aAASM,oBAAT,CAA8BhE,IAA9B,EAAoC;AAChC;AACA;AACA,aAAOA,IAAI,CAACkC,SAAL,CAAe,CAAf,EAAkB,CAAlB,KAAwB,OAA/B,CAHgC,CAGQ;AAC3C;;AACD,QAAI+B,YAAY,GAAG,IAAnB;AACA,QAAIC,UAAU,GAAG,KAAjB;;AACA,aAASC,sBAAT,CAA+BnE,IAA/B,EAAqC;AACjC,UAAI,CAACiE,YAAL,EAAmB;AACfA,oBAAY,GAAGG,WAAW,MAAM,EAAhC;AACAF,kBAAU,GAAGD,YAAY,CAACnK,KAAb,GAAsB,sBAAsBmK,YAAY,CAACnK,KAAzD,GAAkE,KAA/E;AACH;;AACD,UAAIuK,MAAM,GAAG,IAAb;;AACA,UAAIJ,YAAY,CAACnK,KAAb,IAAsB,CAACkK,oBAAoB,CAAChE,IAAD,CAA/C,EAAuD;AACnDqE,cAAM,GAAGrE,IAAI,IAAIiE,YAAY,CAACnK,KAA9B;;AACA,YAAI,CAACuK,MAAD,IAAWH,UAAf,EAA2B;AACvB,cAAMI,SAAS,GAAG,WAAWtE,IAAI,CAACuE,MAAL,CAAY,CAAZ,EAAeC,WAAf,EAAX,GAA0CxE,IAAI,CAACoC,MAAL,CAAY,CAAZ,CAA5D;AACAiC,gBAAM,GAAGC,SAAS,IAAIL,YAAY,CAACnK,KAAnC;AACH;AACJ;;AACD,aAAOuK,MAAP;AACH;;AACD,aAASD,WAAT,GAAuB;AACnB,UAAI,OAAOzF,QAAP,IAAmB,WAAvB,EAAoC;AAChC,eAAOA,QAAQ,CAAC8F,IAAhB;AACH;;AACD,aAAO,IAAP;AACH;;AACD,QAAMC,eAAc,GAAGjC,QAAvB;AACA,QAAMkC,gBAAe,GAAGtC,SAAxB;AACA,QAAMuC,WAAW,GAAGjC,MAApB;;AACA,aAASkC,mBAAT,CAA6BC,MAA7B,EAAqC;AACjC,UAAMC,MAAM,GAAG,EAAf;AACAjF,YAAM,CAACC,IAAP,CAAY+E,MAAZ,EAAoBjJ,OAApB,CAA4B,UAAAmE,IAAI,EAAI;AAChC,YAAMgF,OAAO,GAAGhF,IAAI,CAACiF,OAAL,CAAa,iBAAb,EAAgC,OAAhC,CAAhB;AACAF,cAAM,CAACC,OAAD,CAAN,GAAkBF,MAAM,CAAC9E,IAAD,CAAxB;AACH,OAHD;AAIA,aAAO+E,MAAP;AACH;AAED;;;;;;;;AAOA;;;;;QAGMG,mB;;;;;;;;;eACF,+BAAsBlF,IAAtB,EAA4B;AACxB,iBAAOmE,sBAAqB,CAACnE,IAAD,CAA5B;AACH;;;eACD,wBAAeZ,OAAf,EAAwB1E,QAAxB,EAAkC;AAC9B,iBAAOgK,eAAc,CAACtF,OAAD,EAAU1E,QAAV,CAArB;AACH;;;eACD,yBAAgB4H,IAAhB,EAAsBC,IAAtB,EAA4B;AACxB,iBAAOoC,gBAAe,CAACrC,IAAD,EAAOC,IAAP,CAAtB;AACH;;;eACD,eAAMnD,OAAN,EAAe1E,QAAf,EAAyBkI,KAAzB,EAAgC;AAC5B,iBAAOgC,WAAW,CAACxF,OAAD,EAAU1E,QAAV,EAAoBkI,KAApB,CAAlB;AACH;;;eACD,sBAAaxD,OAAb,EAAsBY,IAAtB,EAA4BwB,YAA5B,EAA0C;AACtC,iBAAOA,YAAY,IAAI,EAAvB;AACH;;;eACD,iBAAQpC,OAAR,EAAiBlF,SAAjB,EAA4BgB,QAA5B,EAAsCC,KAAtC,EAA6CgK,MAA7C,EAAoG;AAAA,cAA/CC,eAA+C,uEAA7B,EAA6B;AAAA,cAAzBC,uBAAyB;AAChG,iBAAO,IAAI,uEAAJ,CAAwBnK,QAAxB,EAAkCC,KAAlC,CAAP;AACH;;;;;;AAEL+J,uBAAmB,CAACI,IAApB,GAA2B,SAASC,2BAAT,CAAqCC,CAArC,EAAwC;AAAE,aAAO,KAAKA,CAAC,IAAIN,mBAAV,GAAP;AAA0C,KAA/G;;AACAA,uBAAmB,CAACO,KAApB,GAA4B,iEAA0B;AAAEC,WAAK,EAAER,mBAAT;AAA8BS,aAAO,EAAET,mBAAmB,CAACI;AAA3D,KAA1B,CAA5B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBV,mBAAzB,EAA8C,CAAC;AACzG5L,YAAI,EAAE;AADmG,OAAD,CAA9C,EAE1D,IAF0D,EAEpD,IAFoD,CAAnD;AAEO,KAFtB;AAGA;;;;;QAGMuM,e;;;;AAENA,mBAAe,CAACC,IAAhB,GAAuB,IAAIZ,mBAAJ,EAAvB;AAEA;;;;;;;;AAOA,QAAMa,UAAU,GAAG,IAAnB;AACA,QAAMC,uBAAuB,GAAG,IAAhC;AACA,QAAMC,qBAAqB,GAAG,IAA9B;AACA,QAAMC,eAAe,GAAG,UAAxB;AACA,QAAMC,eAAe,GAAG,UAAxB;AACA,QAAMC,cAAc,GAAG,WAAvB;AACA,QAAMC,cAAc,GAAG,WAAvB;AACA,QAAMC,oBAAoB,GAAG,YAA7B;AACA,QAAMC,mBAAmB,GAAG,aAA5B;AACA,QAAMC,sBAAsB,GAAG,cAA/B;AACA,QAAMC,qBAAqB,GAAG,eAA9B;;AACA,aAASC,kBAAT,CAA4BjF,KAA5B,EAAmC;AAC/B,UAAI,OAAOA,KAAP,IAAgB,QAApB,EACI,OAAOA,KAAP;AACJ,UAAMyB,OAAO,GAAGzB,KAAK,CAACkF,KAAN,CAAY,mBAAZ,CAAhB;AACA,UAAI,CAACzD,OAAD,IAAYA,OAAO,CAAC1G,MAAR,GAAiB,CAAjC,EACI,OAAO,CAAP;AACJ,aAAOoK,qBAAqB,CAACC,UAAU,CAAC3D,OAAO,CAAC,CAAD,CAAR,CAAX,EAAyBA,OAAO,CAAC,CAAD,CAAhC,CAA5B;AACH;;AACD,aAAS0D,qBAAT,CAA+BnF,KAA/B,EAAsCqF,IAAtC,EAA4C;AACxC,cAAQA,IAAR;AACI,aAAK,GAAL;AACI,iBAAOrF,KAAK,GAAGsE,UAAf;;AACJ;AAAS;AACL,iBAAOtE,KAAP;AAJR;AAMH;;AACD,aAASsF,aAAT,CAAuBtN,OAAvB,EAAgC8F,MAAhC,EAAwCyH,mBAAxC,EAA6D;AACzD,aAAOvN,OAAO,CAACwN,cAAR,CAAuB,UAAvB,IACHxN,OADG,GAEHyN,mBAAmB,CAACzN,OAAD,EAAU8F,MAAV,EAAkByH,mBAAlB,CAFvB;AAGH;;AACD,aAASE,mBAAT,CAA6BC,GAA7B,EAAkC5H,MAAlC,EAA0CyH,mBAA1C,EAA+D;AAC3D,UAAMI,KAAK,GAAG,0EAAd;AACA,UAAIlM,QAAJ;AACA,UAAIC,KAAK,GAAG,CAAZ;AACA,UAAIgK,MAAM,GAAG,EAAb;;AACA,UAAI,OAAOgC,GAAP,KAAe,QAAnB,EAA6B;AACzB,YAAMjE,OAAO,GAAGiE,GAAG,CAACR,KAAJ,CAAUS,KAAV,CAAhB;;AACA,YAAIlE,OAAO,KAAK,IAAhB,EAAsB;AAClB3D,gBAAM,CAACxD,IAAP,uCAA0CoL,GAA1C;AACA,iBAAO;AAAEjM,oBAAQ,EAAE,CAAZ;AAAeC,iBAAK,EAAE,CAAtB;AAAyBgK,kBAAM,EAAE;AAAjC,WAAP;AACH;;AACDjK,gBAAQ,GAAG0L,qBAAqB,CAACC,UAAU,CAAC3D,OAAO,CAAC,CAAD,CAAR,CAAX,EAAyBA,OAAO,CAAC,CAAD,CAAhC,CAAhC;AACA,YAAMmE,UAAU,GAAGnE,OAAO,CAAC,CAAD,CAA1B;;AACA,YAAImE,UAAU,IAAI,IAAlB,EAAwB;AACpBlM,eAAK,GAAGyL,qBAAqB,CAACC,UAAU,CAACQ,UAAD,CAAX,EAAyBnE,OAAO,CAAC,CAAD,CAAhC,CAA7B;AACH;;AACD,YAAMoE,SAAS,GAAGpE,OAAO,CAAC,CAAD,CAAzB;;AACA,YAAIoE,SAAJ,EAAe;AACXnC,gBAAM,GAAGmC,SAAT;AACH;AACJ,OAfD,MAgBK;AACDpM,gBAAQ,GAAGiM,GAAX;AACH;;AACD,UAAI,CAACH,mBAAL,EAA0B;AACtB,YAAIO,cAAc,GAAG,KAArB;AACA,YAAIC,UAAU,GAAGjI,MAAM,CAAC/C,MAAxB;;AACA,YAAItB,QAAQ,GAAG,CAAf,EAAkB;AACdqE,gBAAM,CAACxD,IAAP;AACAwL,wBAAc,GAAG,IAAjB;AACH;;AACD,YAAIpM,KAAK,GAAG,CAAZ,EAAe;AACXoE,gBAAM,CAACxD,IAAP;AACAwL,wBAAc,GAAG,IAAjB;AACH;;AACD,YAAIA,cAAJ,EAAoB;AAChBhI,gBAAM,CAACkI,MAAP,CAAcD,UAAd,EAA0B,CAA1B,wCAA2DL,GAA3D;AACH;AACJ;;AACD,aAAO;AAAEjM,gBAAQ,EAARA,QAAF;AAAYC,aAAK,EAALA,KAAZ;AAAmBgK,cAAM,EAANA;AAAnB,OAAP;AACH;;AACD,aAASuC,OAAT,CAAiBC,GAAjB,EAAwC;AAAA,UAAlBC,WAAkB,uEAAJ,EAAI;AACpC9H,YAAM,CAACC,IAAP,CAAY4H,GAAZ,EAAiB9L,OAAjB,CAAyB,UAAAmE,IAAI,EAAI;AAC7B4H,mBAAW,CAAC5H,IAAD,CAAX,GAAoB2H,GAAG,CAAC3H,IAAD,CAAvB;AACH,OAFD;AAGA,aAAO4H,WAAP;AACH;;AACD,aAASC,eAAT,CAAyBnO,MAAzB,EAAiC;AAC7B,UAAMoO,gBAAgB,GAAG,EAAzB;;AACA,UAAIC,KAAK,CAACC,OAAN,CAActO,MAAd,CAAJ,EAA2B;AACvBA,cAAM,CAACmC,OAAP,CAAe,UAAAuF,IAAI;AAAA,iBAAI6G,UAAU,CAAC7G,IAAD,EAAO,KAAP,EAAc0G,gBAAd,CAAd;AAAA,SAAnB;AACH,OAFD,MAGK;AACDG,kBAAU,CAACvO,MAAD,EAAS,KAAT,EAAgBoO,gBAAhB,CAAV;AACH;;AACD,aAAOA,gBAAP;AACH;;AACD,aAASG,UAAT,CAAoBvO,MAApB,EAA4BwO,aAA5B,EAA6D;AAAA,UAAlBN,WAAkB,uEAAJ,EAAI;;AACzD,UAAIM,aAAJ,EAAmB;AACf;AACA;AACA;AACA,aAAK,IAAIlI,IAAT,IAAiBtG,MAAjB,EAAyB;AACrBkO,qBAAW,CAAC5H,IAAD,CAAX,GAAoBtG,MAAM,CAACsG,IAAD,CAA1B;AACH;AACJ,OAPD,MAQK;AACD0H,eAAO,CAAChO,MAAD,EAASkO,WAAT,CAAP;AACH;;AACD,aAAOA,WAAP;AACH;;AACD,aAASO,uBAAT,CAAiC/I,OAAjC,EAA0CmC,GAA1C,EAA+CE,KAA/C,EAAsD;AAClD;AACA;AACA,UAAIA,KAAJ,EAAW;AACP,eAAOF,GAAG,GAAG,GAAN,GAAYE,KAAZ,GAAoB,GAA3B;AACH,OAFD,MAGK;AACD,eAAO,EAAP;AACH;AACJ;;AACD,aAAS2G,mBAAT,CAA6BhJ,OAA7B,EAAsC;AAClC;AACA;AACA;AACA;AACA,UAAIiJ,cAAc,GAAG,EAArB;;AACA,WAAK,IAAIxE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGzE,OAAO,CAACtF,KAAR,CAAc0C,MAAlC,EAA0CqH,CAAC,EAA3C,EAA+C;AAC3C,YAAMtC,GAAG,GAAGnC,OAAO,CAACtF,KAAR,CAAcwO,IAAd,CAAmBzE,CAAnB,CAAZ;AACAwE,sBAAc,IAAIF,uBAAuB,CAAC/I,OAAD,EAAUmC,GAAV,EAAenC,OAAO,CAACtF,KAAR,CAAcyO,gBAAd,CAA+BhH,GAA/B,CAAf,CAAzC;AACH;;AACD,WAAK,IAAMA,IAAX,IAAkBnC,OAAO,CAACtF,KAA1B,EAAiC;AAC7B;AACA,YAAI,CAACsF,OAAO,CAACtF,KAAR,CAAcmN,cAAd,CAA6B1F,IAA7B,CAAD,IAAsCA,IAAG,CAACiH,UAAJ,CAAe,GAAf,CAA1C,EAA+D;AAC3D;AACH;;AACD,YAAMC,OAAO,GAAGC,mBAAmB,CAACnH,IAAD,CAAnC;AACA8G,sBAAc,IAAIF,uBAAuB,CAAC/I,OAAD,EAAUqJ,OAAV,EAAmBrJ,OAAO,CAACtF,KAAR,CAAcyH,IAAd,CAAnB,CAAzC;AACH;;AACDnC,aAAO,CAACuJ,YAAR,CAAqB,OAArB,EAA8BN,cAA9B;AACH;;AACD,aAASO,SAAT,CAAmBxJ,OAAnB,EAA4B1F,MAA5B,EAAoCmP,YAApC,EAAkD;AAC9C,UAAIzJ,OAAO,CAAC,OAAD,CAAX,EAAsB;AAClBU,cAAM,CAACC,IAAP,CAAYrG,MAAZ,EAAoBmC,OAApB,CAA4B,UAAAmE,IAAI,EAAI;AAChC,cAAMsE,SAAS,GAAGwE,mBAAmB,CAAC9I,IAAD,CAArC;;AACA,cAAI6I,YAAY,IAAI,CAACA,YAAY,CAAC5B,cAAb,CAA4BjH,IAA5B,CAArB,EAAwD;AACpD6I,wBAAY,CAAC7I,IAAD,CAAZ,GAAqBZ,OAAO,CAACtF,KAAR,CAAcwK,SAAd,CAArB;AACH;;AACDlF,iBAAO,CAACtF,KAAR,CAAcwK,SAAd,IAA2B5K,MAAM,CAACsG,IAAD,CAAjC;AACH,SAND,EADkB,CAQlB;;AACA,YAAIpB,MAAM,EAAV,EAAc;AACVwJ,6BAAmB,CAAChJ,OAAD,CAAnB;AACH;AACJ;AACJ;;AACD,aAAS2J,WAAT,CAAqB3J,OAArB,EAA8B1F,MAA9B,EAAsC;AAClC,UAAI0F,OAAO,CAAC,OAAD,CAAX,EAAsB;AAClBU,cAAM,CAACC,IAAP,CAAYrG,MAAZ,EAAoBmC,OAApB,CAA4B,UAAAmE,IAAI,EAAI;AAChC,cAAMsE,SAAS,GAAGwE,mBAAmB,CAAC9I,IAAD,CAArC;AACAZ,iBAAO,CAACtF,KAAR,CAAcwK,SAAd,IAA2B,EAA3B;AACH,SAHD,EADkB,CAKlB;;AACA,YAAI1F,MAAM,EAAV,EAAc;AACVwJ,6BAAmB,CAAChJ,OAAD,CAAnB;AACH;AACJ;AACJ;;AACD,aAAS4J,uBAAT,CAAiCpP,KAAjC,EAAwC;AACpC,UAAImO,KAAK,CAACC,OAAN,CAAcpO,KAAd,CAAJ,EAA0B;AACtB,YAAIA,KAAK,CAAC4C,MAAN,IAAgB,CAApB,EACI,OAAO5C,KAAK,CAAC,CAAD,CAAZ;AACJ,eAAO,qEAASA,KAAT,CAAP;AACH;;AACD,aAAOA,KAAP;AACH;;AACD,aAASqP,mBAAT,CAA6BxH,KAA7B,EAAoClI,OAApC,EAA6CgG,MAA7C,EAAqD;AACjD,UAAM2J,MAAM,GAAG3P,OAAO,CAAC2P,MAAR,IAAkB,EAAjC;AACA,UAAMhG,OAAO,GAAGiG,kBAAkB,CAAC1H,KAAD,CAAlC;;AACA,UAAIyB,OAAO,CAAC1G,MAAZ,EAAoB;AAChB0G,eAAO,CAACrH,OAAR,CAAgB,UAAAuN,OAAO,EAAI;AACvB,cAAI,CAACF,MAAM,CAACjC,cAAP,CAAsBmC,OAAtB,CAAL,EAAqC;AACjC7J,kBAAM,CAACxD,IAAP,uDAA2DqN,OAA3D;AACH;AACJ,SAJD;AAKH;AACJ;;AACD,QAAMC,WAAW,GAAG,IAAIC,MAAJ,WAActD,uBAAd,0BAAqDC,qBAArD,GAA8E,GAA9E,CAApB;;AACA,aAASkD,kBAAT,CAA4B1H,KAA5B,EAAmC;AAC/B,UAAIyH,MAAM,GAAG,EAAb;;AACA,UAAI,OAAOzH,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAIkF,KAAJ;;AACA,eAAOA,KAAK,GAAG0C,WAAW,CAACE,IAAZ,CAAiB9H,KAAjB,CAAf,EAAwC;AACpCyH,gBAAM,CAACnN,IAAP,CAAY4K,KAAK,CAAC,CAAD,CAAjB;AACH;;AACD0C,mBAAW,CAACG,SAAZ,GAAwB,CAAxB;AACH;;AACD,aAAON,MAAP;AACH;;AACD,aAASO,iBAAT,CAA2BhI,KAA3B,EAAkCyH,MAAlC,EAA0C3J,MAA1C,EAAkD;AAC9C,UAAMmK,QAAQ,GAAGjI,KAAK,CAAC3C,QAAN,EAAjB;AACA,UAAM6K,GAAG,GAAGD,QAAQ,CAACzE,OAAT,CAAiBoE,WAAjB,EAA8B,UAACO,CAAD,EAAIR,OAAJ,EAAgB;AACtD,YAAIS,QAAQ,GAAGX,MAAM,CAACE,OAAD,CAArB,CADsD,CAEtD;;AACA,YAAI,CAACF,MAAM,CAACjC,cAAP,CAAsBmC,OAAtB,CAAL,EAAqC;AACjC7J,gBAAM,CAACxD,IAAP,0DAA8DqN,OAA9D;AACAS,kBAAQ,GAAG,EAAX;AACH;;AACD,eAAOA,QAAQ,CAAC/K,QAAT,EAAP;AACH,OARW,CAAZ,CAF8C,CAW9C;;AACA,aAAO6K,GAAG,IAAID,QAAP,GAAkBjI,KAAlB,GAA0BkI,GAAjC;AACH;;AACD,aAASG,eAAT,CAAyBC,QAAzB,EAAmC;AAC/B,UAAMC,GAAG,GAAG,EAAZ;AACA,UAAI1B,IAAI,GAAGyB,QAAQ,CAACE,IAAT,EAAX;;AACA,aAAO,CAAC3B,IAAI,CAAC4B,IAAb,EAAmB;AACfF,WAAG,CAACjO,IAAJ,CAASuM,IAAI,CAAC7G,KAAd;AACA6G,YAAI,GAAGyB,QAAQ,CAACE,IAAT,EAAP;AACH;;AACD,aAAOD,GAAP;AACH;;AACD,QAAMG,gBAAgB,GAAG,eAAzB;;AACA,aAASrB,mBAAT,CAA6BsB,KAA7B,EAAoC;AAChC,aAAOA,KAAK,CAACnF,OAAN,CAAckF,gBAAd,EAAgC;AAAA,0CAAIE,CAAJ;AAAIA,WAAJ;AAAA;;AAAA,eAAUA,CAAC,CAAC,CAAD,CAAD,CAAK7F,WAAL,EAAV;AAAA,OAAhC,CAAP;AACH;;AACD,aAASkE,mBAAT,CAA6B0B,KAA7B,EAAoC;AAChC,aAAOA,KAAK,CAACnF,OAAN,CAAc,iBAAd,EAAiC,OAAjC,EAA0CqF,WAA1C,EAAP;AACH;;AACD,aAASC,8BAAT,CAAwCrP,QAAxC,EAAkDC,KAAlD,EAAyD;AACrD,aAAOD,QAAQ,KAAK,CAAb,IAAkBC,KAAK,KAAK,CAAnC;AACH;;AACD,aAASqP,kCAAT,CAA4CpL,OAA5C,EAAqDlF,SAArD,EAAgEuQ,cAAhE,EAAgF;AAC5E,UAAMC,kBAAkB,GAAG5K,MAAM,CAACC,IAAP,CAAY0K,cAAZ,CAA3B;;AACA,UAAIC,kBAAkB,CAAClO,MAAnB,IAA6BtC,SAAS,CAACsC,MAA3C,EAAmD;AAC/C,YAAImO,gBAAgB,GAAGzQ,SAAS,CAAC,CAAD,CAAhC;AACA,YAAI0Q,iBAAiB,GAAG,EAAxB;AACAF,0BAAkB,CAAC7O,OAAnB,CAA2B,UAAAmE,IAAI,EAAI;AAC/B,cAAI,CAAC2K,gBAAgB,CAAC1D,cAAjB,CAAgCjH,IAAhC,CAAL,EAA4C;AACxC4K,6BAAiB,CAAC7O,IAAlB,CAAuBiE,IAAvB;AACH;;AACD2K,0BAAgB,CAAC3K,IAAD,CAAhB,GAAyByK,cAAc,CAACzK,IAAD,CAAvC;AACH,SALD;;AAMA,YAAI4K,iBAAiB,CAACpO,MAAtB,EAA8B;AAAA;AAGtB,gBAAImD,EAAE,GAAGzF,SAAS,CAAC2J,CAAD,CAAlB;AACA+G,6BAAiB,CAAC/O,OAAlB,CAA0B,UAAUmE,IAAV,EAAgB;AACtCL,gBAAE,CAACK,IAAD,CAAF,GAAW6K,YAAY,CAACzL,OAAD,EAAUY,IAAV,CAAvB;AACH,aAFD;AAJsB;;AAC1B;AACA,eAAK,IAAI6D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3J,SAAS,CAACsC,MAA9B,EAAsCqH,CAAC,EAAvC,EAA2C;AAAA;AAK1C;AACJ;AACJ;;AACD,aAAO3J,SAAP;AACH;;AACD,aAAS4Q,YAAT,CAAsBC,OAAtB,EAA+BC,IAA/B,EAAqCC,OAArC,EAA8C;AAC1C,cAAQD,IAAI,CAAC1R,IAAb;AACI,aAAK;AAAE;AAAP;AACI,iBAAOyR,OAAO,CAACG,YAAR,CAAqBF,IAArB,EAA2BC,OAA3B,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACI,UAAR,CAAmBH,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACK,eAAR,CAAwBJ,IAAxB,EAA8BC,OAA9B,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACM,aAAR,CAAsBL,IAAtB,EAA4BC,OAA5B,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACO,UAAR,CAAmBN,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACQ,YAAR,CAAqBP,IAArB,EAA2BC,OAA3B,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACS,cAAR,CAAuBR,IAAvB,EAA6BC,OAA7B,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACU,UAAR,CAAmBT,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACW,cAAR,CAAuBV,IAAvB,EAA6BC,OAA7B,CAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAOF,OAAO,CAACY,iBAAR,CAA0BX,IAA1B,EAAgCC,OAAhC,CAAP;;AACJ,aAAK;AAAG;AAAR;AACI,iBAAOF,OAAO,CAACa,eAAR,CAAwBZ,IAAxB,EAA8BC,OAA9B,CAAP;;AACJ,aAAK;AAAG;AAAR;AACI,iBAAOF,OAAO,CAACc,UAAR,CAAmBb,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,aAAK;AAAG;AAAR;AACI,iBAAOF,OAAO,CAACe,YAAR,CAAqBd,IAArB,EAA2BC,OAA3B,CAAP;;AACJ;AACI,gBAAM,IAAI3K,KAAJ,sDAAwD0K,IAAI,CAAC1R,IAA7D,EAAN;AA5BR;AA8BH;;AACD,aAASuR,YAAT,CAAsBzL,OAAtB,EAA+BY,IAA/B,EAAqC;AACjC,aAAOtB,MAAM,CAACqN,gBAAP,CAAwB3M,OAAxB,EAAiCY,IAAjC,CAAP;AACH;AAED;;;;;;;;;AAOA,QAAMgM,SAAS,GAAG,GAAlB;;AACA,aAASC,mBAAT,CAA6BC,eAA7B,EAA8C3M,MAA9C,EAAsD;AAClD,UAAM4M,WAAW,GAAG,EAApB;;AACA,UAAI,OAAOD,eAAP,IAA0B,QAA9B,EAAwC;AACpCA,uBAAe,CAACE,KAAhB,CAAsB,SAAtB,EAAiCvQ,OAAjC,CAAyC,UAAA8N,GAAG;AAAA,iBAAI0C,uBAAuB,CAAC1C,GAAD,EAAMwC,WAAN,EAAmB5M,MAAnB,CAA3B;AAAA,SAA5C;AACH,OAFD,MAGK;AACD4M,mBAAW,CAACpQ,IAAZ,CAAiBmQ,eAAjB;AACH;;AACD,aAAOC,WAAP;AACH;;AACD,aAASE,uBAAT,CAAiCC,QAAjC,EAA2CH,WAA3C,EAAwD5M,MAAxD,EAAgE;AAC5D,UAAI+M,QAAQ,CAAC,CAAD,CAAR,IAAe,GAAnB,EAAwB;AACpB,YAAMjI,MAAM,GAAGkI,mBAAmB,CAACD,QAAD,EAAW/M,MAAX,CAAlC;;AACA,YAAI,OAAO8E,MAAP,IAAiB,UAArB,EAAiC;AAC7B8H,qBAAW,CAACpQ,IAAZ,CAAiBsI,MAAjB;AACA;AACH;;AACDiI,gBAAQ,GAAGjI,MAAX;AACH;;AACD,UAAMsC,KAAK,GAAG2F,QAAQ,CAAC3F,KAAT,CAAe,yCAAf,CAAd;;AACA,UAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACnK,MAAN,GAAe,CAApC,EAAuC;AACnC+C,cAAM,CAACxD,IAAP,gDAAmDuQ,QAAnD;AACA,eAAOH,WAAP;AACH;;AACD,UAAMlL,SAAS,GAAG0F,KAAK,CAAC,CAAD,CAAvB;AACA,UAAM6F,SAAS,GAAG7F,KAAK,CAAC,CAAD,CAAvB;AACA,UAAMzF,OAAO,GAAGyF,KAAK,CAAC,CAAD,CAArB;AACAwF,iBAAW,CAACpQ,IAAZ,CAAiB0Q,oBAAoB,CAACxL,SAAD,EAAYC,OAAZ,CAArC;AACA,UAAMwL,kBAAkB,GAAGzL,SAAS,IAAI+K,SAAb,IAA0B9K,OAAO,IAAI8K,SAAhE;;AACA,UAAIQ,SAAS,CAAC,CAAD,CAAT,IAAgB,GAAhB,IAAuB,CAACE,kBAA5B,EAAgD;AAC5CP,mBAAW,CAACpQ,IAAZ,CAAiB0Q,oBAAoB,CAACvL,OAAD,EAAUD,SAAV,CAArC;AACH;AACJ;;AACD,aAASsL,mBAAT,CAA6BI,KAA7B,EAAoCpN,MAApC,EAA4C;AACxC,cAAQoN,KAAR;AACI,aAAK,QAAL;AACI,iBAAO,WAAP;;AACJ,aAAK,QAAL;AACI,iBAAO,WAAP;;AACJ,aAAK,YAAL;AACI,iBAAO,UAAC1L,SAAD,EAAYC,OAAZ;AAAA,mBAAwB2F,UAAU,CAAC3F,OAAD,CAAV,GAAsB2F,UAAU,CAAC5F,SAAD,CAAxD;AAAA,WAAP;;AACJ,aAAK,YAAL;AACI,iBAAO,UAACA,SAAD,EAAYC,OAAZ;AAAA,mBAAwB2F,UAAU,CAAC3F,OAAD,CAAV,GAAsB2F,UAAU,CAAC5F,SAAD,CAAxD;AAAA,WAAP;;AACJ;AACI1B,gBAAM,CAACxD,IAAP,wCAA2C4Q,KAA3C;AACA,iBAAO,QAAP;AAXR;AAaH,K,CACD;AACA;AACA;AACA;;;AACA,QAAMC,mBAAmB,GAAG,IAAIC,GAAJ,CAAQ,CAAC,MAAD,EAAS,GAAT,CAAR,CAA5B;AACA,QAAMC,oBAAoB,GAAG,IAAID,GAAJ,CAAQ,CAAC,OAAD,EAAU,GAAV,CAAR,CAA7B;;AACA,aAASJ,oBAAT,CAA8BM,GAA9B,EAAmCC,GAAnC,EAAwC;AACpC,UAAMC,iBAAiB,GAAGL,mBAAmB,CAACM,GAApB,CAAwBH,GAAxB,KAAgCD,oBAAoB,CAACI,GAArB,CAAyBH,GAAzB,CAA1D;AACA,UAAMI,iBAAiB,GAAGP,mBAAmB,CAACM,GAApB,CAAwBF,GAAxB,KAAgCF,oBAAoB,CAACI,GAArB,CAAyBF,GAAzB,CAA1D;AACA,aAAO,UAAC/L,SAAD,EAAYC,OAAZ,EAAwB;AAC3B,YAAIkM,QAAQ,GAAGL,GAAG,IAAIf,SAAP,IAAoBe,GAAG,IAAI9L,SAA1C;AACA,YAAIoM,QAAQ,GAAGL,GAAG,IAAIhB,SAAP,IAAoBgB,GAAG,IAAI9L,OAA1C;;AACA,YAAI,CAACkM,QAAD,IAAaH,iBAAb,IAAkC,OAAOhM,SAAP,KAAqB,SAA3D,EAAsE;AAClEmM,kBAAQ,GAAGnM,SAAS,GAAG2L,mBAAmB,CAACM,GAApB,CAAwBH,GAAxB,CAAH,GAAkCD,oBAAoB,CAACI,GAArB,CAAyBH,GAAzB,CAAtD;AACH;;AACD,YAAI,CAACM,QAAD,IAAaF,iBAAb,IAAkC,OAAOjM,OAAP,KAAmB,SAAzD,EAAoE;AAChEmM,kBAAQ,GAAGnM,OAAO,GAAG0L,mBAAmB,CAACM,GAApB,CAAwBF,GAAxB,CAAH,GAAkCF,oBAAoB,CAACI,GAArB,CAAyBF,GAAzB,CAApD;AACH;;AACD,eAAOI,QAAQ,IAAIC,QAAnB;AACH,OAVD;AAWH;AAED;;;;;;;;;AAOA,QAAMC,UAAU,GAAG,OAAnB;AACA,QAAMC,gBAAgB,GAAG,IAAIjE,MAAJ,aAAiBgE,UAAjB,WAAoC,GAApC,CAAzB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,aAASE,iBAAT,CAA2BtO,MAA3B,EAAmCuO,QAAnC,EAA6ClO,MAA7C,EAAqD;AACjD,aAAO,IAAImO,0BAAJ,CAA+BxO,MAA/B,EAAuCyO,KAAvC,CAA6CF,QAA7C,EAAuDlO,MAAvD,CAAP;AACH;;AACD,QAAMqO,aAAa,GAAG,EAAtB;;QACMF,0B;;;AACF,0CAAYG,OAAZ,EAAqB;AAAA;;AACjB,aAAKA,OAAL,GAAeA,OAAf;AACH;;;;eACD,eAAMJ,QAAN,EAAgBlO,MAAhB,EAAwB;AACpB,cAAM0L,OAAO,GAAG,IAAI6C,0BAAJ,CAA+BvO,MAA/B,CAAhB;;AACA,eAAKwO,6BAAL,CAAmC9C,OAAnC;;AACA,iBAAOH,YAAY,CAAC,IAAD,EAAO9B,uBAAuB,CAACyE,QAAD,CAA9B,EAA0CxC,OAA1C,CAAnB;AACH;;;eACD,uCAA8BA,OAA9B,EAAuC;AACnCA,iBAAO,CAAC+C,oBAAR,GAA+BJ,aAA/B;AACA3C,iBAAO,CAACgD,eAAR,GAA0B,EAA1B;AACAhD,iBAAO,CAACgD,eAAR,CAAwBL,aAAxB,IAAyC,EAAzC;AACA3C,iBAAO,CAACiD,WAAR,GAAsB,CAAtB;AACH;;;eACD,sBAAaT,QAAb,EAAuBxC,OAAvB,EAAgC;AAAA;;AAC5B,cAAIkD,UAAU,GAAGlD,OAAO,CAACkD,UAAR,GAAqB,CAAtC;AACA,cAAIC,QAAQ,GAAGnD,OAAO,CAACmD,QAAR,GAAmB,CAAlC;AACA,cAAMC,MAAM,GAAG,EAAf;AACA,cAAMC,WAAW,GAAG,EAApB;;AACA,cAAIb,QAAQ,CAACrU,IAAT,CAAcmL,MAAd,CAAqB,CAArB,KAA2B,GAA/B,EAAoC;AAChC0G,mBAAO,CAAC1L,MAAR,CAAexD,IAAf,CAAoB,wFAApB;AACH;;AACD0R,kBAAQ,CAACpU,WAAT,CAAqBwC,OAArB,CAA6B,UAAA0S,GAAG,EAAI;AAChC,kBAAI,CAACR,6BAAL,CAAmC9C,OAAnC;;AACA,gBAAIsD,GAAG,CAACjV,IAAJ,IAAY;AAAE;AAAlB,cAA+B;AAC3B,kBAAMkV,QAAQ,GAAGD,GAAjB;AACA,kBAAMnV,IAAI,GAAGoV,QAAQ,CAACpV,IAAtB;AACAA,kBAAI,CAAC0F,QAAL,GAAgBsN,KAAhB,CAAsB,SAAtB,EAAiCvQ,OAAjC,CAAyC,UAAA4S,CAAC,EAAI;AAC1CD,wBAAQ,CAACpV,IAAT,GAAgBqV,CAAhB;AACAJ,sBAAM,CAACtS,IAAP,CAAY,MAAI,CAACoP,UAAL,CAAgBqD,QAAhB,EAA0BvD,OAA1B,CAAZ;AACH,eAHD;AAIAuD,sBAAQ,CAACpV,IAAT,GAAgBA,IAAhB;AACH,aARD,MASK,IAAImV,GAAG,CAACjV,IAAJ,IAAY;AAAE;AAAlB,cAAoC;AACrC,kBAAMa,UAAU,GAAG,MAAI,CAACiR,eAAL,CAAqBmD,GAArB,EAA0BtD,OAA1B,CAAnB;;AACAkD,wBAAU,IAAIhU,UAAU,CAACgU,UAAzB;AACAC,sBAAQ,IAAIjU,UAAU,CAACiU,QAAvB;AACAE,yBAAW,CAACvS,IAAZ,CAAiB5B,UAAjB;AACH,aALI,MAMA;AACD8Q,qBAAO,CAAC1L,MAAR,CAAexD,IAAf,CAAoB,yEAApB;AACH;AACJ,WApBD;AAqBA,iBAAO;AACHzC,gBAAI,EAAE;AAAE;AADL;AAEHF,gBAAI,EAAEqU,QAAQ,CAACrU,IAFZ;AAGHiV,kBAAM,EAANA,MAHG;AAIHC,uBAAW,EAAXA,WAJG;AAKHH,sBAAU,EAAVA,UALG;AAMHC,oBAAQ,EAARA,QANG;AAOH7U,mBAAO,EAAE;AAPN,WAAP;AASH;;;eACD,oBAAWkU,QAAX,EAAqBxC,OAArB,EAA8B;AAC1B,cAAMyD,QAAQ,GAAG,KAAKjD,UAAL,CAAgBgC,QAAQ,CAAC/T,MAAzB,EAAiCuR,OAAjC,CAAjB;AACA,cAAM0D,SAAS,GAAIlB,QAAQ,CAAClU,OAAT,IAAoBkU,QAAQ,CAAClU,OAAT,CAAiB2P,MAAtC,IAAiD,IAAnE;;AACA,cAAIwF,QAAQ,CAACE,qBAAb,EAAoC;AAChC,gBAAMC,WAAW,GAAG,IAAIhC,GAAJ,EAApB;AACA,gBAAM3D,MAAM,GAAGyF,SAAS,IAAI,EAA5B;AACAD,oBAAQ,CAAChV,MAAT,CAAgBmC,OAAhB,CAAwB,UAAA4F,KAAK,EAAI;AAC7B,kBAAIqN,QAAQ,CAACrN,KAAD,CAAZ,EAAqB;AACjB,oBAAMsN,SAAS,GAAGtN,KAAlB;AACA3B,sBAAM,CAACC,IAAP,CAAYgP,SAAZ,EAAuBlT,OAAvB,CAA+B,UAAAmE,IAAI,EAAI;AACnCmJ,oCAAkB,CAAC4F,SAAS,CAAC/O,IAAD,CAAV,CAAlB,CAAoCnE,OAApC,CAA4C,UAAAmT,GAAG,EAAI;AAC/C,wBAAI,CAAC9F,MAAM,CAACjC,cAAP,CAAsB+H,GAAtB,CAAL,EAAiC;AAC7BH,iCAAW,CAACI,GAAZ,CAAgBD,GAAhB;AACH;AACJ,mBAJD;AAKH,iBAND;AAOH;AACJ,aAXD;;AAYA,gBAAIH,WAAW,CAACK,IAAhB,EAAsB;AAClB,kBAAMC,cAAc,GAAGrF,eAAe,CAAC+E,WAAW,CAACO,MAAZ,EAAD,CAAtC;AACAnE,qBAAO,CAAC1L,MAAR,CAAexD,IAAf,mBAA8B0R,QAAQ,CACjCrU,IADL,4FAC0F+V,cAAc,CAAC5O,IAAf,CAAoB,IAApB,CAD1F;AAEH;AACJ;;AACD,iBAAO;AACHjH,gBAAI,EAAE;AAAE;AADL;AAEHF,gBAAI,EAAEqU,QAAQ,CAACrU,IAFZ;AAGHU,iBAAK,EAAE4U,QAHJ;AAIHnV,mBAAO,EAAEoV,SAAS,GAAG;AAAEzF,oBAAM,EAAEyF;AAAV,aAAH,GAA2B;AAJ1C,WAAP;AAMH;;;eACD,yBAAgBlB,QAAhB,EAA0BxC,OAA1B,EAAmC;AAC/BA,iBAAO,CAACkD,UAAR,GAAqB,CAArB;AACAlD,iBAAO,CAACmD,QAAR,GAAmB,CAAnB;AACA,cAAM9T,SAAS,GAAGwQ,YAAY,CAAC,IAAD,EAAO9B,uBAAuB,CAACyE,QAAQ,CAACnT,SAAV,CAA9B,EAAoD2Q,OAApD,CAA9B;AACA,cAAMoE,QAAQ,GAAGpD,mBAAmB,CAACwB,QAAQ,CAACpT,IAAV,EAAgB4Q,OAAO,CAAC1L,MAAxB,CAApC;AACA,iBAAO;AACHjG,gBAAI,EAAE;AAAE;AADL;AAEH+V,oBAAQ,EAARA,QAFG;AAGH/U,qBAAS,EAATA,SAHG;AAIH6T,sBAAU,EAAElD,OAAO,CAACkD,UAJjB;AAKHC,oBAAQ,EAAEnD,OAAO,CAACmD,QALf;AAMH7U,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAN/B,WAAP;AAQH;;;eACD,uBAAckU,QAAd,EAAwBxC,OAAxB,EAAiC;AAAA;;AAC7B,iBAAO;AACH3R,gBAAI,EAAE;AAAE;AADL;AAEHM,iBAAK,EAAE6T,QAAQ,CAAC7T,KAAT,CAAe0H,GAAf,CAAmB,UAAAiO,CAAC;AAAA,qBAAIzE,YAAY,CAAC,MAAD,EAAOyE,CAAP,EAAUtE,OAAV,CAAhB;AAAA,aAApB,CAFJ;AAGH1R,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAH/B,WAAP;AAKH;;;eACD,oBAAWkU,QAAX,EAAqBxC,OAArB,EAA8B;AAAA;;AAC1B,cAAMiD,WAAW,GAAGjD,OAAO,CAACiD,WAA5B;AACA,cAAIsB,YAAY,GAAG,CAAnB;AACA,cAAM5V,KAAK,GAAG6T,QAAQ,CAAC7T,KAAT,CAAe0H,GAAf,CAAmB,UAAAmO,IAAI,EAAI;AACrCxE,mBAAO,CAACiD,WAAR,GAAsBA,WAAtB;AACA,gBAAMwB,QAAQ,GAAG5E,YAAY,CAAC,MAAD,EAAO2E,IAAP,EAAaxE,OAAb,CAA7B;AACAuE,wBAAY,GAAGjS,IAAI,CAACC,GAAL,CAASgS,YAAT,EAAuBvE,OAAO,CAACiD,WAA/B,CAAf;AACA,mBAAOwB,QAAP;AACH,WALa,CAAd;AAMAzE,iBAAO,CAACiD,WAAR,GAAsBsB,YAAtB;AACA,iBAAO;AACHlW,gBAAI,EAAE;AAAE;AADL;AAEHM,iBAAK,EAALA,KAFG;AAGHL,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAH/B,WAAP;AAKH;;;eACD,sBAAakU,QAAb,EAAuBxC,OAAvB,EAAgC;AAC5B,cAAM0E,SAAS,GAAGC,kBAAkB,CAACnC,QAAQ,CAAChU,OAAV,EAAmBwR,OAAO,CAAC1L,MAA3B,CAApC;AACA0L,iBAAO,CAAC4E,qBAAR,GAAgCF,SAAhC;AACA,cAAIjB,QAAJ;AACA,cAAIoB,aAAa,GAAGrC,QAAQ,CAAC/T,MAAT,GAAkB+T,QAAQ,CAAC/T,MAA3B,GAAoC,kEAAM,EAAN,CAAxD;;AACA,cAAIoW,aAAa,CAACxW,IAAd,IAAsB;AAAE;AAA5B,YAA6C;AACzCoV,oBAAQ,GAAG,KAAKlD,cAAL,CAAoBsE,aAApB,EAAmC7E,OAAnC,CAAX;AACH,WAFD,MAGK;AACD,gBAAI6E,cAAa,GAAGrC,QAAQ,CAAC/T,MAA7B;AACA,gBAAIqW,OAAO,GAAG,KAAd;;AACA,gBAAI,CAACD,cAAL,EAAoB;AAChBC,qBAAO,GAAG,IAAV;AACA,kBAAMC,YAAY,GAAG,EAArB;;AACA,kBAAIL,SAAS,CAACxK,MAAd,EAAsB;AAClB6K,4BAAY,CAAC,QAAD,CAAZ,GAAyBL,SAAS,CAACxK,MAAnC;AACH;;AACD2K,4BAAa,GAAG,kEAAME,YAAN,CAAhB;AACH;;AACD/E,mBAAO,CAACiD,WAAR,IAAuByB,SAAS,CAACzU,QAAV,GAAqByU,SAAS,CAACxU,KAAtD;;AACA,gBAAM8U,SAAS,GAAG,KAAKxE,UAAL,CAAgBqE,cAAhB,EAA+B7E,OAA/B,CAAlB;;AACAgF,qBAAS,CAACC,WAAV,GAAwBH,OAAxB;AACArB,oBAAQ,GAAGuB,SAAX;AACH;;AACDhF,iBAAO,CAAC4E,qBAAR,GAAgC,IAAhC;AACA,iBAAO;AACHvW,gBAAI,EAAE;AAAE;AADL;AAEHG,mBAAO,EAAEkW,SAFN;AAGH7V,iBAAK,EAAE4U,QAHJ;AAIHnV,mBAAO,EAAE;AAJN,WAAP;AAMH;;;eACD,oBAAWkU,QAAX,EAAqBxC,OAArB,EAA8B;AAC1B,cAAMkF,GAAG,GAAG,KAAKC,aAAL,CAAmB3C,QAAnB,EAA6BxC,OAA7B,CAAZ;;AACA,eAAKoF,iBAAL,CAAuBF,GAAvB,EAA4BlF,OAA5B;;AACA,iBAAOkF,GAAP;AACH;;;eACD,uBAAc1C,QAAd,EAAwBxC,OAAxB,EAAiC;AAC7B,cAAMvR,MAAM,GAAG,EAAf;;AACA,cAAIqO,KAAK,CAACC,OAAN,CAAcyF,QAAQ,CAAC/T,MAAvB,CAAJ,EAAoC;AAChC+T,oBAAQ,CAAC/T,MAAT,CAAgBmC,OAAhB,CAAwB,UAAAyU,UAAU,EAAI;AAClC,kBAAI,OAAOA,UAAP,IAAqB,QAAzB,EAAmC;AAC/B,oBAAIA,UAAU,IAAI,8DAAlB,EAA8B;AAC1B5W,wBAAM,CAACqC,IAAP,CAAYuU,UAAZ;AACH,iBAFD,MAGK;AACDrF,yBAAO,CAAC1L,MAAR,CAAexD,IAAf,2CAAuDuU,UAAvD;AACH;AACJ,eAPD,MAQK;AACD5W,sBAAM,CAACqC,IAAP,CAAYuU,UAAZ;AACH;AACJ,aAZD;AAaH,WAdD,MAeK;AACD5W,kBAAM,CAACqC,IAAP,CAAY0R,QAAQ,CAAC/T,MAArB;AACH;;AACD,cAAIkV,qBAAqB,GAAG,KAA5B;AACA,cAAI2B,eAAe,GAAG,IAAtB;AACA7W,gBAAM,CAACmC,OAAP,CAAe,UAAA2U,SAAS,EAAI;AACxB,gBAAI1B,QAAQ,CAAC0B,SAAD,CAAZ,EAAyB;AACrB,kBAAMC,QAAQ,GAAGD,SAAjB;AACA,kBAAMrL,MAAM,GAAGsL,QAAQ,CAAC,QAAD,CAAvB;;AACA,kBAAItL,MAAJ,EAAY;AACRoL,+BAAe,GAAGpL,MAAlB;AACA,uBAAOsL,QAAQ,CAAC,QAAD,CAAf;AACH;;AACD,kBAAI,CAAC7B,qBAAL,EAA4B;AACxB,qBAAK,IAAI5O,IAAT,IAAiByQ,QAAjB,EAA2B;AACvB,sBAAMhP,KAAK,GAAGgP,QAAQ,CAACzQ,IAAD,CAAtB;;AACA,sBAAIyB,KAAK,CAAC3C,QAAN,GAAiBkD,OAAjB,CAAyBgE,uBAAzB,KAAqD,CAAzD,EAA4D;AACxD4I,yCAAqB,GAAG,IAAxB;AACA;AACH;AACJ;AACJ;AACJ;AACJ,WAlBD;AAmBA,iBAAO;AACHtV,gBAAI,EAAE;AAAE;AADL;AAEHI,kBAAM,EAANA,MAFG;AAGHyL,kBAAM,EAAEoL,eAHL;AAIHvW,kBAAM,EAAEyT,QAAQ,CAACzT,MAJd;AAKH4U,iCAAqB,EAArBA,qBALG;AAMHrV,mBAAO,EAAE;AANN,WAAP;AAQH;;;eACD,2BAAkB4W,GAAlB,EAAuBlF,OAAvB,EAAgC;AAAA;;AAC5B,cAAMxR,OAAO,GAAGwR,OAAO,CAAC4E,qBAAxB;AACA,cAAIa,OAAO,GAAGzF,OAAO,CAACiD,WAAtB;AACA,cAAIyC,SAAS,GAAG1F,OAAO,CAACiD,WAAxB;;AACA,cAAIzU,OAAO,IAAIkX,SAAS,GAAG,CAA3B,EAA8B;AAC1BA,qBAAS,IAAIlX,OAAO,CAACyB,QAAR,GAAmBzB,OAAO,CAAC0B,KAAxC;AACH;;AACDgV,aAAG,CAACzW,MAAJ,CAAWmC,OAAX,CAAmB,UAAA+U,KAAK,EAAI;AACxB,gBAAI,OAAOA,KAAP,IAAgB,QAApB,EACI;AACJ9Q,kBAAM,CAACC,IAAP,CAAY6Q,KAAZ,EAAmB/U,OAAnB,CAA2B,UAAAmE,IAAI,EAAI;AAC/B,kBAAI,CAAC,MAAI,CAAC6N,OAAL,CAAa1J,qBAAb,CAAmCnE,IAAnC,CAAL,EAA+C;AAC3CiL,uBAAO,CAAC1L,MAAR,CAAexD,IAAf,6CAAwDiE,IAAxD;AACA;AACH;;AACD,kBAAMiO,eAAe,GAAGhD,OAAO,CAACgD,eAAR,CAAwBhD,OAAO,CAAC+C,oBAAhC,CAAxB;AACA,kBAAM6C,cAAc,GAAG5C,eAAe,CAACjO,IAAD,CAAtC;AACA,kBAAI8Q,oBAAoB,GAAG,IAA3B;;AACA,kBAAID,cAAJ,EAAoB;AAChB,oBAAIF,SAAS,IAAID,OAAb,IAAwBC,SAAS,IAAIE,cAAc,CAACF,SAApD,IACAD,OAAO,IAAIG,cAAc,CAACH,OAD9B,EACuC;AACnCzF,yBAAO,CAAC1L,MAAR,CAAexD,IAAf,8BAAyCiE,IAAzC,mDAAoF6Q,cAAc,CAACF,SAAnG,wBAAwHE,cAAc,CACjIH,OADL,wFACwFC,SADxF,wBAC6GD,OAD7G;AAEAI,sCAAoB,GAAG,KAAvB;AACH,iBANe,CAOhB;AACA;AACA;;;AACAH,yBAAS,GAAGE,cAAc,CAACF,SAA3B;AACH;;AACD,kBAAIG,oBAAJ,EAA0B;AACtB7C,+BAAe,CAACjO,IAAD,CAAf,GAAwB;AAAE2Q,2BAAS,EAATA,SAAF;AAAaD,yBAAO,EAAPA;AAAb,iBAAxB;AACH;;AACD,kBAAIzF,OAAO,CAAC1R,OAAZ,EAAqB;AACjB0P,mCAAmB,CAAC2H,KAAK,CAAC5Q,IAAD,CAAN,EAAciL,OAAO,CAAC1R,OAAtB,EAA+B0R,OAAO,CAAC1L,MAAvC,CAAnB;AACH;AACJ,aA1BD;AA2BH,WA9BD;AA+BH;;;eACD,wBAAekO,QAAf,EAAyBxC,OAAzB,EAAkC;AAAA;;AAC9B,cAAMkF,GAAG,GAAG;AAAE7W,gBAAI,EAAE;AAAE;AAAV;AAA2BI,kBAAM,EAAE,EAAnC;AAAuCH,mBAAO,EAAE;AAAhD,WAAZ;;AACA,cAAI,CAAC0R,OAAO,CAAC4E,qBAAb,EAAoC;AAChC5E,mBAAO,CAAC1L,MAAR,CAAexD,IAAf;AACA,mBAAOoU,GAAP;AACH;;AACD,cAAMY,mBAAmB,GAAG,CAA5B;AACA,cAAIC,yBAAyB,GAAG,CAAhC;AACA,cAAMC,OAAO,GAAG,EAAhB;AACA,cAAIC,iBAAiB,GAAG,KAAxB;AACA,cAAIC,mBAAmB,GAAG,KAA1B;AACA,cAAI1R,cAAc,GAAG,CAArB;AACA,cAAMvF,SAAS,GAAGuT,QAAQ,CAAC7T,KAAT,CAAe0H,GAAf,CAAmB,UAAA5H,MAAM,EAAI;AAC3C,gBAAMI,KAAK,GAAG,MAAI,CAACsW,aAAL,CAAmB1W,MAAnB,EAA2BuR,OAA3B,CAAd;;AACA,gBAAImG,SAAS,GAAGtX,KAAK,CAACE,MAAN,IAAgB,IAAhB,GAAuBF,KAAK,CAACE,MAA7B,GAAsCqX,aAAa,CAACvX,KAAK,CAACJ,MAAP,CAAnE;AACA,gBAAIM,MAAM,GAAG,CAAb;;AACA,gBAAIoX,SAAS,IAAI,IAAjB,EAAuB;AACnBJ,uCAAyB;AACzBhX,oBAAM,GAAGF,KAAK,CAACE,MAAN,GAAeoX,SAAxB;AACH;;AACDD,+BAAmB,GAAGA,mBAAmB,IAAInX,MAAM,GAAG,CAAhC,IAAqCA,MAAM,GAAG,CAApE;AACAkX,6BAAiB,GAAGA,iBAAiB,IAAIlX,MAAM,GAAGyF,cAAlD;AACAA,0BAAc,GAAGzF,MAAjB;AACAiX,mBAAO,CAAClV,IAAR,CAAa/B,MAAb;AACA,mBAAOF,KAAP;AACH,WAbiB,CAAlB;;AAcA,cAAIqX,mBAAJ,EAAyB;AACrBlG,mBAAO,CAAC1L,MAAR,CAAexD,IAAf;AACH;;AACD,cAAImV,iBAAJ,EAAuB;AACnBjG,mBAAO,CAAC1L,MAAR,CAAexD,IAAf;AACH;;AACD,cAAMS,MAAM,GAAGiR,QAAQ,CAAC7T,KAAT,CAAe4C,MAA9B;AACA,cAAI8U,eAAe,GAAG,CAAtB;;AACA,cAAIN,yBAAyB,GAAG,CAA5B,IAAiCA,yBAAyB,GAAGxU,MAAjE,EAAyE;AACrEyO,mBAAO,CAAC1L,MAAR,CAAexD,IAAf;AACH,WAFD,MAGK,IAAIiV,yBAAyB,IAAI,CAAjC,EAAoC;AACrCM,2BAAe,GAAGP,mBAAmB,IAAIvU,MAAM,GAAG,CAAb,CAArC;AACH;;AACD,cAAM+U,KAAK,GAAG/U,MAAM,GAAG,CAAvB;AACA,cAAM0R,WAAW,GAAGjD,OAAO,CAACiD,WAA5B;AACA,cAAM2B,qBAAqB,GAAG5E,OAAO,CAAC4E,qBAAtC;AACA,cAAM2B,eAAe,GAAG3B,qBAAqB,CAAC3U,QAA9C;AACAhB,mBAAS,CAAC2B,OAAV,CAAkB,UAAC8D,EAAD,EAAKkE,CAAL,EAAW;AACzB,gBAAM7J,MAAM,GAAGsX,eAAe,GAAG,CAAlB,GAAuBzN,CAAC,IAAI0N,KAAL,GAAa,CAAb,GAAkBD,eAAe,GAAGzN,CAA3D,GAAiEoN,OAAO,CAACpN,CAAD,CAAvF;AACA,gBAAM4N,qBAAqB,GAAGzX,MAAM,GAAGwX,eAAvC;AACAvG,mBAAO,CAACiD,WAAR,GAAsBA,WAAW,GAAG2B,qBAAqB,CAAC1U,KAApC,GAA4CsW,qBAAlE;AACA5B,iCAAqB,CAAC3U,QAAtB,GAAiCuW,qBAAjC;;AACA,kBAAI,CAACpB,iBAAL,CAAuB1Q,EAAvB,EAA2BsL,OAA3B;;AACAtL,cAAE,CAAC3F,MAAH,GAAYA,MAAZ;AACAmW,eAAG,CAACzW,MAAJ,CAAWqC,IAAX,CAAgB4D,EAAhB;AACH,WARD;AASA,iBAAOwQ,GAAP;AACH;;;eACD,wBAAe1C,QAAf,EAAyBxC,OAAzB,EAAkC;AAC9B,iBAAO;AACH3R,gBAAI,EAAE;AAAE;AADL;AAEHgB,qBAAS,EAAEwQ,YAAY,CAAC,IAAD,EAAO9B,uBAAuB,CAACyE,QAAQ,CAACnT,SAAV,CAA9B,EAAoD2Q,OAApD,CAFpB;AAGH1R,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAH/B,WAAP;AAKH;;;eACD,2BAAkBkU,QAAlB,EAA4BxC,OAA5B,EAAqC;AACjCA,iBAAO,CAACmD,QAAR;AACA,iBAAO;AACH9U,gBAAI,EAAE;AAAE;AADL;AAEHC,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAF/B,WAAP;AAIH;;;eACD,yBAAgBkU,QAAhB,EAA0BxC,OAA1B,EAAmC;AAC/B,iBAAO;AACH3R,gBAAI,EAAE;AAAG;AADN;AAEHgB,qBAAS,EAAE,KAAKoR,cAAL,CAAoB+B,QAAQ,CAACnT,SAA7B,EAAwC2Q,OAAxC,CAFR;AAGH1R,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAH/B,WAAP;AAKH;;;eACD,oBAAWkU,QAAX,EAAqBxC,OAArB,EAA8B;AAC1B,cAAMyG,cAAc,GAAGzG,OAAO,CAAC+C,oBAA/B;AACA,cAAMzU,OAAO,GAAIkU,QAAQ,CAAClU,OAAT,IAAoB,EAArC;AACA0R,iBAAO,CAACkD,UAAR;AACAlD,iBAAO,CAAC0G,YAAR,GAAuBlE,QAAvB;;AACA,mCAAgCmE,iBAAiB,CAACnE,QAAQ,CAAC/S,QAAV,CAAjD;AAAA;AAAA,cAAOA,QAAP;AAAA,cAAiBmX,WAAjB;;AACA5G,iBAAO,CAAC+C,oBAAR,GACI0D,cAAc,CAAClV,MAAf,GAAyBkV,cAAc,GAAG,GAAjB,GAAuBhX,QAAhD,GAA4DA,QADhE;AAEA2G,yBAAe,CAAC4J,OAAO,CAACgD,eAAT,EAA0BhD,OAAO,CAAC+C,oBAAlC,EAAwD,EAAxD,CAAf;AACA,cAAM1T,SAAS,GAAGwQ,YAAY,CAAC,IAAD,EAAO9B,uBAAuB,CAACyE,QAAQ,CAACnT,SAAV,CAA9B,EAAoD2Q,OAApD,CAA9B;AACAA,iBAAO,CAAC0G,YAAR,GAAuB,IAAvB;AACA1G,iBAAO,CAAC+C,oBAAR,GAA+B0D,cAA/B;AACA,iBAAO;AACHpY,gBAAI,EAAE;AAAG;AADN;AAEHoB,oBAAQ,EAARA,QAFG;AAGH6W,iBAAK,EAAEhY,OAAO,CAACgY,KAAR,IAAiB,CAHrB;AAIHO,oBAAQ,EAAE,CAAC,CAACvY,OAAO,CAACuY,QAJjB;AAKHD,uBAAW,EAAXA,WALG;AAMHvX,qBAAS,EAATA,SANG;AAOHyX,4BAAgB,EAAEtE,QAAQ,CAAC/S,QAPxB;AAQHnB,mBAAO,EAAE+V,yBAAyB,CAAC7B,QAAQ,CAAClU,OAAV;AAR/B,WAAP;AAUH;;;eACD,sBAAakU,QAAb,EAAuBxC,OAAvB,EAAgC;AAC5B,cAAI,CAACA,OAAO,CAAC0G,YAAb,EAA2B;AACvB1G,mBAAO,CAAC1L,MAAR,CAAexD,IAAf;AACH;;AACD,cAAMtC,OAAO,GAAGgU,QAAQ,CAAChU,OAAT,KAAqB,MAArB,GACZ;AAAEyB,oBAAQ,EAAE,CAAZ;AAAeC,iBAAK,EAAE,CAAtB;AAAyBgK,kBAAM,EAAE;AAAjC,WADY,GAEZ4B,aAAa,CAAC0G,QAAQ,CAAChU,OAAV,EAAmBwR,OAAO,CAAC1L,MAA3B,EAAmC,IAAnC,CAFjB;AAGA,iBAAO;AACHjG,gBAAI,EAAE;AAAG;AADN;AAEHgB,qBAAS,EAAEwQ,YAAY,CAAC,IAAD,EAAO9B,uBAAuB,CAACyE,QAAQ,CAACnT,SAAV,CAA9B,EAAoD2Q,OAApD,CAFpB;AAGHxR,mBAAO,EAAPA,OAHG;AAIHF,mBAAO,EAAE;AAJN,WAAP;AAMH;;;;;;AAEL,aAASqY,iBAAT,CAA2BlX,QAA3B,EAAqC;AACjC,UAAMsX,YAAY,GAAGtX,QAAQ,CAAC0R,KAAT,CAAe,SAAf,EAA0B6F,IAA1B,CAA+B,UAAAvM,KAAK;AAAA,eAAIA,KAAK,IAAI4H,UAAb;AAAA,OAApC,IAA+D,IAA/D,GAAsE,KAA3F;;AACA,UAAI0E,YAAJ,EAAkB;AACdtX,gBAAQ,GAAGA,QAAQ,CAACuK,OAAT,CAAiBsI,gBAAjB,EAAmC,EAAnC,CAAX;AACH,OAJgC,CAKjC;;;AACA7S,cAAQ,GAAGA,QAAQ,CAACuK,OAAT,CAAiB,MAAjB,EAAyBsB,mBAAzB,EACNtB,OADM,CACE,OADF,EACW,UAAA0B,KAAK;AAAA,eAAIJ,mBAAmB,GAAG,GAAtB,GAA4BI,KAAK,CAACvE,MAAN,CAAa,CAAb,CAAhC;AAAA,OADhB,EAEN6C,OAFM,CAEE,aAFF,EAEiBwB,qBAFjB,CAAX;AAGA,aAAO,CAAC/L,QAAD,EAAWsX,YAAX,CAAP;AACH;;AACD,aAASE,eAAT,CAAyBvK,GAAzB,EAA8B;AAC1B,aAAOA,GAAG,GAAGD,OAAO,CAACC,GAAD,CAAV,GAAkB,IAA5B;AACH;;QACKmG,0B,GACF,oCAAYvO,MAAZ,EAAoB;AAAA;;AAChB,WAAKA,MAAL,GAAcA,MAAd;AACA,WAAK4O,UAAL,GAAkB,CAAlB;AACA,WAAKC,QAAL,GAAgB,CAAhB;AACA,WAAK+D,iBAAL,GAAyB,IAAzB;AACA,WAAKR,YAAL,GAAoB,IAApB;AACA,WAAK3D,oBAAL,GAA4B,IAA5B;AACA,WAAK6B,qBAAL,GAA6B,IAA7B;AACA,WAAK3B,WAAL,GAAmB,CAAnB;AACA,WAAKD,eAAL,GAAuB,EAAvB;AACA,WAAK1U,OAAL,GAAe,IAAf;AACH,K;;AAEL,aAAS8X,aAAT,CAAuB3X,MAAvB,EAA+B;AAC3B,UAAI,OAAOA,MAAP,IAAiB,QAArB,EACI,OAAO,IAAP;AACJ,UAAIM,MAAM,GAAG,IAAb;;AACA,UAAI+N,KAAK,CAACC,OAAN,CAActO,MAAd,CAAJ,EAA2B;AACvBA,cAAM,CAACmC,OAAP,CAAe,UAAAyU,UAAU,EAAI;AACzB,cAAIxB,QAAQ,CAACwB,UAAD,CAAR,IAAwBA,UAAU,CAACrJ,cAAX,CAA0B,QAA1B,CAA5B,EAAiE;AAC7D,gBAAMU,GAAG,GAAG2I,UAAZ;AACAtW,kBAAM,GAAG6M,UAAU,CAACc,GAAG,CAAC,QAAD,CAAJ,CAAnB;AACA,mBAAOA,GAAG,CAAC,QAAD,CAAV;AACH;AACJ,SAND;AAOH,OARD,MASK,IAAImH,QAAQ,CAACpV,MAAD,CAAR,IAAoBA,MAAM,CAACuN,cAAP,CAAsB,QAAtB,CAAxB,EAAyD;AAC1D,YAAMU,GAAG,GAAGjO,MAAZ;AACAM,cAAM,GAAG6M,UAAU,CAACc,GAAG,CAAC,QAAD,CAAJ,CAAnB;AACA,eAAOA,GAAG,CAAC,QAAD,CAAV;AACH;;AACD,aAAO3N,MAAP;AACH;;AACD,aAAS8U,QAAT,CAAkBrN,KAAlB,EAAyB;AACrB,aAAO,CAACsG,KAAK,CAACC,OAAN,CAAcvG,KAAd,CAAD,IAAyB,OAAOA,KAAP,IAAgB,QAAhD;AACH;;AACD,aAASmO,kBAAT,CAA4BnO,KAA5B,EAAmClC,MAAnC,EAA2C;AACvC,UAAI9F,OAAO,GAAG,IAAd;;AACA,UAAIgI,KAAK,CAACwF,cAAN,CAAqB,UAArB,CAAJ,EAAsC;AAClCxN,eAAO,GAAGgI,KAAV;AACH,OAFD,MAGK,IAAI,OAAOA,KAAP,IAAgB,QAApB,EAA8B;AAC/B,YAAMvG,QAAQ,GAAG6L,aAAa,CAACtF,KAAD,EAAQlC,MAAR,CAAb,CAA6BrE,QAA9C;AACA,eAAOkX,aAAa,CAAClX,QAAD,EAAW,CAAX,EAAc,EAAd,CAApB;AACH;;AACD,UAAMmX,QAAQ,GAAG5Q,KAAjB;AACA,UAAM6Q,SAAS,GAAGD,QAAQ,CAACjG,KAAT,CAAe,KAAf,EAAsBmG,IAAtB,CAA2B,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACjO,MAAF,CAAS,CAAT,KAAe,GAAf,IAAsBiO,CAAC,CAACjO,MAAF,CAAS,CAAT,KAAe,GAAzC;AAAA,OAA5B,CAAlB;;AACA,UAAI+N,SAAJ,EAAe;AACX,YAAMnC,GAAG,GAAGiC,aAAa,CAAC,CAAD,EAAI,CAAJ,EAAO,EAAP,CAAzB;AACAjC,WAAG,CAACsC,OAAJ,GAAc,IAAd;AACAtC,WAAG,CAACkC,QAAJ,GAAeA,QAAf;AACA,eAAOlC,GAAP;AACH;;AACD1W,aAAO,GAAGA,OAAO,IAAIsN,aAAa,CAACsL,QAAD,EAAW9S,MAAX,CAAlC;AACA,aAAO6S,aAAa,CAAC3Y,OAAO,CAACyB,QAAT,EAAmBzB,OAAO,CAAC0B,KAA3B,EAAkC1B,OAAO,CAAC0L,MAA1C,CAApB;AACH;;AACD,aAASmK,yBAAT,CAAmC/V,OAAnC,EAA4C;AACxC,UAAIA,OAAJ,EAAa;AACTA,eAAO,GAAGmO,OAAO,CAACnO,OAAD,CAAjB;;AACA,YAAIA,OAAO,CAAC,QAAD,CAAX,EAAuB;AACnBA,iBAAO,CAAC,QAAD,CAAP,GAAoB2Y,eAAe,CAAC3Y,OAAO,CAAC,QAAD,CAAR,CAAnC;AACH;AACJ,OALD,MAMK;AACDA,eAAO,GAAG,EAAV;AACH;;AACD,aAAOA,OAAP;AACH;;AACD,aAAS6Y,aAAT,CAAuBlX,QAAvB,EAAiCC,KAAjC,EAAwCgK,MAAxC,EAAgD;AAC5C,aAAO;AAAEjK,gBAAQ,EAARA,QAAF;AAAYC,aAAK,EAALA,KAAZ;AAAmBgK,cAAM,EAANA;AAAnB,OAAP;AACH;;AAED,aAASuN,yBAAT,CAAmCtT,OAAnC,EAA4ClF,SAA5C,EAAuDyY,aAAvD,EAAsEC,cAAtE,EAAsF1X,QAAtF,EAAgGC,KAAhG,EAA2I;AAAA,UAApCgK,MAAoC,uEAA3B,IAA2B;AAAA,UAArB0N,WAAqB,uEAAP,KAAO;AACvI,aAAO;AACHvZ,YAAI,EAAE;AAAE;AADL;AAEH8F,eAAO,EAAPA,OAFG;AAGHlF,iBAAS,EAATA,SAHG;AAIHyY,qBAAa,EAAbA,aAJG;AAKHC,sBAAc,EAAdA,cALG;AAMH1X,gBAAQ,EAARA,QANG;AAOHC,aAAK,EAALA,KAPG;AAQHS,iBAAS,EAAEV,QAAQ,GAAGC,KARnB;AASHgK,cAAM,EAANA,MATG;AAUH0N,mBAAW,EAAXA;AAVG,OAAP;AAYH;;QAEKC,qB;;;AACF,uCAAc;AAAA;;AACV,aAAKC,IAAL,GAAY,IAAIrR,GAAJ,EAAZ;AACH;;;;eACD,iBAAQtC,OAAR,EAAiB;AACb,cAAI4T,YAAY,GAAG,KAAKD,IAAL,CAAUpR,GAAV,CAAcvC,OAAd,CAAnB;;AACA,cAAI4T,YAAJ,EAAkB;AACd,iBAAKD,IAAL,WAAiB3T,OAAjB;AACH,WAFD,MAGK;AACD4T,wBAAY,GAAG,EAAf;AACH;;AACD,iBAAOA,YAAP;AACH;;;eACD,gBAAO5T,OAAP,EAAgB4T,YAAhB,EAA8B;AAAA;;AAC1B,cAAIC,oBAAoB,GAAG,KAAKF,IAAL,CAAUpR,GAAV,CAAcvC,OAAd,CAA3B;;AACA,cAAI,CAAC6T,oBAAL,EAA2B;AACvB,iBAAKF,IAAL,CAAUnR,GAAV,CAAcxC,OAAd,EAAuB6T,oBAAoB,GAAG,EAA9C;AACH;;AACD,mCAAAA,oBAAoB,EAAClX,IAArB,iDAA6BiX,YAA7B;AACH;;;eACD,aAAI5T,OAAJ,EAAa;AACT,iBAAO,KAAK2T,IAAL,CAAU7F,GAAV,CAAc9N,OAAd,CAAP;AACH;;;eACD,iBAAQ;AACJ,eAAK2T,IAAL,CAAUG,KAAV;AACH;;;;;AAGL;;;;;;;;;AAOA,QAAMC,yBAAyB,GAAG,CAAlC;AACA,QAAMC,WAAW,GAAG,QAApB;AACA,QAAMC,iBAAiB,GAAG,IAAI/J,MAAJ,CAAW8J,WAAX,EAAwB,GAAxB,CAA1B;AACA,QAAME,WAAW,GAAG,QAApB;AACA,QAAMC,iBAAiB,GAAG,IAAIjK,MAAJ,CAAWgK,WAAX,EAAwB,GAAxB,CAA1B;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA,aAASE,uBAAT,CAAiCtU,MAAjC,EAAyCuU,WAAzC,EAAsDtD,GAAtD,EAA2DuD,cAA3D,EAA2EC,cAA3E,EAAyK;AAAA,UAA9EC,cAA8E,uEAA7D,EAA6D;AAAA,UAAzDC,WAAyD,uEAA3C,EAA2C;AAAA,UAAvCta,OAAuC;AAAA,UAA9Bua,eAA8B;AAAA,UAAbvU,MAAa,uEAAJ,EAAI;AACrK,aAAO,IAAIwU,+BAAJ,GAAsCC,cAAtC,CAAqD9U,MAArD,EAA6DuU,WAA7D,EAA0EtD,GAA1E,EAA+EuD,cAA/E,EAA+FC,cAA/F,EAA+GC,cAA/G,EAA+HC,WAA/H,EAA4Ita,OAA5I,EAAqJua,eAArJ,EAAsKvU,MAAtK,CAAP;AACH;;QACKwU,+B;;;;;;;;;eACF,wBAAe7U,MAAf,EAAuBuU,WAAvB,EAAoCtD,GAApC,EAAyCuD,cAAzC,EAAyDC,cAAzD,EAAyEC,cAAzE,EAAyFC,WAAzF,EAAsGta,OAAtG,EAA+Gua,eAA/G,EAA6I;AAAA,cAAbvU,MAAa,uEAAJ,EAAI;AACzIuU,yBAAe,GAAGA,eAAe,IAAI,IAAIhB,qBAAJ,EAArC;AACA,cAAM7H,OAAO,GAAG,IAAIgJ,wBAAJ,CAA6B/U,MAA7B,EAAqCuU,WAArC,EAAkDK,eAAlD,EAAmEJ,cAAnE,EAAmFC,cAAnF,EAAmGpU,MAAnG,EAA2G,EAA3G,CAAhB;AACA0L,iBAAO,CAAC1R,OAAR,GAAkBA,OAAlB;AACA0R,iBAAO,CAACiJ,eAAR,CAAwBtL,SAAxB,CAAkC,CAACgL,cAAD,CAAlC,EAAoD,IAApD,EAA0D3I,OAAO,CAAC1L,MAAlE,EAA0EhG,OAA1E;AACAuR,sBAAY,CAAC,IAAD,EAAOqF,GAAP,EAAYlF,OAAZ,CAAZ,CALyI,CAMzI;;AACA,cAAMkJ,SAAS,GAAGlJ,OAAO,CAACkJ,SAAR,CAAkBC,MAAlB,CAAyB,UAAAC,QAAQ;AAAA,mBAAIA,QAAQ,CAACC,iBAAT,EAAJ;AAAA,WAAjC,CAAlB;;AACA,cAAIH,SAAS,CAAC3X,MAAV,IAAoBsD,MAAM,CAACC,IAAP,CAAY8T,WAAZ,EAAyBrX,MAAjD,EAAyD;AACrD,gBAAM+X,EAAE,GAAGJ,SAAS,CAACA,SAAS,CAAC3X,MAAV,GAAmB,CAApB,CAApB;;AACA,gBAAI,CAAC+X,EAAE,CAACC,uBAAH,EAAL,EAAmC;AAC/BD,gBAAE,CAAC3L,SAAH,CAAa,CAACiL,WAAD,CAAb,EAA4B,IAA5B,EAAkC5I,OAAO,CAAC1L,MAA1C,EAAkDhG,OAAlD;AACH;AACJ;;AACD,iBAAO4a,SAAS,CAAC3X,MAAV,GAAmB2X,SAAS,CAAC7S,GAAV,CAAc,UAAA+S,QAAQ;AAAA,mBAAIA,QAAQ,CAACL,cAAT,EAAJ;AAAA,WAAtB,CAAnB,GACH,CAACtB,yBAAyB,CAACe,WAAD,EAAc,EAAd,EAAkB,EAAlB,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,CAA7B,EAAgC,EAAhC,EAAoC,KAApC,CAA1B,CADJ;AAEH;;;eACD,sBAAatD,GAAb,EAAkBlF,OAAlB,EAA2B,CACvB;AACH;;;eACD,oBAAWkF,GAAX,EAAgBlF,OAAhB,EAAyB,CACrB;AACH;;;eACD,yBAAgBkF,GAAhB,EAAqBlF,OAArB,EAA8B,CAC1B;AACH;;;eACD,2BAAkBkF,GAAlB,EAAuBlF,OAAvB,EAAgC;AAC5B,cAAMwJ,mBAAmB,GAAGxJ,OAAO,CAAC6I,eAAR,CAAwBY,OAAxB,CAAgCzJ,OAAO,CAAC7L,OAAxC,CAA5B;;AACA,cAAIqV,mBAAJ,EAAyB;AACrB,gBAAME,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyBzE,GAAG,CAAC5W,OAA7B,CAArB;AACA,gBAAMoX,SAAS,GAAG1F,OAAO,CAACiJ,eAAR,CAAwBhG,WAA1C;;AACA,gBAAMwC,OAAO,GAAG,KAAKmE,qBAAL,CAA2BJ,mBAA3B,EAAgDE,YAAhD,EAA8DA,YAAY,CAACpb,OAA3E,CAAhB;;AACA,gBAAIoX,SAAS,IAAID,OAAjB,EAA0B;AACtB;AACA;AACAzF,qBAAO,CAAC6J,wBAAR,CAAiCpE,OAAjC;AACH;AACJ;;AACDzF,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,yBAAgBA,GAAhB,EAAqBlF,OAArB,EAA8B;AAC1B,cAAM0J,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyBzE,GAAG,CAAC5W,OAA7B,CAArB;AACAob,sBAAY,CAACG,wBAAb;AACA,eAAKpJ,cAAL,CAAoByE,GAAG,CAAC7V,SAAxB,EAAmCqa,YAAnC;AACA1J,iBAAO,CAAC6J,wBAAR,CAAiCH,YAAY,CAACT,eAAb,CAA6BhG,WAA9D;AACAjD,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,+BAAsB6C,YAAtB,EAAoC/H,OAApC,EAA6C1R,OAA7C,EAAsD;AAClD,cAAMoX,SAAS,GAAG1F,OAAO,CAACiJ,eAAR,CAAwBhG,WAA1C;AACA,cAAIsB,YAAY,GAAGmB,SAAnB,CAFkD,CAGlD;AACA;;AACA,cAAMzV,QAAQ,GAAG3B,OAAO,CAAC2B,QAAR,IAAoB,IAApB,GAA2BwL,kBAAkB,CAACnN,OAAO,CAAC2B,QAAT,CAA7C,GAAkE,IAAnF;AACA,cAAMC,KAAK,GAAG5B,OAAO,CAAC4B,KAAR,IAAiB,IAAjB,GAAwBuL,kBAAkB,CAACnN,OAAO,CAAC4B,KAAT,CAA1C,GAA4D,IAA1E;;AACA,cAAID,QAAQ,KAAK,CAAjB,EAAoB;AAChB8X,wBAAY,CAACnX,OAAb,CAAqB,UAAAmZ,WAAW,EAAI;AAChC,kBAAMC,kBAAkB,GAAGhK,OAAO,CAACiK,2BAAR,CAAoCF,WAApC,EAAiD9Z,QAAjD,EAA2DC,KAA3D,CAA3B;AACAqU,0BAAY,GACRjS,IAAI,CAACC,GAAL,CAASgS,YAAT,EAAuByF,kBAAkB,CAAC/Z,QAAnB,GAA8B+Z,kBAAkB,CAAC9Z,KAAxE,CADJ;AAEH,aAJD;AAKH;;AACD,iBAAOqU,YAAP;AACH;;;eACD,wBAAeW,GAAf,EAAoBlF,OAApB,EAA6B;AACzBA,iBAAO,CAACkK,aAAR,CAAsBhF,GAAG,CAAC5W,OAA1B,EAAmC,IAAnC;AACAuR,sBAAY,CAAC,IAAD,EAAOqF,GAAG,CAAC7V,SAAX,EAAsB2Q,OAAtB,CAAZ;AACAA,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,uBAAcA,GAAd,EAAmBlF,OAAnB,EAA4B;AAAA;;AACxB,cAAMmK,eAAe,GAAGnK,OAAO,CAACmK,eAAhC;AACA,cAAIC,GAAG,GAAGpK,OAAV;AACA,cAAM1R,OAAO,GAAG4W,GAAG,CAAC5W,OAApB;;AACA,cAAIA,OAAO,KAAKA,OAAO,CAAC2P,MAAR,IAAkB3P,OAAO,CAAC4B,KAA/B,CAAX,EAAkD;AAC9Cka,eAAG,GAAGpK,OAAO,CAAC2J,gBAAR,CAAyBrb,OAAzB,CAAN;AACA8b,eAAG,CAACP,wBAAJ;;AACA,gBAAIvb,OAAO,CAAC4B,KAAR,IAAiB,IAArB,EAA2B;AACvB,kBAAIka,GAAG,CAACN,YAAJ,CAAiBzb,IAAjB,IAAyB;AAAE;AAA/B,gBAA4C;AACxC+b,mBAAG,CAACnB,eAAJ,CAAoBoB,qBAApB;AACAD,mBAAG,CAACN,YAAJ,GAAmBQ,0BAAnB;AACH;;AACD,kBAAMpa,KAAK,GAAGuL,kBAAkB,CAACnN,OAAO,CAAC4B,KAAT,CAAhC;AACAka,iBAAG,CAACG,aAAJ,CAAkBra,KAAlB;AACH;AACJ;;AACD,cAAIgV,GAAG,CAACvW,KAAJ,CAAU4C,MAAd,EAAsB;AAClB2T,eAAG,CAACvW,KAAJ,CAAUiC,OAAV,CAAkB,UAAA0T,CAAC;AAAA,qBAAIzE,YAAY,CAAC,MAAD,EAAOyE,CAAP,EAAU8F,GAAV,CAAhB;AAAA,aAAnB,EADkB,CAElB;;AACAA,eAAG,CAACnB,eAAJ,CAAoBuB,qBAApB,GAHkB,CAIlB;AACA;AACA;;AACA,gBAAIJ,GAAG,CAACD,eAAJ,GAAsBA,eAA1B,EAA2C;AACvCC,iBAAG,CAACP,wBAAJ;AACH;AACJ;;AACD7J,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,oBAAWA,GAAX,EAAgBlF,OAAhB,EAAyB;AAAA;;AACrB,cAAMyK,cAAc,GAAG,EAAvB;AACA,cAAIlG,YAAY,GAAGvE,OAAO,CAACiJ,eAAR,CAAwBhG,WAA3C;AACA,cAAM/S,KAAK,GAAGgV,GAAG,CAAC5W,OAAJ,IAAe4W,GAAG,CAAC5W,OAAJ,CAAY4B,KAA3B,GAAmCuL,kBAAkB,CAACyJ,GAAG,CAAC5W,OAAJ,CAAY4B,KAAb,CAArD,GAA2E,CAAzF;AACAgV,aAAG,CAACvW,KAAJ,CAAUiC,OAAV,CAAkB,UAAA0T,CAAC,EAAI;AACnB,gBAAMoF,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyBzE,GAAG,CAAC5W,OAA7B,CAArB;;AACA,gBAAI4B,KAAJ,EAAW;AACPwZ,0BAAY,CAACa,aAAb,CAA2Bra,KAA3B;AACH;;AACD2P,wBAAY,CAAC,OAAD,EAAOyE,CAAP,EAAUoF,YAAV,CAAZ;AACAnF,wBAAY,GAAGjS,IAAI,CAACC,GAAL,CAASgS,YAAT,EAAuBmF,YAAY,CAACT,eAAb,CAA6BhG,WAApD,CAAf;AACAwH,0BAAc,CAAC3Z,IAAf,CAAoB4Y,YAAY,CAACT,eAAjC;AACH,WARD,EAJqB,CAarB;AACA;AACA;;AACAwB,wBAAc,CAAC7Z,OAAf,CAAuB,UAAAwY,QAAQ;AAAA,mBAAIpJ,OAAO,CAACiJ,eAAR,CAAwByB,4BAAxB,CAAqDtB,QAArD,CAAJ;AAAA,WAA/B;AACApJ,iBAAO,CAAC6J,wBAAR,CAAiCtF,YAAjC;AACAvE,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,sBAAaA,GAAb,EAAkBlF,OAAlB,EAA2B;AACvB,cAAIkF,GAAG,CAACsC,OAAR,EAAiB;AACb,gBAAMJ,QAAQ,GAAGlC,GAAG,CAACkC,QAArB;AACA,gBAAMuD,WAAW,GAAG3K,OAAO,CAAC/B,MAAR,GAAiBO,iBAAiB,CAAC4I,QAAD,EAAWpH,OAAO,CAAC/B,MAAnB,EAA2B+B,OAAO,CAAC1L,MAAnC,CAAlC,GAA+E8S,QAAnG;AACA,mBAAOtL,aAAa,CAAC6O,WAAD,EAAc3K,OAAO,CAAC1L,MAAtB,CAApB;AACH,WAJD,MAKK;AACD,mBAAO;AAAErE,sBAAQ,EAAEiV,GAAG,CAACjV,QAAhB;AAA0BC,mBAAK,EAAEgV,GAAG,CAAChV,KAArC;AAA4CgK,oBAAM,EAAEgL,GAAG,CAAChL;AAAxD,aAAP;AACH;AACJ;;;eACD,sBAAagL,GAAb,EAAkBlF,OAAlB,EAA2B;AACvB,cAAMxR,OAAO,GAAGwR,OAAO,CAAC4E,qBAAR,GAAgC,KAAKgG,YAAL,CAAkB1F,GAAG,CAAC1W,OAAtB,EAA+BwR,OAA/B,CAAhD;;AACA,cAAMoJ,QAAQ,GAAGpJ,OAAO,CAACiJ,eAAzB;;AACA,cAAIza,OAAO,CAAC0B,KAAZ,EAAmB;AACf8P,mBAAO,CAAC6K,aAAR,CAAsBrc,OAAO,CAAC0B,KAA9B;AACAkZ,oBAAQ,CAACiB,qBAAT;AACH;;AACD,cAAMxb,KAAK,GAAGqW,GAAG,CAACrW,KAAlB;;AACA,cAAIA,KAAK,CAACR,IAAN,IAAc;AAAE;AAApB,YAAqC;AACjC,iBAAKkS,cAAL,CAAoB1R,KAApB,EAA2BmR,OAA3B;AACH,WAFD,MAGK;AACDA,mBAAO,CAAC6K,aAAR,CAAsBrc,OAAO,CAACyB,QAA9B;AACA,iBAAKuQ,UAAL,CAAgB3R,KAAhB,EAAuBmR,OAAvB;AACAoJ,oBAAQ,CAACoB,qBAAT;AACH;;AACDxK,iBAAO,CAAC4E,qBAAR,GAAgC,IAAhC;AACA5E,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,oBAAWA,GAAX,EAAgBlF,OAAhB,EAAyB;AACrB,cAAMoJ,QAAQ,GAAGpJ,OAAO,CAACiJ,eAAzB;AACA,cAAMza,OAAO,GAAGwR,OAAO,CAAC4E,qBAAxB,CAFqB,CAGrB;AACA;;AACA,cAAI,CAACpW,OAAD,IAAY4a,QAAQ,CAAC0B,yBAAT,GAAqCvZ,MAArD,EAA6D;AACzD6X,oBAAQ,CAAC2B,YAAT;AACH;;AACD,cAAM7Q,MAAM,GAAI1L,OAAO,IAAIA,OAAO,CAAC0L,MAApB,IAA+BgL,GAAG,CAAChL,MAAlD;;AACA,cAAIgL,GAAG,CAACD,WAAR,EAAqB;AACjBmE,oBAAQ,CAAC4B,cAAT,CAAwB9Q,MAAxB;AACH,WAFD,MAGK;AACDkP,oBAAQ,CAACzL,SAAT,CAAmBuH,GAAG,CAACzW,MAAvB,EAA+ByL,MAA/B,EAAuC8F,OAAO,CAAC1L,MAA/C,EAAuD0L,OAAO,CAAC1R,OAA/D;AACH;;AACD0R,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,wBAAeA,GAAf,EAAoBlF,OAApB,EAA6B;AACzB,cAAM4E,qBAAqB,GAAG5E,OAAO,CAAC4E,qBAAtC;AACA,cAAMc,SAAS,GAAI1F,OAAO,CAACiJ,eAAT,CAA0BhZ,QAA5C;AACA,cAAMA,QAAQ,GAAG2U,qBAAqB,CAAC3U,QAAvC;AACA,cAAMyZ,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,EAArB;AACA,cAAMsB,aAAa,GAAGvB,YAAY,CAACT,eAAnC;AACAgC,uBAAa,CAAC/Q,MAAd,GAAuB0K,qBAAqB,CAAC1K,MAA7C;AACAgL,aAAG,CAACzW,MAAJ,CAAWmC,OAAX,CAAmB,UAAA4T,IAAI,EAAI;AACvB,gBAAMzV,MAAM,GAAGyV,IAAI,CAACzV,MAAL,IAAe,CAA9B;AACAkc,yBAAa,CAACC,WAAd,CAA0Bnc,MAAM,GAAGkB,QAAnC;AACAgb,yBAAa,CAACtN,SAAd,CAAwB6G,IAAI,CAAC/V,MAA7B,EAAqC+V,IAAI,CAACtK,MAA1C,EAAkD8F,OAAO,CAAC1L,MAA1D,EAAkE0L,OAAO,CAAC1R,OAA1E;AACA2c,yBAAa,CAACT,qBAAd;AACH,WALD,EAPyB,CAazB;AACA;;AACAxK,iBAAO,CAACiJ,eAAR,CAAwByB,4BAAxB,CAAqDO,aAArD,EAfyB,CAgBzB;AACA;;AACAjL,iBAAO,CAAC6J,wBAAR,CAAiCnE,SAAS,GAAGzV,QAA7C;AACA+P,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,oBAAWA,GAAX,EAAgBlF,OAAhB,EAAyB;AAAA;;AACrB;AACA;AACA,cAAM0F,SAAS,GAAG1F,OAAO,CAACiJ,eAAR,CAAwBhG,WAA1C;AACA,cAAM3U,OAAO,GAAI4W,GAAG,CAAC5W,OAAJ,IAAe,EAAhC;AACA,cAAM4B,KAAK,GAAG5B,OAAO,CAAC4B,KAAR,GAAgBuL,kBAAkB,CAACnN,OAAO,CAAC4B,KAAT,CAAlC,GAAoD,CAAlE;;AACA,cAAIA,KAAK,KACJ8P,OAAO,CAAC8J,YAAR,CAAqBzb,IAArB,KAA8B;AAAE;AAAhC,aACIqX,SAAS,IAAI,CAAb,IAAkB1F,OAAO,CAACiJ,eAAR,CAAwB6B,yBAAxB,GAAoDvZ,MAFtE,CAAT,EAEyF;AACrFyO,mBAAO,CAACiJ,eAAR,CAAwBoB,qBAAxB;AACArK,mBAAO,CAAC8J,YAAR,GAAuBQ,0BAAvB;AACH;;AACD,cAAI/F,YAAY,GAAGmB,SAAnB;AACA,cAAMyF,IAAI,GAAGnL,OAAO,CAACrG,WAAR,CAAoBuL,GAAG,CAACzV,QAAxB,EAAkCyV,GAAG,CAAC4B,gBAAtC,EAAwD5B,GAAG,CAACoB,KAA5D,EAAmEpB,GAAG,CAAC0B,WAAvE,EAAoFtY,OAAO,CAACuY,QAAR,GAAmB,IAAnB,GAA0B,KAA9G,EAAqH7G,OAAO,CAAC1L,MAA7H,CAAb;AACA0L,iBAAO,CAACoL,iBAAR,GAA4BD,IAAI,CAAC5Z,MAAjC;AACA,cAAI8Z,mBAAmB,GAAG,IAA1B;AACAF,cAAI,CAACva,OAAL,CAAa,UAACuD,OAAD,EAAUyE,CAAV,EAAgB;AACzBoH,mBAAO,CAACsL,iBAAR,GAA4B1S,CAA5B;AACA,gBAAM8Q,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyBzE,GAAG,CAAC5W,OAA7B,EAAsC6F,OAAtC,CAArB;;AACA,gBAAIjE,KAAJ,EAAW;AACPwZ,0BAAY,CAACa,aAAb,CAA2Bra,KAA3B;AACH;;AACD,gBAAIiE,OAAO,KAAK6L,OAAO,CAAC7L,OAAxB,EAAiC;AAC7BkX,iCAAmB,GAAG3B,YAAY,CAACT,eAAnC;AACH;;AACDpJ,wBAAY,CAAC,OAAD,EAAOqF,GAAG,CAAC7V,SAAX,EAAsBqa,YAAtB,CAAZ,CATyB,CAUzB;AACA;AACA;;AACAA,wBAAY,CAACT,eAAb,CAA6BuB,qBAA7B;AACA,gBAAM/E,OAAO,GAAGiE,YAAY,CAACT,eAAb,CAA6BhG,WAA7C;AACAsB,wBAAY,GAAGjS,IAAI,CAACC,GAAL,CAASgS,YAAT,EAAuBkB,OAAvB,CAAf;AACH,WAhBD;AAiBAzF,iBAAO,CAACsL,iBAAR,GAA4B,CAA5B;AACAtL,iBAAO,CAACoL,iBAAR,GAA4B,CAA5B;AACApL,iBAAO,CAAC6J,wBAAR,CAAiCtF,YAAjC;;AACA,cAAI8G,mBAAJ,EAAyB;AACrBrL,mBAAO,CAACiJ,eAAR,CAAwByB,4BAAxB,CAAqDW,mBAArD;AACArL,mBAAO,CAACiJ,eAAR,CAAwBoB,qBAAxB;AACH;;AACDrK,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB;AACH;;;eACD,sBAAaA,GAAb,EAAkBlF,OAAlB,EAA2B;AACvB,cAAMuL,aAAa,GAAGvL,OAAO,CAACuL,aAA9B;AACA,cAAMjC,EAAE,GAAGtJ,OAAO,CAACiJ,eAAnB;AACA,cAAMza,OAAO,GAAG0W,GAAG,CAAC1W,OAApB;AACA,cAAMyB,QAAQ,GAAGqC,IAAI,CAACkZ,GAAL,CAAShd,OAAO,CAACyB,QAAjB,CAAjB;AACA,cAAMwb,OAAO,GAAGxb,QAAQ,IAAI+P,OAAO,CAACoL,iBAAR,GAA4B,CAAhC,CAAxB;AACA,cAAIlb,KAAK,GAAGD,QAAQ,GAAG+P,OAAO,CAACsL,iBAA/B;AACA,cAAII,kBAAkB,GAAGld,OAAO,CAACyB,QAAR,GAAmB,CAAnB,GAAuB,SAAvB,GAAmCzB,OAAO,CAAC0L,MAApE;;AACA,kBAAQwR,kBAAR;AACI,iBAAK,SAAL;AACIxb,mBAAK,GAAGub,OAAO,GAAGvb,KAAlB;AACA;;AACJ,iBAAK,MAAL;AACIA,mBAAK,GAAGqb,aAAa,CAACI,kBAAtB;AACA;AANR;;AAQA,cAAMvC,QAAQ,GAAGpJ,OAAO,CAACiJ,eAAzB;;AACA,cAAI/Y,KAAJ,EAAW;AACPkZ,oBAAQ,CAACmB,aAAT,CAAuBra,KAAvB;AACH;;AACD,cAAM0b,YAAY,GAAGxC,QAAQ,CAACnG,WAA9B;AACApD,sBAAY,CAAC,IAAD,EAAOqF,GAAG,CAAC7V,SAAX,EAAsB2Q,OAAtB,CAAZ;AACAA,iBAAO,CAAC8J,YAAR,GAAuB5E,GAAvB,CAtBuB,CAuBvB;AACA;AACA;AACA;;AACAqG,uBAAa,CAACI,kBAAd,GACKrC,EAAE,CAACrG,WAAH,GAAiB2I,YAAlB,IAAmCtC,EAAE,CAAC5D,SAAH,GAAe6F,aAAa,CAACtC,eAAd,CAA8BvD,SAAhF,CADJ;AAEH;;;;;;AAEL,QAAM4E,0BAA0B,GAAG,EAAnC;;QACMtB,wB;;;AACF,wCAAYpG,OAAZ,EAAqBzO,OAArB,EAA8B0U,eAA9B,EAA+CgD,eAA/C,EAAgEC,eAAhE,EAAiFxX,MAAjF,EAAyF4U,SAAzF,EAAoG6C,eAApG,EAAqH;AAAA;;AACjH,aAAKnJ,OAAL,GAAeA,OAAf;AACA,aAAKzO,OAAL,GAAeA,OAAf;AACA,aAAK0U,eAAL,GAAuBA,eAAvB;AACA,aAAKgD,eAAL,GAAuBA,eAAvB;AACA,aAAKC,eAAL,GAAuBA,eAAvB;AACA,aAAKxX,MAAL,GAAcA,MAAd;AACA,aAAK4U,SAAL,GAAiBA,SAAjB;AACA,aAAKqC,aAAL,GAAqB,IAArB;AACA,aAAK3G,qBAAL,GAA6B,IAA7B;AACA,aAAKkF,YAAL,GAAoBQ,0BAApB;AACA,aAAKH,eAAL,GAAuB,CAAvB;AACA,aAAK7b,OAAL,GAAe,EAAf;AACA,aAAKgd,iBAAL,GAAyB,CAAzB;AACA,aAAKF,iBAAL,GAAyB,CAAzB;AACA,aAAKO,kBAAL,GAA0B,CAA1B;AACA,aAAK1C,eAAL,GAAuB8C,eAAe,IAAI,IAAIC,eAAJ,CAAoB,KAAKpJ,OAAzB,EAAkCzO,OAAlC,EAA2C,CAA3C,CAA1C;AACA+U,iBAAS,CAACpY,IAAV,CAAe,KAAKmY,eAApB;AACH;;;;aACD,eAAa;AACT,iBAAO,KAAK3a,OAAL,CAAa2P,MAApB;AACH;;;eACD,uBAAc3P,OAAd,EAAuB2d,YAAvB,EAAqC;AAAA;;AACjC,cAAI,CAAC3d,OAAL,EACI;AACJ,cAAM4d,UAAU,GAAG5d,OAAnB;AACA,cAAI6d,eAAe,GAAG,KAAK7d,OAA3B,CAJiC,CAKjC;;AACA,cAAI4d,UAAU,CAACjc,QAAX,IAAuB,IAA3B,EAAiC;AAC7Bkc,2BAAe,CAAClc,QAAhB,GAA2BwL,kBAAkB,CAACyQ,UAAU,CAACjc,QAAZ,CAA7C;AACH;;AACD,cAAIic,UAAU,CAAChc,KAAX,IAAoB,IAAxB,EAA8B;AAC1Bic,2BAAe,CAACjc,KAAhB,GAAwBuL,kBAAkB,CAACyQ,UAAU,CAAChc,KAAZ,CAA1C;AACH;;AACD,cAAMkc,SAAS,GAAGF,UAAU,CAACjO,MAA7B;;AACA,cAAImO,SAAJ,EAAe;AACX,gBAAIC,cAAc,GAAGF,eAAe,CAAClO,MAArC;;AACA,gBAAI,CAACoO,cAAL,EAAqB;AACjBA,4BAAc,GAAG,KAAK/d,OAAL,CAAa2P,MAAb,GAAsB,EAAvC;AACH;;AACDpJ,kBAAM,CAACC,IAAP,CAAYsX,SAAZ,EAAuBxb,OAAvB,CAA+B,UAAAzC,IAAI,EAAI;AACnC,kBAAI,CAAC8d,YAAD,IAAiB,CAACI,cAAc,CAACrQ,cAAf,CAA8B7N,IAA9B,CAAtB,EAA2D;AACvDke,8BAAc,CAACle,IAAD,CAAd,GAAuBqQ,iBAAiB,CAAC4N,SAAS,CAACje,IAAD,CAAV,EAAkBke,cAAlB,EAAkC,OAAI,CAAC/X,MAAvC,CAAxC;AACH;AACJ,aAJD;AAKH;AACJ;;;eACD,wBAAe;AACX,cAAMhG,OAAO,GAAG,EAAhB;;AACA,cAAI,KAAKA,OAAT,EAAkB;AACd,gBAAMge,SAAS,GAAG,KAAKhe,OAAL,CAAa2P,MAA/B;;AACA,gBAAIqO,SAAJ,EAAe;AACX,kBAAMrO,MAAM,GAAG3P,OAAO,CAAC,QAAD,CAAP,GAAoB,EAAnC;AACAuG,oBAAM,CAACC,IAAP,CAAYwX,SAAZ,EAAuB1b,OAAvB,CAA+B,UAAAzC,IAAI,EAAI;AACnC8P,sBAAM,CAAC9P,IAAD,CAAN,GAAeme,SAAS,CAACne,IAAD,CAAxB;AACH,eAFD;AAGH;AACJ;;AACD,iBAAOG,OAAP;AACH;;;eACD,4BAAmD;AAAA,cAAlCA,OAAkC,uEAAxB,IAAwB;AAAA,cAAlB6F,OAAkB;AAAA,cAAToY,OAAS;AAC/C,cAAMC,MAAM,GAAGrY,OAAO,IAAI,KAAKA,OAA/B;AACA,cAAM6L,OAAO,GAAG,IAAIgJ,wBAAJ,CAA6B,KAAKpG,OAAlC,EAA2C4J,MAA3C,EAAmD,KAAK3D,eAAxD,EAAyE,KAAKgD,eAA9E,EAA+F,KAAKC,eAApG,EAAqH,KAAKxX,MAA1H,EAAkI,KAAK4U,SAAvI,EAAkJ,KAAKD,eAAL,CAAqBwD,IAArB,CAA0BD,MAA1B,EAAkCD,OAAO,IAAI,CAA7C,CAAlJ,CAAhB;AACAvM,iBAAO,CAAC8J,YAAR,GAAuB,KAAKA,YAA5B;AACA9J,iBAAO,CAAC4E,qBAAR,GAAgC,KAAKA,qBAArC;AACA5E,iBAAO,CAAC1R,OAAR,GAAkB,KAAKoe,YAAL,EAAlB;AACA1M,iBAAO,CAACkK,aAAR,CAAsB5b,OAAtB;AACA0R,iBAAO,CAACsL,iBAAR,GAA4B,KAAKA,iBAAjC;AACAtL,iBAAO,CAACoL,iBAAR,GAA4B,KAAKA,iBAAjC;AACApL,iBAAO,CAACuL,aAAR,GAAwB,IAAxB;AACA,eAAKpB,eAAL;AACA,iBAAOnK,OAAP;AACH;;;eACD,kCAAyBuM,OAAzB,EAAkC;AAC9B,eAAKzC,YAAL,GAAoBQ,0BAApB;AACA,eAAKrB,eAAL,GAAuB,KAAKA,eAAL,CAAqBwD,IAArB,CAA0B,KAAKtY,OAA/B,EAAwCoY,OAAxC,CAAvB;AACA,eAAKrD,SAAL,CAAepY,IAAf,CAAoB,KAAKmY,eAAzB;AACA,iBAAO,KAAKA,eAAZ;AACH;;;eACD,qCAA4Bc,WAA5B,EAAyC9Z,QAAzC,EAAmDC,KAAnD,EAA0D;AACtD,cAAMyc,cAAc,GAAG;AACnB1c,oBAAQ,EAAEA,QAAQ,IAAI,IAAZ,GAAmBA,QAAnB,GAA8B8Z,WAAW,CAAC9Z,QADjC;AAEnBC,iBAAK,EAAE,KAAK+Y,eAAL,CAAqBhG,WAArB,IAAoC/S,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,CAA5D,IAAiE6Z,WAAW,CAAC7Z,KAFjE;AAGnBgK,kBAAM,EAAE;AAHW,WAAvB;AAKA,cAAM0S,OAAO,GAAG,IAAIC,kBAAJ,CAAuB,KAAKjK,OAA5B,EAAqCmH,WAAW,CAAC5V,OAAjD,EAA0D4V,WAAW,CAAC9a,SAAtE,EAAiF8a,WAAW,CAACrC,aAA7F,EAA4GqC,WAAW,CAACpC,cAAxH,EAAwIgF,cAAxI,EAAwJ5C,WAAW,CAAC+C,uBAApK,CAAhB;AACA,eAAK5D,SAAL,CAAepY,IAAf,CAAoB8b,OAApB;AACA,iBAAOD,cAAP;AACH;;;eACD,uBAActa,IAAd,EAAoB;AAChB,eAAK4W,eAAL,CAAqBiC,WAArB,CAAiC,KAAKjC,eAAL,CAAqBhZ,QAArB,GAAgCoC,IAAjE;AACH;;;eACD,uBAAcnC,KAAd,EAAqB;AACjB;AACA,cAAIA,KAAK,GAAG,CAAZ,EAAe;AACX,iBAAK+Y,eAAL,CAAqBsB,aAArB,CAAmCra,KAAnC;AACH;AACJ;;;eACD,qBAAYT,QAAZ,EAAsBqX,gBAAtB,EAAwCR,KAAxC,EAA+CM,WAA/C,EAA4DC,QAA5D,EAAsEvS,MAAtE,EAA8E;AAC1E,cAAImE,OAAO,GAAG,EAAd;;AACA,cAAImO,WAAJ,EAAiB;AACbnO,mBAAO,CAAC3H,IAAR,CAAa,KAAKqD,OAAlB;AACH;;AACD,cAAI1E,QAAQ,CAAC8B,MAAT,GAAkB,CAAtB,EAAyB;AAAE;AACvB9B,oBAAQ,GAAGA,QAAQ,CAACuK,OAAT,CAAiBoO,iBAAjB,EAAoC,MAAM,KAAKyD,eAA/C,CAAX;AACApc,oBAAQ,GAAGA,QAAQ,CAACuK,OAAT,CAAiBsO,iBAAjB,EAAoC,MAAM,KAAKwD,eAA/C,CAAX;AACA,gBAAMnU,KAAK,GAAG2O,KAAK,IAAI,CAAvB;;AACA,gBAAIyG,QAAQ,GAAG,KAAKnK,OAAL,CAAapT,KAAb,CAAmB,KAAK2E,OAAxB,EAAiC1E,QAAjC,EAA2CkI,KAA3C,CAAf;;AACA,gBAAI2O,KAAK,KAAK,CAAd,EAAiB;AACbyG,sBAAQ,GAAGzG,KAAK,GAAG,CAAR,GAAYyG,QAAQ,CAACC,KAAT,CAAeD,QAAQ,CAACxb,MAAT,GAAkB+U,KAAjC,EAAwCyG,QAAQ,CAACxb,MAAjD,CAAZ,GACPwb,QAAQ,CAACC,KAAT,CAAe,CAAf,EAAkB1G,KAAlB,CADJ;AAEH;;AACD7N,mBAAO,CAAC3H,IAAR,OAAA2H,OAAO,qBAASsU,QAAT,EAAP;AACH;;AACD,cAAI,CAAClG,QAAD,IAAapO,OAAO,CAAClH,MAAR,IAAkB,CAAnC,EAAsC;AAClC+C,kBAAM,CAACxD,IAAP,oBAAwBgW,gBAAxB,wDAAsFA,gBAAtF;AACH;;AACD,iBAAOrO,OAAP;AACH;;;;;;QAECuT,e;;;AACF,+BAAYpJ,OAAZ,EAAqBzO,OAArB,EAA8BuR,SAA9B,EAAyCuH,4BAAzC,EAAuE;AAAA;;AACnE,aAAKrK,OAAL,GAAeA,OAAf;AACA,aAAKzO,OAAL,GAAeA,OAAf;AACA,aAAKuR,SAAL,GAAiBA,SAAjB;AACA,aAAKuH,4BAAL,GAAoCA,4BAApC;AACA,aAAKhd,QAAL,GAAgB,CAAhB;AACA,aAAKid,iBAAL,GAAyB,EAAzB;AACA,aAAKC,gBAAL,GAAwB,EAAxB;AACA,aAAKC,UAAL,GAAkB,IAAI3W,GAAJ,EAAlB;AACA,aAAK4W,aAAL,GAAqB,EAArB;AACA,aAAKC,cAAL,GAAsB,EAAtB;AACA,aAAKC,SAAL,GAAiB,EAAjB;AACA,aAAKC,yBAAL,GAAiC,IAAjC;;AACA,YAAI,CAAC,KAAKP,4BAAV,EAAwC;AACpC,eAAKA,4BAAL,GAAoC,IAAIxW,GAAJ,EAApC;AACH;;AACD,aAAKgX,oBAAL,GAA4B5Y,MAAM,CAAC6Y,MAAP,CAAc,KAAKH,SAAnB,EAA8B,EAA9B,CAA5B;AACA,aAAKI,qBAAL,GAA6B,KAAKV,4BAAL,CAAkCvW,GAAlC,CAAsCvC,OAAtC,CAA7B;;AACA,YAAI,CAAC,KAAKwZ,qBAAV,EAAiC;AAC7B,eAAKA,qBAAL,GAA6B,KAAKF,oBAAlC;;AACA,eAAKR,4BAAL,CAAkCtW,GAAlC,CAAsCxC,OAAtC,EAA+C,KAAKsZ,oBAApD;AACH;;AACD,aAAKG,aAAL;AACH;;;;eACD,6BAAoB;AAChB,kBAAQ,KAAKR,UAAL,CAAgBnJ,IAAxB;AACI,iBAAK,CAAL;AACI,qBAAO,KAAP;;AACJ,iBAAK,CAAL;AACI,qBAAO,KAAK6G,yBAAL,GAAiCvZ,MAAjC,GAA0C,CAAjD;;AACJ;AACI,qBAAO,IAAP;AANR;AAQH;;;eACD,qCAA4B;AACxB,iBAAOsD,MAAM,CAACC,IAAP,CAAY,KAAKqY,gBAAjB,CAAP;AACH;;;aACD,eAAkB;AACd,iBAAO,KAAKzH,SAAL,GAAiB,KAAKzV,QAA7B;AACH;;;eACD,uBAAcC,KAAd,EAAqB;AACjB;AACA;AACA;AACA;AACA,cAAM2d,eAAe,GAAG,KAAKT,UAAL,CAAgBnJ,IAAhB,IAAwB,CAAxB,IAA6BpP,MAAM,CAACC,IAAP,CAAY,KAAKwY,cAAjB,EAAiC/b,MAAtF;;AACA,cAAI,KAAKtB,QAAL,IAAiB4d,eAArB,EAAsC;AAClC,iBAAK3C,WAAL,CAAiB,KAAKjI,WAAL,GAAmB/S,KAApC;;AACA,gBAAI2d,eAAJ,EAAqB;AACjB,mBAAKxD,qBAAL;AACH;AACJ,WALD,MAMK;AACD,iBAAK3E,SAAL,IAAkBxV,KAAlB;AACH;AACJ;;;eACD,cAAKiE,OAAL,EAAc8O,WAAd,EAA2B;AACvB,eAAKuH,qBAAL;AACA,iBAAO,IAAIwB,eAAJ,CAAoB,KAAKpJ,OAAzB,EAAkCzO,OAAlC,EAA2C8O,WAAW,IAAI,KAAKA,WAA/D,EAA4E,KAAKgK,4BAAjF,CAAP;AACH;;;eACD,yBAAgB;AACZ,cAAI,KAAKE,gBAAT,EAA2B;AACvB,iBAAKD,iBAAL,GAAyB,KAAKC,gBAA9B;AACH;;AACD,eAAKA,gBAAL,GAAwB,KAAKC,UAAL,CAAgB1W,GAAhB,CAAoB,KAAKzG,QAAzB,CAAxB;;AACA,cAAI,CAAC,KAAKkd,gBAAV,EAA4B;AACxB,iBAAKA,gBAAL,GAAwBtY,MAAM,CAAC6Y,MAAP,CAAc,KAAKH,SAAnB,EAA8B,EAA9B,CAAxB;;AACA,iBAAKH,UAAL,CAAgBzW,GAAhB,CAAoB,KAAK1G,QAAzB,EAAmC,KAAKkd,gBAAxC;AACH;AACJ;;;eACD,wBAAe;AACX,eAAKld,QAAL,IAAiBiY,yBAAjB;;AACA,eAAK0F,aAAL;AACH;;;eACD,qBAAYvb,IAAZ,EAAkB;AACd,eAAKmY,qBAAL;AACA,eAAKva,QAAL,GAAgBoC,IAAhB;;AACA,eAAKub,aAAL;AACH;;;eACD,sBAAa7Y,IAAb,EAAmByB,KAAnB,EAA0B;AACtB,eAAKiX,oBAAL,CAA0B1Y,IAA1B,IAAkCyB,KAAlC;AACA,eAAKmX,qBAAL,CAA2B5Y,IAA3B,IAAmCyB,KAAnC;AACA,eAAK6W,aAAL,CAAmBtY,IAAnB,IAA2B;AAAE1C,gBAAI,EAAE,KAAK4Q,WAAb;AAA0BzM,iBAAK,EAALA;AAA1B,WAA3B;AACH;;;eACD,mCAA0B;AACtB,iBAAO,KAAKgX,yBAAL,KAAmC,KAAKL,gBAA/C;AACH;;;eACD,wBAAejT,MAAf,EAAuB;AAAA;;AACnB,cAAIA,MAAJ,EAAY;AACR,iBAAKgT,iBAAL,CAAuB,QAAvB,IAAmChT,MAAnC;AACH,WAHkB,CAInB;AACA;AACA;AACA;AACA;AACA;;;AACArF,gBAAM,CAACC,IAAP,CAAY,KAAK6Y,qBAAjB,EAAwC/c,OAAxC,CAAgD,UAAAmE,IAAI,EAAI;AACpD,mBAAI,CAACwY,SAAL,CAAexY,IAAf,IAAuB,OAAI,CAAC4Y,qBAAL,CAA2B5Y,IAA3B,KAAoC,8DAA3D;AACA,mBAAI,CAACoY,gBAAL,CAAsBpY,IAAtB,IAA8B,8DAA9B;AACH,WAHD;AAIA,eAAKyY,yBAAL,GAAiC,KAAKL,gBAAtC;AACH;;;eACD,mBAAUhO,KAAV,EAAiBjF,MAAjB,EAAyB5F,MAAzB,EAAiChG,OAAjC,EAA0C;AAAA;;AACtC,cAAI4L,MAAJ,EAAY;AACR,iBAAKgT,iBAAL,CAAuB,QAAvB,IAAmChT,MAAnC;AACH;;AACD,cAAM+D,MAAM,GAAI3P,OAAO,IAAIA,OAAO,CAAC2P,MAApB,IAA+B,EAA9C;AACA,cAAMxP,MAAM,GAAGqf,aAAa,CAAC3O,KAAD,EAAQ,KAAKwO,qBAAb,CAA5B;AACA9Y,gBAAM,CAACC,IAAP,CAAYrG,MAAZ,EAAoBmC,OAApB,CAA4B,UAAAmE,IAAI,EAAI;AAChC,gBAAMgZ,GAAG,GAAGvP,iBAAiB,CAAC/P,MAAM,CAACsG,IAAD,CAAP,EAAekJ,MAAf,EAAuB3J,MAAvB,CAA7B;AACA,mBAAI,CAACgZ,cAAL,CAAoBvY,IAApB,IAA4BgZ,GAA5B;;AACA,gBAAI,CAAC,OAAI,CAACN,oBAAL,CAA0BzR,cAA1B,CAAyCjH,IAAzC,CAAL,EAAqD;AACjD,qBAAI,CAACwY,SAAL,CAAexY,IAAf,IAAuB,OAAI,CAAC4Y,qBAAL,CAA2B3R,cAA3B,CAA0CjH,IAA1C,IACnB,OAAI,CAAC4Y,qBAAL,CAA2B5Y,IAA3B,CADmB,GAEnB,8DAFJ;AAGH;;AACD,mBAAI,CAACiZ,YAAL,CAAkBjZ,IAAlB,EAAwBgZ,GAAxB;AACH,WATD;AAUH;;;eACD,iCAAwB;AAAA;;AACpB,cAAMtf,MAAM,GAAG,KAAK6e,cAApB;AACA,cAAMW,KAAK,GAAGpZ,MAAM,CAACC,IAAP,CAAYrG,MAAZ,CAAd;AACA,cAAIwf,KAAK,CAAC1c,MAAN,IAAgB,CAApB,EACI;AACJ,eAAK+b,cAAL,GAAsB,EAAtB;AACAW,eAAK,CAACrd,OAAN,CAAc,UAAAmE,IAAI,EAAI;AAClB,gBAAMgZ,GAAG,GAAGtf,MAAM,CAACsG,IAAD,CAAlB;AACA,mBAAI,CAACoY,gBAAL,CAAsBpY,IAAtB,IAA8BgZ,GAA9B;AACH,WAHD;AAIAlZ,gBAAM,CAACC,IAAP,CAAY,KAAK2Y,oBAAjB,EAAuC7c,OAAvC,CAA+C,UAAAmE,IAAI,EAAI;AACnD,gBAAI,CAAC,OAAI,CAACoY,gBAAL,CAAsBnR,cAAtB,CAAqCjH,IAArC,CAAL,EAAiD;AAC7C,qBAAI,CAACoY,gBAAL,CAAsBpY,IAAtB,IAA8B,OAAI,CAAC0Y,oBAAL,CAA0B1Y,IAA1B,CAA9B;AACH;AACJ,WAJD;AAKH;;;eACD,iCAAwB;AAAA;;AACpBF,gBAAM,CAACC,IAAP,CAAY,KAAK2Y,oBAAjB,EAAuC7c,OAAvC,CAA+C,UAAAmE,IAAI,EAAI;AACnD,gBAAMgZ,GAAG,GAAG,OAAI,CAACN,oBAAL,CAA0B1Y,IAA1B,CAAZ;AACA,mBAAI,CAACuY,cAAL,CAAoBvY,IAApB,IAA4BgZ,GAA5B;;AACA,mBAAI,CAACC,YAAL,CAAkBjZ,IAAlB,EAAwBgZ,GAAxB;AACH,WAJD;AAKH;;;eACD,4BAAmB;AACf,iBAAO,KAAKX,UAAL,CAAgB1W,GAAhB,CAAoB,KAAKzG,QAAzB,CAAP;AACH;;;aACD,eAAiB;AACb,cAAMie,UAAU,GAAG,EAAnB;;AACA,eAAK,IAAInZ,IAAT,IAAiB,KAAKoY,gBAAtB,EAAwC;AACpCe,sBAAU,CAACpd,IAAX,CAAgBiE,IAAhB;AACH;;AACD,iBAAOmZ,UAAP;AACH;;;eACD,sCAA6B9E,QAA7B,EAAuC;AAAA;;AACnCvU,gBAAM,CAACC,IAAP,CAAYsU,QAAQ,CAACiE,aAArB,EAAoCzc,OAApC,CAA4C,UAAAmE,IAAI,EAAI;AAChD,gBAAMoZ,QAAQ,GAAG,OAAI,CAACd,aAAL,CAAmBtY,IAAnB,CAAjB;AACA,gBAAMqZ,QAAQ,GAAGhF,QAAQ,CAACiE,aAAT,CAAuBtY,IAAvB,CAAjB;;AACA,gBAAI,CAACoZ,QAAD,IAAaC,QAAQ,CAAC/b,IAAT,GAAgB8b,QAAQ,CAAC9b,IAA1C,EAAgD;AAC5C,qBAAI,CAAC2b,YAAL,CAAkBjZ,IAAlB,EAAwBqZ,QAAQ,CAAC5X,KAAjC;AACH;AACJ,WAND;AAOH;;;eACD,0BAAiB;AAAA;;AACb,eAAKgU,qBAAL;AACA,cAAM9C,aAAa,GAAG,IAAI9F,GAAJ,EAAtB;AACA,cAAM+F,cAAc,GAAG,IAAI/F,GAAJ,EAAvB;AACA,cAAMkD,OAAO,GAAG,KAAKsI,UAAL,CAAgBnJ,IAAhB,KAAyB,CAAzB,IAA8B,KAAKhU,QAAL,KAAkB,CAAhE;AACA,cAAIoe,cAAc,GAAG,EAArB;;AACA,eAAKjB,UAAL,CAAgBxc,OAAhB,CAAwB,UAAC0d,QAAD,EAAWjc,IAAX,EAAoB;AACxC,gBAAMkc,aAAa,GAAGvR,UAAU,CAACsR,QAAD,EAAW,IAAX,CAAhC;AACAzZ,kBAAM,CAACC,IAAP,CAAYyZ,aAAZ,EAA2B3d,OAA3B,CAAmC,UAAAmE,IAAI,EAAI;AACvC,kBAAMyB,KAAK,GAAG+X,aAAa,CAACxZ,IAAD,CAA3B;;AACA,kBAAIyB,KAAK,IAAI,8DAAb,EAAyB;AACrBkR,6BAAa,CAAC1D,GAAd,CAAkBjP,IAAlB;AACH,eAFD,MAGK,IAAIyB,KAAK,IAAI,8DAAb,EAAyB;AAC1BmR,8BAAc,CAAC3D,GAAf,CAAmBjP,IAAnB;AACH;AACJ,aARD;;AASA,gBAAI,CAAC+P,OAAL,EAAc;AACVyJ,2BAAa,CAAC,QAAD,CAAb,GAA0Blc,IAAI,GAAG,OAAI,CAACpC,QAAtC;AACH;;AACDoe,0BAAc,CAACvd,IAAf,CAAoByd,aAApB;AACH,WAfD;;AAgBA,cAAMC,QAAQ,GAAG9G,aAAa,CAACzD,IAAd,GAAqBpF,eAAe,CAAC6I,aAAa,CAACvD,MAAd,EAAD,CAApC,GAA+D,EAAhF;AACA,cAAMsK,SAAS,GAAG9G,cAAc,CAAC1D,IAAf,GAAsBpF,eAAe,CAAC8I,cAAc,CAACxD,MAAf,EAAD,CAArC,GAAiE,EAAnF,CAvBa,CAwBb;;AACA,cAAIW,OAAJ,EAAa;AACT,gBAAM4J,GAAG,GAAGL,cAAc,CAAC,CAAD,CAA1B;AACA,gBAAMM,GAAG,GAAGlS,OAAO,CAACiS,GAAD,CAAnB;AACAA,eAAG,CAAC,QAAD,CAAH,GAAgB,CAAhB;AACAC,eAAG,CAAC,QAAD,CAAH,GAAgB,CAAhB;AACAN,0BAAc,GAAG,CAACK,GAAD,EAAMC,GAAN,CAAjB;AACH;;AACD,iBAAOlH,yBAAyB,CAAC,KAAKtT,OAAN,EAAeka,cAAf,EAA+BG,QAA/B,EAAyCC,SAAzC,EAAoD,KAAKxe,QAAzD,EAAmE,KAAKyV,SAAxE,EAAmF,KAAKxL,MAAxF,EAAgG,KAAhG,CAAhC;AACH;;;;;;QAEC2S,kB;;;;;;;AACF,kCAAY5Y,MAAZ,EAAoBE,OAApB,EAA6BlF,SAA7B,EAAwCyY,aAAxC,EAAuDC,cAAvD,EAAuEnZ,OAAvE,EAAkH;AAAA;;AAAA,YAAlCogB,wBAAkC,uEAAP,KAAO;;AAAA;;AAC9G,qCAAM3a,MAAN,EAAcE,OAAd,EAAuB3F,OAAO,CAAC0B,KAA/B;AACA,gBAAKiE,OAAL,GAAeA,OAAf;AACA,gBAAKlF,SAAL,GAAiBA,SAAjB;AACA,gBAAKyY,aAAL,GAAqBA,aAArB;AACA,gBAAKC,cAAL,GAAsBA,cAAtB;AACA,gBAAKiH,wBAAL,GAAgCA,wBAAhC;AACA,gBAAKpgB,OAAL,GAAe;AAAEyB,kBAAQ,EAAEzB,OAAO,CAACyB,QAApB;AAA8BC,eAAK,EAAE1B,OAAO,CAAC0B,KAA7C;AAAoDgK,gBAAM,EAAE1L,OAAO,CAAC0L;AAApE,SAAf;AAP8G;AAQjH;;;;eACD,6BAAoB;AAChB,iBAAO,KAAKjL,SAAL,CAAesC,MAAf,GAAwB,CAA/B;AACH;;;eACD,0BAAiB;AACb,cAAItC,SAAS,GAAG,KAAKA,SAArB;AACA,8BAAkC,KAAKT,OAAvC;AAAA,cAAM0B,KAAN,iBAAMA,KAAN;AAAA,cAAaD,QAAb,iBAAaA,QAAb;AAAA,cAAuBiK,MAAvB,iBAAuBA,MAAvB;;AACA,cAAI,KAAK0U,wBAAL,IAAiC1e,KAArC,EAA4C;AACxC,gBAAM2e,YAAY,GAAG,EAArB;AACA,gBAAMle,SAAS,GAAGV,QAAQ,GAAGC,KAA7B;AACA,gBAAM4e,WAAW,GAAG5e,KAAK,GAAGS,SAA5B,CAHwC,CAIxC;;AACA,gBAAMoe,gBAAgB,GAAG/R,UAAU,CAAC/N,SAAS,CAAC,CAAD,CAAV,EAAe,KAAf,CAAnC;AACA8f,4BAAgB,CAAC,QAAD,CAAhB,GAA6B,CAA7B;AACAF,wBAAY,CAAC/d,IAAb,CAAkBie,gBAAlB;AACA,gBAAMC,gBAAgB,GAAGhS,UAAU,CAAC/N,SAAS,CAAC,CAAD,CAAV,EAAe,KAAf,CAAnC;AACA+f,4BAAgB,CAAC,QAAD,CAAhB,GAA6BC,WAAW,CAACH,WAAD,CAAxC;AACAD,wBAAY,CAAC/d,IAAb,CAAkBke,gBAAlB;AACA;;;;;;;;;;;AAcA;;AACA,gBAAM1I,KAAK,GAAGrX,SAAS,CAACsC,MAAV,GAAmB,CAAjC;;AACA,iBAAK,IAAIqH,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI0N,KAArB,EAA4B1N,CAAC,EAA7B,EAAiC;AAC7B,kBAAIlE,EAAE,GAAGsI,UAAU,CAAC/N,SAAS,CAAC2J,CAAD,CAAV,EAAe,KAAf,CAAnB;AACA,kBAAMsW,SAAS,GAAGxa,EAAE,CAAC,QAAD,CAApB;AACA,kBAAMya,cAAc,GAAGjf,KAAK,GAAGgf,SAAS,GAAGjf,QAA3C;AACAyE,gBAAE,CAAC,QAAD,CAAF,GAAeua,WAAW,CAACE,cAAc,GAAGxe,SAAlB,CAA1B;AACAke,0BAAY,CAAC/d,IAAb,CAAkB4D,EAAlB;AACH,aAjCuC,CAkCxC;;;AACAzE,oBAAQ,GAAGU,SAAX;AACAT,iBAAK,GAAG,CAAR;AACAgK,kBAAM,GAAG,EAAT;AACAjL,qBAAS,GAAG4f,YAAZ;AACH;;AACD,iBAAOpH,yBAAyB,CAAC,KAAKtT,OAAN,EAAelF,SAAf,EAA0B,KAAKyY,aAA/B,EAA8C,KAAKC,cAAnD,EAAmE1X,QAAnE,EAA6EC,KAA7E,EAAoFgK,MAApF,EAA4F,IAA5F,CAAhC;AACH;;;;MAzD4B8R,e;;AA2DjC,aAASiD,WAAT,CAAqBlgB,MAArB,EAAgD;AAAA,UAAnBqgB,aAAmB,uEAAH,CAAG;AAC5C,UAAMC,IAAI,GAAG/c,IAAI,CAACgd,GAAL,CAAS,EAAT,EAAaF,aAAa,GAAG,CAA7B,CAAb;AACA,aAAO9c,IAAI,CAACid,KAAL,CAAWxgB,MAAM,GAAGsgB,IAApB,IAA4BA,IAAnC;AACH;;AACD,aAASvB,aAAT,CAAuB3O,KAAvB,EAA8BqQ,SAA9B,EAAyC;AACrC,UAAM/gB,MAAM,GAAG,EAAf;AACA,UAAIghB,aAAJ;AACAtQ,WAAK,CAACvO,OAAN,CAAc,UAAA6J,KAAK,EAAI;AACnB,YAAIA,KAAK,KAAK,GAAd,EAAmB;AACfgV,uBAAa,GAAGA,aAAa,IAAI5a,MAAM,CAACC,IAAP,CAAY0a,SAAZ,CAAjC;AACAC,uBAAa,CAAC7e,OAAd,CAAsB,UAAAmE,IAAI,EAAI;AAC1BtG,kBAAM,CAACsG,IAAD,CAAN,GAAe,8DAAf;AACH,WAFD;AAGH,SALD,MAMK;AACDiI,oBAAU,CAACvC,KAAD,EAAQ,KAAR,EAAehM,MAAf,CAAV;AACH;AACJ,OAVD;AAWA,aAAOA,MAAP;AACH;;QAEKihB,S;;;AACF,yBAAY9M,OAAZ,EAAqBzD,KAArB,EAA4B;AAAA;;AACxB,aAAKyD,OAAL,GAAeA,OAAf;AACA,YAAMtO,MAAM,GAAG,EAAf;AACA,YAAM4Q,GAAG,GAAG3C,iBAAiB,CAACK,OAAD,EAAUzD,KAAV,EAAiB7K,MAAjB,CAA7B;;AACA,YAAIA,MAAM,CAAC/C,MAAX,EAAmB;AACf,cAAMoe,YAAY,2CAAoCrb,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAApC,CAAlB;AACA,gBAAM,IAAID,KAAJ,CAAUsa,YAAV,CAAN;AACH;;AACD,aAAKC,aAAL,GAAqB1K,GAArB;AACH;;;;eACD,wBAAe/Q,OAAf,EAAwBwU,cAAxB,EAAwCkH,iBAAxC,EAA2DvhB,OAA3D,EAAoEua,eAApE,EAAqF;AACjF,cAAMiH,KAAK,GAAGhT,KAAK,CAACC,OAAN,CAAc4L,cAAd,IAAgC/L,eAAe,CAAC+L,cAAD,CAA/C,GACVA,cADJ;AAEA,cAAMoH,IAAI,GAAGjT,KAAK,CAACC,OAAN,CAAc8S,iBAAd,IAAmCjT,eAAe,CAACiT,iBAAD,CAAlD,GACTA,iBADJ;AAEA,cAAMvb,MAAM,GAAG,EAAf;AACAuU,yBAAe,GAAGA,eAAe,IAAI,IAAIhB,qBAAJ,EAArC;AACA,cAAMzO,MAAM,GAAGmP,uBAAuB,CAAC,KAAK3F,OAAN,EAAezO,OAAf,EAAwB,KAAKyb,aAA7B,EAA4C3U,eAA5C,EAA6DC,eAA7D,EAA8E4U,KAA9E,EAAqFC,IAArF,EAA2FzhB,OAA3F,EAAoGua,eAApG,EAAqHvU,MAArH,CAAtC;;AACA,cAAIA,MAAM,CAAC/C,MAAX,EAAmB;AACf,gBAAMoe,YAAY,yCAAkCrb,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAlC,CAAlB;AACA,kBAAM,IAAID,KAAJ,CAAUsa,YAAV,CAAN;AACH;;AACD,iBAAOvW,MAAP;AACH;;;;;AAGL;;;;;;;;AAOA;;;;;QAGM4W,wB;;;AAEN;;;;;QAGMC,4B;;;;;;;;;eACF,+BAAsBC,YAAtB,EAAoC5b,MAApC,EAA4C;AACxC,iBAAO4b,YAAP;AACH;;;eACD,6BAAoBC,oBAApB,EAA0CC,kBAA1C,EAA8D5Z,KAA9D,EAAqElC,MAArE,EAA6E;AACzE,iBAAOkC,KAAP;AACH;;;;;AAGL;;;;;;;;;QAOM6Z,4B;;;;;;;;;;;;;;;eACF,+BAAsBH,YAAtB,EAAoC5b,MAApC,EAA4C;AACxC,iBAAOuJ,mBAAmB,CAACqS,YAAD,CAA1B;AACH;;;eACD,6BAAoBC,oBAApB,EAA0CC,kBAA1C,EAA8D5Z,KAA9D,EAAqElC,MAArE,EAA6E;AACzE,cAAIuH,IAAI,GAAG,EAAX;AACA,cAAMyU,MAAM,GAAG9Z,KAAK,CAAC3C,QAAN,GAAiB0c,IAAjB,EAAf;;AACA,cAAIC,oBAAoB,CAACJ,kBAAD,CAApB,IAA4C5Z,KAAK,KAAK,CAAtD,IAA2DA,KAAK,KAAK,GAAzE,EAA8E;AAC1E,gBAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BqF,kBAAI,GAAG,IAAP;AACH,aAFD,MAGK;AACD,kBAAM4U,iBAAiB,GAAGja,KAAK,CAACkF,KAAN,CAAY,wBAAZ,CAA1B;;AACA,kBAAI+U,iBAAiB,IAAIA,iBAAiB,CAAC,CAAD,CAAjB,CAAqBlf,MAArB,IAA+B,CAAxD,EAA2D;AACvD+C,sBAAM,CAACxD,IAAP,+CAAmDqf,oBAAnD,cAA2E3Z,KAA3E;AACH;AACJ;AACJ;;AACD,iBAAO8Z,MAAM,GAAGzU,IAAhB;AACH;;;;MAnBsCmU,wB;;AAqB3C,QAAMU,IAAI,GAAG,SAAPA,IAAO;AAAA,aAAMC,cAAc,CAAC,iUAC7BxP,KAD6B,CACvB,GADuB,CAAD,CAApB;AAAA,KAAb;;AAEA,QAAMqP,oBAAoB,GAAIE,IAAD,EAA7B;;AACA,aAASC,cAAT,CAAwB7b,IAAxB,EAA8B;AAC1B,UAAMuB,GAAG,GAAG,EAAZ;AACAvB,UAAI,CAAClE,OAAL,CAAa,UAAA0F,GAAG;AAAA,eAAID,GAAG,CAACC,GAAD,CAAH,GAAW,IAAf;AAAA,OAAhB;AACA,aAAOD,GAAP;AACH;;AAED,aAASua,2BAAT,CAAqCzc,OAArC,EAA8C4B,WAA9C,EAA2DC,SAA3D,EAAsEC,OAAtE,EAA+E4a,mBAA/E,EAAoGC,UAApG,EAAgHC,QAAhH,EAA0H7H,SAA1H,EAAqI8H,eAArI,EAAsJtJ,aAAtJ,EAAqKC,cAArK,EAAqLhX,SAArL,EAAgM2D,MAAhM,EAAwM;AACpM,aAAO;AACHjG,YAAI,EAAE;AAAE;AADL;AAEH8F,eAAO,EAAPA,OAFG;AAGH4B,mBAAW,EAAXA,WAHG;AAIH8a,2BAAmB,EAAnBA,mBAJG;AAKH7a,iBAAS,EAATA,SALG;AAMH8a,kBAAU,EAAVA,UANG;AAOH7a,eAAO,EAAPA,OAPG;AAQH8a,gBAAQ,EAARA,QARG;AASH7H,iBAAS,EAATA,SATG;AAUH8H,uBAAe,EAAfA,eAVG;AAWHtJ,qBAAa,EAAbA,aAXG;AAYHC,sBAAc,EAAdA,cAZG;AAaHhX,iBAAS,EAATA,SAbG;AAcH2D,cAAM,EAANA;AAdG,OAAP;AAgBH;;AAED,QAAM2c,YAAY,GAAG,EAArB;;QACMC,0B;;;AACF,0CAAYC,YAAZ,EAA0BjM,GAA1B,EAA+BkM,YAA/B,EAA6C;AAAA;;AACzC,aAAKD,YAAL,GAAoBA,YAApB;AACA,aAAKjM,GAAL,GAAWA,GAAX;AACA,aAAKkM,YAAL,GAAoBA,YAApB;AACH;;;;eACD,eAAMC,YAAN,EAAoBC,SAApB,EAA+Bnd,OAA/B,EAAwC8J,MAAxC,EAAgD;AAC5C,iBAAOsT,yBAAyB,CAAC,KAAKrM,GAAL,CAASd,QAAV,EAAoBiN,YAApB,EAAkCC,SAAlC,EAA6Cnd,OAA7C,EAAsD8J,MAAtD,CAAhC;AACH;;;eACD,qBAAYuT,SAAZ,EAAuBvT,MAAvB,EAA+B3J,MAA/B,EAAuC;AACnC,cAAMmd,iBAAiB,GAAG,KAAKL,YAAL,CAAkB,GAAlB,CAA1B;AACA,cAAMM,WAAW,GAAG,KAAKN,YAAL,CAAkBI,SAAlB,CAApB;AACA,cAAMG,YAAY,GAAGF,iBAAiB,GAAGA,iBAAiB,CAACG,WAAlB,CAA8B3T,MAA9B,EAAsC3J,MAAtC,CAAH,GAAmD,EAAzF;AACA,iBAAOod,WAAW,GAAGA,WAAW,CAACE,WAAZ,CAAwB3T,MAAxB,EAAgC3J,MAAhC,CAAH,GAA6Cqd,YAA/D;AACH;;;eACD,eAAM1d,MAAN,EAAcE,OAAd,EAAuBkd,YAAvB,EAAqCC,SAArC,EAAgD7I,cAAhD,EAAgEC,cAAhE,EAAgFmJ,cAAhF,EAAgGC,WAAhG,EAA6GjJ,eAA7G,EAA8HkJ,YAA9H,EAA4I;AACxI,cAAMzd,MAAM,GAAG,EAAf;AACA,cAAM0d,yBAAyB,GAAG,KAAK9M,GAAL,CAAS5W,OAAT,IAAoB,KAAK4W,GAAL,CAAS5W,OAAT,CAAiB2P,MAArC,IAA+CgT,YAAjF;AACA,cAAMgB,sBAAsB,GAAGJ,cAAc,IAAIA,cAAc,CAAC5T,MAAjC,IAA2CgT,YAA1E;AACA,cAAMiB,kBAAkB,GAAG,KAAKN,WAAL,CAAiBP,YAAjB,EAA+BY,sBAA/B,EAAuD3d,MAAvD,CAA3B;AACA,cAAM6d,mBAAmB,GAAGL,WAAW,IAAIA,WAAW,CAAC7T,MAA3B,IAAqCgT,YAAjE;AACA,cAAMmB,eAAe,GAAG,KAAKR,WAAL,CAAiBN,SAAjB,EAA4Ba,mBAA5B,EAAiD7d,MAAjD,CAAxB;AACA,cAAM0c,eAAe,GAAG,IAAIpP,GAAJ,EAAxB;AACA,cAAMyQ,WAAW,GAAG,IAAI5b,GAAJ,EAApB;AACA,cAAM6b,YAAY,GAAG,IAAI7b,GAAJ,EAArB;AACA,cAAM8b,SAAS,GAAGjB,SAAS,KAAK,MAAhC;AACA,cAAMkB,gBAAgB,GAAG;AAAEvU,kBAAM,EAAEpJ,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBT,yBAAlB,CAAd,EAA4DG,mBAA5D;AAAV,WAAzB;AACA,cAAMjJ,SAAS,GAAG6I,YAAY,GAC1B,EAD0B,GAE1BxJ,uBAAuB,CAACtU,MAAD,EAASE,OAAT,EAAkB,KAAK+Q,GAAL,CAAS7V,SAA3B,EAAsCoZ,cAAtC,EAAsDC,cAAtD,EAAsEwJ,kBAAtE,EAA0FE,eAA1F,EAA2GI,gBAA3G,EAA6H3J,eAA7H,EAA8IvU,MAA9I,CAF3B;AAGA,cAAI3D,SAAS,GAAG,CAAhB;AACAuY,mBAAS,CAACtY,OAAV,CAAkB,UAAA0Y,EAAE,EAAI;AACpB3Y,qBAAS,GAAG2B,IAAI,CAACC,GAAL,CAAS+W,EAAE,CAACrZ,QAAH,GAAcqZ,EAAE,CAACpZ,KAA1B,EAAiCS,SAAjC,CAAZ;AACH,WAFD;;AAGA,cAAI2D,MAAM,CAAC/C,MAAX,EAAmB;AACf,mBAAOqf,2BAA2B,CAACzc,OAAD,EAAU,KAAKgd,YAAf,EAA6BE,YAA7B,EAA2CC,SAA3C,EAAsDiB,SAAtD,EAAiEL,kBAAjE,EAAqFE,eAArF,EAAsG,EAAtG,EAA0G,EAA1G,EAA8GC,WAA9G,EAA2HC,YAA3H,EAAyI3hB,SAAzI,EAAoJ2D,MAApJ,CAAlC;AACH;;AACD4U,mBAAS,CAACtY,OAAV,CAAkB,UAAA0Y,EAAE,EAAI;AACpB,gBAAMzQ,GAAG,GAAGyQ,EAAE,CAACnV,OAAf;AACA,gBAAMqa,QAAQ,GAAGpY,eAAe,CAACic,WAAD,EAAcxZ,GAAd,EAAmB,EAAnB,CAAhC;AACAyQ,cAAE,CAAC5B,aAAH,CAAiB9W,OAAjB,CAAyB,UAAAmE,IAAI;AAAA,qBAAIyZ,QAAQ,CAACzZ,IAAD,CAAR,GAAiB,IAArB;AAAA,aAA7B;AACA,gBAAM0Z,SAAS,GAAGrY,eAAe,CAACkc,YAAD,EAAezZ,GAAf,EAAoB,EAApB,CAAjC;AACAyQ,cAAE,CAAC3B,cAAH,CAAkB/W,OAAlB,CAA0B,UAAAmE,IAAI;AAAA,qBAAI0Z,SAAS,CAAC1Z,IAAD,CAAT,GAAkB,IAAtB;AAAA,aAA9B;;AACA,gBAAI8D,GAAG,KAAK1E,OAAZ,EAAqB;AACjB6c,6BAAe,CAAChN,GAAhB,CAAoBnL,GAApB;AACH;AACJ,WATD;AAUA,cAAM6Z,mBAAmB,GAAG7T,eAAe,CAACmS,eAAe,CAAC7M,MAAhB,EAAD,CAA3C;AACA,iBAAOyM,2BAA2B,CAACzc,OAAD,EAAU,KAAKgd,YAAf,EAA6BE,YAA7B,EAA2CC,SAA3C,EAAsDiB,SAAtD,EAAiEL,kBAAjE,EAAqFE,eAArF,EAAsGlJ,SAAtG,EAAiHwJ,mBAAjH,EAAsIL,WAAtI,EAAmJC,YAAnJ,EAAiK3hB,SAAjK,CAAlC;AACH;;;;;;AAEL,aAAS4gB,yBAAT,CAAmCoB,QAAnC,EAA6CtB,YAA7C,EAA2DC,SAA3D,EAAsEnd,OAAtE,EAA+E8J,MAA/E,EAAuF;AACnF,aAAO0U,QAAQ,CAACrL,IAAT,CAAc,UAAAzW,EAAE;AAAA,eAAIA,EAAE,CAACwgB,YAAD,EAAeC,SAAf,EAA0Bnd,OAA1B,EAAmC8J,MAAnC,CAAN;AAAA,OAAhB,CAAP;AACH;;QACK2U,oB;;;AACF,oCAAYnkB,MAAZ,EAAoBokB,aAApB,EAAmC;AAAA;;AAC/B,aAAKpkB,MAAL,GAAcA,MAAd;AACA,aAAKokB,aAAL,GAAqBA,aAArB;AACH;;;;eACD,qBAAY5U,MAAZ,EAAoB3J,MAApB,EAA4B;AACxB,cAAMsU,WAAW,GAAG,EAApB;AACA,cAAMkK,cAAc,GAAGrW,OAAO,CAAC,KAAKoW,aAAN,CAA9B;AACAhe,gBAAM,CAACC,IAAP,CAAYmJ,MAAZ,EAAoBrN,OAApB,CAA4B,UAAA0F,GAAG,EAAI;AAC/B,gBAAME,KAAK,GAAGyH,MAAM,CAAC3H,GAAD,CAApB;;AACA,gBAAIE,KAAK,IAAI,IAAb,EAAmB;AACfsc,4BAAc,CAACxc,GAAD,CAAd,GAAsBE,KAAtB;AACH;AACJ,WALD;AAMA,eAAK/H,MAAL,CAAYA,MAAZ,CAAmBmC,OAAnB,CAA2B,UAAA4F,KAAK,EAAI;AAChC,gBAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,kBAAMuc,QAAQ,GAAGvc,KAAjB;AACA3B,oBAAM,CAACC,IAAP,CAAYie,QAAZ,EAAsBniB,OAAtB,CAA8B,UAAAmE,IAAI,EAAI;AAClC,oBAAIgZ,GAAG,GAAGgF,QAAQ,CAAChe,IAAD,CAAlB;;AACA,oBAAIgZ,GAAG,CAACxc,MAAJ,GAAa,CAAjB,EAAoB;AAChBwc,qBAAG,GAAGvP,iBAAiB,CAACuP,GAAD,EAAM+E,cAAN,EAAsBxe,MAAtB,CAAvB;AACH;;AACDsU,2BAAW,CAAC7T,IAAD,CAAX,GAAoBgZ,GAApB;AACH,eAND;AAOH;AACJ,WAXD;AAYA,iBAAOnF,WAAP;AACH;;;;;AAGL;;;;;AAGA,aAASoK,YAAT,CAAsB7kB,IAAtB,EAA4B+W,GAA5B,EAAiC;AAC7B,aAAO,IAAI+N,gBAAJ,CAAqB9kB,IAArB,EAA2B+W,GAA3B,CAAP;AACH;AACD;;;;;QAGM+N,gB;;;AACF,gCAAY9kB,IAAZ,EAAkB+W,GAAlB,EAAuB;AAAA;;AAAA;;AACnB,aAAK/W,IAAL,GAAYA,IAAZ;AACA,aAAK+W,GAAL,GAAWA,GAAX;AACA,aAAKgO,mBAAL,GAA2B,EAA3B;AACA,aAAK9P,MAAL,GAAc,EAAd;AACA8B,WAAG,CAAC9B,MAAJ,CAAWxS,OAAX,CAAmB,UAAAsU,GAAG,EAAI;AACtB,cAAM2N,aAAa,GAAI3N,GAAG,CAAC5W,OAAJ,IAAe4W,GAAG,CAAC5W,OAAJ,CAAY2P,MAA5B,IAAuC,EAA7D;AACA,iBAAI,CAACmF,MAAL,CAAY8B,GAAG,CAAC/W,IAAhB,IAAwB,IAAIykB,oBAAJ,CAAyB1N,GAAG,CAACrW,KAA7B,EAAoCgkB,aAApC,CAAxB;AACH,SAHD;AAIAM,yBAAiB,CAAC,KAAK/P,MAAN,EAAc,MAAd,EAAsB,GAAtB,CAAjB;AACA+P,yBAAiB,CAAC,KAAK/P,MAAN,EAAc,OAAd,EAAuB,GAAvB,CAAjB;AACA8B,WAAG,CAAC7B,WAAJ,CAAgBzS,OAAhB,CAAwB,UAAAsU,GAAG,EAAI;AAC3B,iBAAI,CAACgO,mBAAL,CAAyBpiB,IAAzB,CAA8B,IAAIogB,0BAAJ,CAA+B/iB,IAA/B,EAAqC+W,GAArC,EAA0C,OAAI,CAAC9B,MAA/C,CAA9B;AACH,SAFD;AAGA,aAAKgQ,kBAAL,GAA0BC,wBAAwB,CAACllB,IAAD,EAAO,KAAKiV,MAAZ,CAAlD;AACH;;;;aACD,eAAsB;AAClB,iBAAO,KAAK8B,GAAL,CAAShC,UAAT,GAAsB,CAA7B;AACH;;;eACD,yBAAgBmO,YAAhB,EAA8BC,SAA9B,EAAyCnd,OAAzC,EAAkD8J,MAAlD,EAA0D;AACtD,cAAMqV,KAAK,GAAG,KAAKJ,mBAAL,CAAyBlM,IAAzB,CAA8B,UAAAuM,CAAC;AAAA,mBAAIA,CAAC,CAAC7X,KAAF,CAAQ2V,YAAR,EAAsBC,SAAtB,EAAiCnd,OAAjC,EAA0C8J,MAA1C,CAAJ;AAAA,WAA/B,CAAd;AACA,iBAAOqV,KAAK,IAAI,IAAhB;AACH;;;eACD,qBAAYjC,YAAZ,EAA0BpT,MAA1B,EAAkC3J,MAAlC,EAA0C;AACtC,iBAAO,KAAK8e,kBAAL,CAAwBxB,WAAxB,CAAoCP,YAApC,EAAkDpT,MAAlD,EAA0D3J,MAA1D,CAAP;AACH;;;;;;AAEL,aAAS+e,wBAAT,CAAkCtd,WAAlC,EAA+CqN,MAA/C,EAAuD;AACnD,UAAMgB,QAAQ,GAAG,CAAC,UAACpO,SAAD,EAAYC,OAAZ;AAAA,eAAwB,IAAxB;AAAA,OAAD,CAAjB;AACA,UAAM5G,SAAS,GAAG;AAAEhB,YAAI,EAAE;AAAE;AAAV;AAA0BM,aAAK,EAAE,EAAjC;AAAqCL,eAAO,EAAE;AAA9C,OAAlB;AACA,UAAMY,UAAU,GAAG;AACfb,YAAI,EAAE;AAAE;AADO;AAEfgB,iBAAS,EAATA,SAFe;AAGf+U,gBAAQ,EAARA,QAHe;AAIf9V,eAAO,EAAE,IAJM;AAKf4U,kBAAU,EAAE,CALG;AAMfC,gBAAQ,EAAE;AANK,OAAnB;AAQA,aAAO,IAAI+N,0BAAJ,CAA+Bnb,WAA/B,EAA4C7G,UAA5C,EAAwDkU,MAAxD,CAAP;AACH;;AACD,aAAS+P,iBAAT,CAA2BzW,GAA3B,EAAgC8W,IAAhC,EAAsCC,IAAtC,EAA4C;AACxC,UAAI/W,GAAG,CAACV,cAAJ,CAAmBwX,IAAnB,CAAJ,EAA8B;AAC1B,YAAI,CAAC9W,GAAG,CAACV,cAAJ,CAAmByX,IAAnB,CAAL,EAA+B;AAC3B/W,aAAG,CAAC+W,IAAD,CAAH,GAAY/W,GAAG,CAAC8W,IAAD,CAAf;AACH;AACJ,OAJD,MAKK,IAAI9W,GAAG,CAACV,cAAJ,CAAmByX,IAAnB,CAAJ,EAA8B;AAC/B/W,WAAG,CAAC8W,IAAD,CAAH,GAAY9W,GAAG,CAAC+W,IAAD,CAAf;AACH;AACJ;AAED;;;;;;;;;AAOA,QAAMC,qBAAqB,GAAG,IAAI7L,qBAAJ,EAA9B;;QACM8L,uB;;;AACF,uCAAYC,QAAZ,EAAsBhR,OAAtB,EAA+BiR,WAA/B,EAA4C;AAAA;;AACxC,aAAKD,QAAL,GAAgBA,QAAhB;AACA,aAAKhR,OAAL,GAAeA,OAAf;AACA,aAAKiR,WAAL,GAAmBA,WAAnB;AACA,aAAKC,WAAL,GAAmB,EAAnB;AACA,aAAKC,YAAL,GAAoB,EAApB;AACA,aAAKriB,OAAL,GAAe,EAAf;AACH;;;;eACD,kBAASsF,EAAT,EAAawL,QAAb,EAAuB;AACnB,cAAMlO,MAAM,GAAG,EAAf;AACA,cAAM4Q,GAAG,GAAG3C,iBAAiB,CAAC,KAAKK,OAAN,EAAeJ,QAAf,EAAyBlO,MAAzB,CAA7B;;AACA,cAAIA,MAAM,CAAC/C,MAAX,EAAmB;AACf,kBAAM,IAAI8D,KAAJ,sEAAwEf,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAxE,EAAN;AACH,WAFD,MAGK;AACD,iBAAKwe,WAAL,CAAiB9c,EAAjB,IAAuBkO,GAAvB;AACH;AACJ;;;eACD,sBAAatM,CAAb,EAAgBxE,SAAhB,EAA2BC,UAA3B,EAAuC;AACnC,cAAMF,OAAO,GAAGyE,CAAC,CAACzE,OAAlB;AACA,cAAMlF,SAAS,GAAG+E,kBAAkB,CAAC,KAAK4O,OAAN,EAAe,KAAKiR,WAApB,EAAiC1f,OAAjC,EAA0CyE,CAAC,CAAC3J,SAA5C,EAAuDmF,SAAvD,EAAkEC,UAAlE,CAApC;AACA,iBAAO,KAAKuO,OAAL,CAAarU,OAAb,CAAqB4F,OAArB,EAA8BlF,SAA9B,EAAyC2J,CAAC,CAAC3I,QAA3C,EAAqD2I,CAAC,CAAC1I,KAAvD,EAA8D0I,CAAC,CAACsB,MAAhE,EAAwE,EAAxE,EAA4E,IAA5E,CAAP;AACH;;;eACD,gBAAOlD,EAAP,EAAW7C,OAAX,EAAkC;AAAA;;AAAA,cAAd7F,OAAc,uEAAJ,EAAI;AAC9B,cAAMgG,MAAM,GAAG,EAAf;AACA,cAAM4Q,GAAG,GAAG,KAAK4O,WAAL,CAAiB9c,EAAjB,CAAZ;AACA,cAAI+Q,YAAJ;AACA,cAAMiM,aAAa,GAAG,IAAIvd,GAAJ,EAAtB;;AACA,cAAIyO,GAAJ,EAAS;AACL6C,wBAAY,GAAGQ,uBAAuB,CAAC,KAAK3F,OAAN,EAAezO,OAAf,EAAwB+Q,GAAxB,EAA6BjK,eAA7B,EAA8CC,eAA9C,EAA+D,EAA/D,EAAmE,EAAnE,EAAuE5M,OAAvE,EAAgFolB,qBAAhF,EAAuGpf,MAAvG,CAAtC;AACAyT,wBAAY,CAACnX,OAAb,CAAqB,UAAAqjB,IAAI,EAAI;AACzB,kBAAMxlB,MAAM,GAAG2H,eAAe,CAAC4d,aAAD,EAAgBC,IAAI,CAAC9f,OAArB,EAA8B,EAA9B,CAA9B;AACA8f,kBAAI,CAACtM,cAAL,CAAoB/W,OAApB,CAA4B,UAAAmE,IAAI;AAAA,uBAAItG,MAAM,CAACsG,IAAD,CAAN,GAAe,IAAnB;AAAA,eAAhC;AACH,aAHD;AAIH,WAND,MAOK;AACDT,kBAAM,CAACxD,IAAP,CAAY,sEAAZ;AACAiX,wBAAY,GAAG,EAAf;AACH;;AACD,cAAIzT,MAAM,CAAC/C,MAAX,EAAmB;AACf,kBAAM,IAAI8D,KAAJ,uEAAyEf,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAzE,EAAN;AACH;;AACD0e,uBAAa,CAACpjB,OAAd,CAAsB,UAACnC,MAAD,EAAS0F,OAAT,EAAqB;AACvCU,kBAAM,CAACC,IAAP,CAAYrG,MAAZ,EAAoBmC,OAApB,CAA4B,UAAAmE,IAAI,EAAI;AAChCtG,oBAAM,CAACsG,IAAD,CAAN,GAAe,OAAI,CAAC6N,OAAL,CAAahD,YAAb,CAA0BzL,OAA1B,EAAmCY,IAAnC,EAAyC,8DAAzC,CAAf;AACH,aAFD;AAGH,WAJD;AAKA,cAAMrD,OAAO,GAAGqW,YAAY,CAAC1R,GAAb,CAAiB,UAAAuC,CAAC,EAAI;AAClC,gBAAMnK,MAAM,GAAGulB,aAAa,CAACtd,GAAd,CAAkBkC,CAAC,CAACzE,OAApB,CAAf;AACA,mBAAO,OAAI,CAAC+f,YAAL,CAAkBtb,CAAlB,EAAqB,EAArB,EAAyBnK,MAAzB,CAAP;AACH,WAHe,CAAhB;AAIA,cAAMsD,MAAM,GAAGgC,mBAAmB,CAACrC,OAAD,CAAlC;AACA,eAAKqiB,YAAL,CAAkB/c,EAAlB,IAAwBjF,MAAxB;AACAA,gBAAM,CAACE,SAAP,CAAiB;AAAA,mBAAM,OAAI,CAACW,OAAL,CAAaoE,EAAb,CAAN;AAAA,WAAjB;AACA,eAAKtF,OAAL,CAAaZ,IAAb,CAAkBiB,MAAlB;AACA,iBAAOA,MAAP;AACH;;;eACD,iBAAQiF,EAAR,EAAY;AACR,cAAMjF,MAAM,GAAG,KAAKoiB,UAAL,CAAgBnd,EAAhB,CAAf;;AACAjF,gBAAM,CAACa,OAAP;AACA,iBAAO,KAAKmhB,YAAL,CAAkB/c,EAAlB,CAAP;AACA,cAAMod,KAAK,GAAG,KAAK1iB,OAAL,CAAaqF,OAAb,CAAqBhF,MAArB,CAAd;;AACA,cAAIqiB,KAAK,IAAI,CAAb,EAAgB;AACZ,iBAAK1iB,OAAL,CAAa8K,MAAb,CAAoB4X,KAApB,EAA2B,CAA3B;AACH;AACJ;;;eACD,oBAAWpd,EAAX,EAAe;AACX,cAAMjF,MAAM,GAAG,KAAKgiB,YAAL,CAAkB/c,EAAlB,CAAf;;AACA,cAAI,CAACjF,MAAL,EAAa;AACT,kBAAM,IAAIsD,KAAJ,4DAA8D2B,EAA9D,EAAN;AACH;;AACD,iBAAOjF,MAAP;AACH;;;eACD,gBAAOiF,EAAP,EAAW7C,OAAX,EAAoBqB,SAApB,EAA+BE,QAA/B,EAAyC;AACrC;AACA,cAAM2e,SAAS,GAAGve,kBAAkB,CAAC3B,OAAD,EAAU,EAAV,EAAc,EAAd,EAAkB,EAAlB,CAApC;AACAoB,wBAAc,CAAC,KAAK4e,UAAL,CAAgBnd,EAAhB,CAAD,EAAsBxB,SAAtB,EAAiC6e,SAAjC,EAA4C3e,QAA5C,CAAd;AACA,iBAAO,YAAM,CAAG,CAAhB;AACH;;;eACD,iBAAQsB,EAAR,EAAY7C,OAAZ,EAAqB0C,QAArB,EAA8Byd,IAA9B,EAAoC;AAChC,cAAIzd,QAAO,IAAI,UAAf,EAA2B;AACvB,iBAAK0d,QAAL,CAAcvd,EAAd,EAAkBsd,IAAI,CAAC,CAAD,CAAtB;AACA;AACH;;AACD,cAAIzd,QAAO,IAAI,QAAf,EAAyB;AACrB,gBAAMvI,OAAO,GAAIgmB,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA5B;AACA,iBAAK5G,MAAL,CAAY1W,EAAZ,EAAgB7C,OAAhB,EAAyB7F,OAAzB;AACA;AACH;;AACD,cAAMyD,MAAM,GAAG,KAAKoiB,UAAL,CAAgBnd,EAAhB,CAAf;;AACA,kBAAQH,QAAR;AACI,iBAAK,MAAL;AACI9E,oBAAM,CAACU,IAAP;AACA;;AACJ,iBAAK,OAAL;AACIV,oBAAM,CAACW,KAAP;AACA;;AACJ,iBAAK,OAAL;AACIX,oBAAM,CAACc,KAAP;AACA;;AACJ,iBAAK,SAAL;AACId,oBAAM,CAACY,OAAP;AACA;;AACJ,iBAAK,QAAL;AACIZ,oBAAM,CAACZ,MAAP;AACA;;AACJ,iBAAK,MAAL;AACIY,oBAAM,CAACS,IAAP;AACA;;AACJ,iBAAK,aAAL;AACIT,oBAAM,CAACkB,WAAP,CAAmB2I,UAAU,CAAC0Y,IAAI,CAAC,CAAD,CAAL,CAA7B;AACA;;AACJ,iBAAK,SAAL;AACI,mBAAK1hB,OAAL,CAAaoE,EAAb;AACA;AAxBR;AA0BH;;;;;AAGL;;;;;;;;;AAOA,QAAMwd,gBAAgB,GAAG,mBAAzB;AACA,QAAMC,eAAe,GAAG,oBAAxB;AACA,QAAMC,kBAAkB,GAAG,qBAA3B;AACA,QAAMC,iBAAiB,GAAG,sBAA1B;AACA,QAAMC,cAAc,GAAG,kBAAvB;AACA,QAAMC,aAAa,GAAG,mBAAtB;AACA,QAAMC,kBAAkB,GAAG,EAA3B;AACA,QAAMC,kBAAkB,GAAG;AACvBC,iBAAW,EAAE,EADU;AAEvBC,mBAAa,EAAE,KAFQ;AAGvBC,gBAAU,EAAE,KAHW;AAIvBC,kBAAY,EAAE,KAJS;AAKvBC,0BAAoB,EAAE;AALC,KAA3B;AAOA,QAAMC,0BAA0B,GAAG;AAC/BL,iBAAW,EAAE,EADkB;AAE/BE,gBAAU,EAAE,KAFmB;AAG/BD,mBAAa,EAAE,KAHgB;AAI/BE,kBAAY,EAAE,KAJiB;AAK/BC,0BAAoB,EAAE;AALS,KAAnC;AAOA,QAAME,YAAY,GAAG,cAArB;;QACMC,U;;;AACF,0BAAYpW,KAAZ,EAAqC;AAAA,YAAlB6V,WAAkB,uEAAJ,EAAI;;AAAA;;AACjC,aAAKA,WAAL,GAAmBA,WAAnB;AACA,YAAMQ,KAAK,GAAGrW,KAAK,IAAIA,KAAK,CAACnD,cAAN,CAAqB,OAArB,CAAvB;AACA,YAAMxF,KAAK,GAAGgf,KAAK,GAAGrW,KAAK,CAAC,OAAD,CAAR,GAAoBA,KAAvC;AACA,aAAK3I,KAAL,GAAaif,qBAAqB,CAACjf,KAAD,CAAlC;;AACA,YAAIgf,KAAJ,EAAW;AACP,cAAMlnB,OAAO,GAAGmO,OAAO,CAAC0C,KAAD,CAAvB;AACA,iBAAO7Q,OAAO,CAAC,OAAD,CAAd;AACA,eAAKA,OAAL,GAAeA,OAAf;AACH,SAJD,MAKK;AACD,eAAKA,OAAL,GAAe,EAAf;AACH;;AACD,YAAI,CAAC,KAAKA,OAAL,CAAa2P,MAAlB,EAA0B;AACtB,eAAK3P,OAAL,CAAa2P,MAAb,GAAsB,EAAtB;AACH;AACJ;;;;aACD,eAAa;AACT,iBAAO,KAAK3P,OAAL,CAAa2P,MAApB;AACH;;;eACD,uBAAc3P,OAAd,EAAuB;AACnB,cAAM8d,SAAS,GAAG9d,OAAO,CAAC2P,MAA1B;;AACA,cAAImO,SAAJ,EAAe;AACX,gBAAME,SAAS,GAAG,KAAKhe,OAAL,CAAa2P,MAA/B;AACApJ,kBAAM,CAACC,IAAP,CAAYsX,SAAZ,EAAuBxb,OAAvB,CAA+B,UAAAmE,IAAI,EAAI;AACnC,kBAAIuX,SAAS,CAACvX,IAAD,CAAT,IAAmB,IAAvB,EAA6B;AACzBuX,yBAAS,CAACvX,IAAD,CAAT,GAAkBqX,SAAS,CAACrX,IAAD,CAA3B;AACH;AACJ,aAJD;AAKH;AACJ;;;;;;AAEL,QAAM2gB,UAAU,GAAG,MAAnB;AACA,QAAMC,mBAAmB,GAAG,IAAIJ,UAAJ,CAAeG,UAAf,CAA5B;;QACME,4B;;;AACF,4CAAY5e,EAAZ,EAAgB6e,WAAhB,EAA6BC,OAA7B,EAAsC;AAAA;;AAClC,aAAK9e,EAAL,GAAUA,EAAV;AACA,aAAK6e,WAAL,GAAmBA,WAAnB;AACA,aAAKC,OAAL,GAAeA,OAAf;AACA,aAAKpkB,OAAL,GAAe,EAAf;AACA,aAAKqkB,SAAL,GAAiB,EAAjB;AACA,aAAKC,MAAL,GAAc,EAAd;AACA,aAAKC,iBAAL,GAAyB,IAAIxf,GAAJ,EAAzB;AACA,aAAKyf,cAAL,GAAsB,YAAYlf,EAAlC;AACAmf,gBAAQ,CAACN,WAAD,EAAc,KAAKK,cAAnB,CAAR;AACH;;;;eACD,gBAAO/hB,OAAP,EAAgBhG,IAAhB,EAAsBioB,KAAtB,EAA6B1gB,QAA7B,EAAuC;AAAA;;AACnC,cAAI,CAAC,KAAKqgB,SAAL,CAAe/Z,cAAf,CAA8B7N,IAA9B,CAAL,EAA0C;AACtC,kBAAM,IAAIkH,KAAJ,6DAA8D+gB,KAA9D,gDAAuGjoB,IAAvG,uBAAN;AACH;;AACD,cAAIioB,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAAC7kB,MAAN,IAAgB,CAArC,EAAwC;AACpC,kBAAM,IAAI8D,KAAJ,uDAAwDlH,IAAxD,iDAAN;AACH;;AACD,cAAI,CAACkoB,mBAAmB,CAACD,KAAD,CAAxB,EAAiC;AAC7B,kBAAM,IAAI/gB,KAAJ,kDAAmD+gB,KAAnD,4CAAwFjoB,IAAxF,0BAAN;AACH;;AACD,cAAMmoB,SAAS,GAAGlgB,eAAe,CAAC,KAAK6f,iBAAN,EAAyB9hB,OAAzB,EAAkC,EAAlC,CAAjC;AACA,cAAMgC,IAAI,GAAG;AAAEhI,gBAAI,EAAJA,IAAF;AAAQioB,iBAAK,EAALA,KAAR;AAAe1gB,oBAAQ,EAARA;AAAf,WAAb;AACA4gB,mBAAS,CAACxlB,IAAV,CAAeqF,IAAf;AACA,cAAMogB,kBAAkB,GAAGngB,eAAe,CAAC,KAAK0f,OAAL,CAAaU,eAAd,EAA+BriB,OAA/B,EAAwC,EAAxC,CAA1C;;AACA,cAAI,CAACoiB,kBAAkB,CAACva,cAAnB,CAAkC7N,IAAlC,CAAL,EAA8C;AAC1CgoB,oBAAQ,CAAChiB,OAAD,EAAUkH,oBAAV,CAAR;AACA8a,oBAAQ,CAAChiB,OAAD,EAAUkH,oBAAoB,GAAG,GAAvB,GAA6BlN,IAAvC,CAAR;AACAooB,8BAAkB,CAACpoB,IAAD,CAAlB,GAA2BwnB,mBAA3B;AACH;;AACD,iBAAO,YAAM;AACT;AACA;AACA;AACA,mBAAI,CAACG,OAAL,CAAaW,UAAb,CAAwB,YAAM;AAC1B,kBAAMrC,KAAK,GAAGkC,SAAS,CAACvf,OAAV,CAAkBZ,IAAlB,CAAd;;AACA,kBAAIie,KAAK,IAAI,CAAb,EAAgB;AACZkC,yBAAS,CAAC9Z,MAAV,CAAiB4X,KAAjB,EAAwB,CAAxB;AACH;;AACD,kBAAI,CAAC,OAAI,CAAC2B,SAAL,CAAe5nB,IAAf,CAAL,EAA2B;AACvB,uBAAOooB,kBAAkB,CAACpoB,IAAD,CAAzB;AACH;AACJ,aARD;AASH,WAbD;AAcH;;;eACD,kBAASA,IAAT,EAAe+W,GAAf,EAAoB;AAChB,cAAI,KAAK6Q,SAAL,CAAe5nB,IAAf,CAAJ,EAA0B;AACtB;AACA,mBAAO,KAAP;AACH,WAHD,MAIK;AACD,iBAAK4nB,SAAL,CAAe5nB,IAAf,IAAuB+W,GAAvB;AACA,mBAAO,IAAP;AACH;AACJ;;;eACD,qBAAY/W,IAAZ,EAAkB;AACd,cAAMD,OAAO,GAAG,KAAK6nB,SAAL,CAAe5nB,IAAf,CAAhB;;AACA,cAAI,CAACD,OAAL,EAAc;AACV,kBAAM,IAAImH,KAAJ,4CAA6ClH,IAA7C,iCAAN;AACH;;AACD,iBAAOD,OAAP;AACH;;;eACD,iBAAQiG,OAAR,EAAiB4B,WAAjB,EAA8BS,KAA9B,EAA+D;AAAA;;AAAA,cAA1BkgB,iBAA0B,uEAAN,IAAM;;AAC3D,cAAMxoB,OAAO,GAAG,KAAKyoB,WAAL,CAAiB5gB,WAAjB,CAAhB;;AACA,cAAMhE,MAAM,GAAG,IAAI6kB,yBAAJ,CAA8B,KAAK5f,EAAnC,EAAuCjB,WAAvC,EAAoD5B,OAApD,CAAf;;AACA,cAAIoiB,kBAAkB,GAAG,KAAKT,OAAL,CAAaU,eAAb,CAA6B9f,GAA7B,CAAiCvC,OAAjC,CAAzB;;AACA,cAAI,CAACoiB,kBAAL,EAAyB;AACrBJ,oBAAQ,CAAChiB,OAAD,EAAUkH,oBAAV,CAAR;AACA8a,oBAAQ,CAAChiB,OAAD,EAAUkH,oBAAoB,GAAG,GAAvB,GAA6BtF,WAAvC,CAAR;;AACA,iBAAK+f,OAAL,CAAaU,eAAb,CAA6B7f,GAA7B,CAAiCxC,OAAjC,EAA0CoiB,kBAAkB,GAAG,EAA/D;AACH;;AACD,cAAIvgB,SAAS,GAAGugB,kBAAkB,CAACxgB,WAAD,CAAlC;AACA,cAAME,OAAO,GAAG,IAAIsf,UAAJ,CAAe/e,KAAf,EAAsB,KAAKQ,EAA3B,CAAhB;AACA,cAAMwe,KAAK,GAAGhf,KAAK,IAAIA,KAAK,CAACwF,cAAN,CAAqB,OAArB,CAAvB;;AACA,cAAI,CAACwZ,KAAD,IAAUxf,SAAd,EAAyB;AACrBC,mBAAO,CAAC4gB,aAAR,CAAsB7gB,SAAS,CAAC1H,OAAhC;AACH;;AACDioB,4BAAkB,CAACxgB,WAAD,CAAlB,GAAkCE,OAAlC;;AACA,cAAI,CAACD,SAAL,EAAgB;AACZA,qBAAS,GAAG2f,mBAAZ;AACH;;AACD,cAAMpD,SAAS,GAAGtc,OAAO,CAACO,KAAR,KAAkBkf,UAApC,CAnB2D,CAoB3D;AACA;AACA;AACA;AACA;AACA;;AACA,cAAI,CAACnD,SAAD,IAAcvc,SAAS,CAACQ,KAAV,KAAoBP,OAAO,CAACO,KAA9C,EAAqD;AACjD;AACA;AACA,gBAAI,CAACsgB,SAAS,CAAC9gB,SAAS,CAACiI,MAAX,EAAmBhI,OAAO,CAACgI,MAA3B,CAAd,EAAkD;AAC9C,kBAAM3J,MAAM,GAAG,EAAf;AACA,kBAAMwc,UAAU,GAAG5iB,OAAO,CAAC6oB,WAAR,CAAoB/gB,SAAS,CAACQ,KAA9B,EAAqCR,SAAS,CAACiI,MAA/C,EAAuD3J,MAAvD,CAAnB;AACA,kBAAMyc,QAAQ,GAAG7iB,OAAO,CAAC6oB,WAAR,CAAoB9gB,OAAO,CAACO,KAA5B,EAAmCP,OAAO,CAACgI,MAA3C,EAAmD3J,MAAnD,CAAjB;;AACA,kBAAIA,MAAM,CAAC/C,MAAX,EAAmB;AACf,qBAAKukB,OAAL,CAAakB,WAAb,CAAyB1iB,MAAzB;AACH,eAFD,MAGK;AACD,qBAAKwhB,OAAL,CAAaW,UAAb,CAAwB,YAAM;AAC1B3Y,6BAAW,CAAC3J,OAAD,EAAU2c,UAAV,CAAX;AACAnT,2BAAS,CAACxJ,OAAD,EAAU4c,QAAV,CAAT;AACH,iBAHD;AAIH;AACJ;;AACD;AACH;;AACD,cAAMkG,gBAAgB,GAAG7gB,eAAe,CAAC,KAAK0f,OAAL,CAAaoB,gBAAd,EAAgC/iB,OAAhC,EAAyC,EAAzC,CAAxC;AACA8iB,0BAAgB,CAACrmB,OAAjB,CAAyB,UAAAmB,MAAM,EAAI;AAC/B;AACA;AACA;AACA;AACA,gBAAIA,MAAM,CAACijB,WAAP,IAAsB,OAAI,CAAChe,EAA3B,IAAiCjF,MAAM,CAACgE,WAAP,IAAsBA,WAAvD,IAAsEhE,MAAM,CAAColB,MAAjF,EAAyF;AACrFplB,oBAAM,CAACa,OAAP;AACH;AACJ,WARD;AASA,cAAI1D,UAAU,GAAGhB,OAAO,CAACkpB,eAAR,CAAwBphB,SAAS,CAACQ,KAAlC,EAAyCP,OAAO,CAACO,KAAjD,EAAwDrC,OAAxD,EAAiE8B,OAAO,CAACgI,MAAzE,CAAjB;AACA,cAAIoZ,oBAAoB,GAAG,KAA3B;;AACA,cAAI,CAACnoB,UAAL,EAAiB;AACb,gBAAI,CAACwnB,iBAAL,EACI;AACJxnB,sBAAU,GAAGhB,OAAO,CAACklB,kBAArB;AACAiE,gCAAoB,GAAG,IAAvB;AACH;;AACD,eAAKvB,OAAL,CAAawB,kBAAb;;AACA,eAAKtB,MAAL,CAAYllB,IAAZ,CAAiB;AAAEqD,mBAAO,EAAPA,OAAF;AAAW4B,uBAAW,EAAXA,WAAX;AAAwB7G,sBAAU,EAAVA,UAAxB;AAAoC8G,qBAAS,EAATA,SAApC;AAA+CC,mBAAO,EAAPA,OAA/C;AAAwDlE,kBAAM,EAANA,MAAxD;AAAgEslB,gCAAoB,EAApBA;AAAhE,WAAjB;;AACA,cAAI,CAACA,oBAAL,EAA2B;AACvBlB,oBAAQ,CAAChiB,OAAD,EAAUqgB,gBAAV,CAAR;AACAziB,kBAAM,CAACI,OAAP,CAAe,YAAM;AACjBolB,yBAAW,CAACpjB,OAAD,EAAUqgB,gBAAV,CAAX;AACH,aAFD;AAGH;;AACDziB,gBAAM,CAACC,MAAP,CAAc,YAAM;AAChB,gBAAIoiB,KAAK,GAAG,OAAI,CAAC1iB,OAAL,CAAaqF,OAAb,CAAqBhF,MAArB,CAAZ;;AACA,gBAAIqiB,KAAK,IAAI,CAAb,EAAgB;AACZ,qBAAI,CAAC1iB,OAAL,CAAa8K,MAAb,CAAoB4X,KAApB,EAA2B,CAA3B;AACH;;AACD,gBAAM1iB,OAAO,GAAG,OAAI,CAACokB,OAAL,CAAaoB,gBAAb,CAA8BxgB,GAA9B,CAAkCvC,OAAlC,CAAhB;;AACA,gBAAIzC,OAAJ,EAAa;AACT,kBAAI0iB,OAAK,GAAG1iB,OAAO,CAACqF,OAAR,CAAgBhF,MAAhB,CAAZ;;AACA,kBAAIqiB,OAAK,IAAI,CAAb,EAAgB;AACZ1iB,uBAAO,CAAC8K,MAAR,CAAe4X,OAAf,EAAsB,CAAtB;AACH;AACJ;AACJ,WAZD;AAaA,eAAK1iB,OAAL,CAAaZ,IAAb,CAAkBiB,MAAlB;AACAklB,0BAAgB,CAACnmB,IAAjB,CAAsBiB,MAAtB;AACA,iBAAOA,MAAP;AACH;;;eACD,oBAAW5D,IAAX,EAAiB;AAAA;;AACb,iBAAO,KAAK4nB,SAAL,CAAe5nB,IAAf,CAAP;;AACA,eAAK2nB,OAAL,CAAaU,eAAb,CAA6B5lB,OAA7B,CAAqC,UAAC4mB,QAAD,EAAWrjB,OAAX,EAAuB;AACxD,mBAAOqjB,QAAQ,CAACrpB,IAAD,CAAf;AACH,WAFD;;AAGA,eAAK8nB,iBAAL,CAAuBrlB,OAAvB,CAA+B,UAAC0lB,SAAD,EAAYniB,OAAZ,EAAwB;AACnD,mBAAI,CAAC8hB,iBAAL,CAAuBtf,GAAvB,CAA2BxC,OAA3B,EAAoCmiB,SAAS,CAACnN,MAAV,CAAiB,UAAAmK,KAAK,EAAI;AAC1D,qBAAOA,KAAK,CAACnlB,IAAN,IAAcA,IAArB;AACH,aAFmC,CAApC;AAGH,WAJD;AAKH;;;eACD,2BAAkBgG,OAAlB,EAA2B;AACvB,eAAK2hB,OAAL,CAAaU,eAAb,WAAoCriB,OAApC;;AACA,eAAK8hB,iBAAL,WAA8B9hB,OAA9B;;AACA,cAAMsjB,cAAc,GAAG,KAAK3B,OAAL,CAAaoB,gBAAb,CAA8BxgB,GAA9B,CAAkCvC,OAAlC,CAAvB;;AACA,cAAIsjB,cAAJ,EAAoB;AAChBA,0BAAc,CAAC7mB,OAAf,CAAuB,UAAAmB,MAAM;AAAA,qBAAIA,MAAM,CAACa,OAAP,EAAJ;AAAA,aAA7B;;AACA,iBAAKkjB,OAAL,CAAaoB,gBAAb,WAAqC/iB,OAArC;AACH;AACJ;;;eACD,wCAA+BqU,WAA/B,EAA4CxI,OAA5C,EAAqD;AAAA;;AACjD,cAAM+M,QAAQ,GAAG,KAAK+I,OAAL,CAAa7hB,MAAb,CAAoBzE,KAApB,CAA0BgZ,WAA1B,EAAuClN,mBAAvC,EAA4D,IAA5D,CAAjB,CADiD,CAEjD;AACA;AACA;;;AACAyR,kBAAQ,CAACnc,OAAT,CAAiB,UAAAiI,GAAG,EAAI;AACpB;AACA;AACA,gBAAIA,GAAG,CAACyc,YAAD,CAAP,EACI;;AACJ,gBAAMoC,UAAU,GAAG,OAAI,CAAC5B,OAAL,CAAa6B,wBAAb,CAAsC9e,GAAtC,CAAnB;;AACA,gBAAI6e,UAAU,CAACzT,IAAf,EAAqB;AACjByT,wBAAU,CAAC9mB,OAAX,CAAmB,UAAAgnB,EAAE;AAAA,uBAAIA,EAAE,CAACC,qBAAH,CAAyBhf,GAAzB,EAA8BmH,OAA9B,EAAuC,KAAvC,EAA8C,IAA9C,CAAJ;AAAA,eAArB;AACH,aAFD,MAGK;AACD,qBAAI,CAAC8X,iBAAL,CAAuBjf,GAAvB;AACH;AACJ,WAZD,EALiD,CAkBjD;AACA;;AACA,eAAKid,OAAL,CAAaiC,wBAAb,CAAsC;AAAA,mBAAMhL,QAAQ,CAACnc,OAAT,CAAiB,UAAAiI,GAAG;AAAA,qBAAI,OAAI,CAACif,iBAAL,CAAuBjf,GAAvB,CAAJ;AAAA,aAApB,CAAN;AAAA,WAAtC;AACH;;;eACD,+BAAsB1E,OAAtB,EAA+B6L,OAA/B,EAAwCgY,oBAAxC,EAA8DtB,iBAA9D,EAAiF;AAAA;;AAC7E,cAAMuB,aAAa,GAAG,KAAKnC,OAAL,CAAaU,eAAb,CAA6B9f,GAA7B,CAAiCvC,OAAjC,CAAtB;;AACA,cAAI8jB,aAAJ,EAAmB;AACf,gBAAMvmB,OAAO,GAAG,EAAhB;AACAmD,kBAAM,CAACC,IAAP,CAAYmjB,aAAZ,EAA2BrnB,OAA3B,CAAmC,UAAAmF,WAAW,EAAI;AAC9C;AACA;AACA,kBAAI,OAAI,CAACggB,SAAL,CAAehgB,WAAf,CAAJ,EAAiC;AAC7B,oBAAMhE,MAAM,GAAG,OAAI,CAAC7D,OAAL,CAAaiG,OAAb,EAAsB4B,WAAtB,EAAmC2f,UAAnC,EAA+CgB,iBAA/C,CAAf;;AACA,oBAAI3kB,MAAJ,EAAY;AACRL,yBAAO,CAACZ,IAAR,CAAaiB,MAAb;AACH;AACJ;AACJ,aATD;;AAUA,gBAAIL,OAAO,CAACH,MAAZ,EAAoB;AAChB,mBAAKukB,OAAL,CAAaoC,oBAAb,CAAkC,KAAKlhB,EAAvC,EAA2C7C,OAA3C,EAAoD,IAApD,EAA0D6L,OAA1D;;AACA,kBAAIgY,oBAAJ,EAA0B;AACtBjkB,mCAAmB,CAACrC,OAAD,CAAnB,CAA6BM,MAA7B,CAAoC;AAAA,yBAAM,OAAI,CAAC8jB,OAAL,CAAaqC,gBAAb,CAA8BhkB,OAA9B,CAAN;AAAA,iBAApC;AACH;;AACD,qBAAO,IAAP;AACH;AACJ;;AACD,iBAAO,KAAP;AACH;;;eACD,wCAA+BA,OAA/B,EAAwC;AAAA;;AACpC,cAAMmiB,SAAS,GAAG,KAAKL,iBAAL,CAAuBvf,GAAvB,CAA2BvC,OAA3B,CAAlB;;AACA,cAAMikB,aAAa,GAAG,KAAKtC,OAAL,CAAaU,eAAb,CAA6B9f,GAA7B,CAAiCvC,OAAjC,CAAtB,CAFoC,CAGpC;AACA;;;AACA,cAAImiB,SAAS,IAAI8B,aAAjB,EAAgC;AAC5B,gBAAMC,eAAe,GAAG,IAAIzW,GAAJ,EAAxB;AACA0U,qBAAS,CAAC1lB,OAAV,CAAkB,UAAA0nB,QAAQ,EAAI;AAC1B,kBAAMviB,WAAW,GAAGuiB,QAAQ,CAACnqB,IAA7B;AACA,kBAAIkqB,eAAe,CAACpW,GAAhB,CAAoBlM,WAApB,CAAJ,EACI;AACJsiB,6BAAe,CAACrU,GAAhB,CAAoBjO,WAApB;AACA,kBAAM7H,OAAO,GAAG,OAAI,CAAC6nB,SAAL,CAAehgB,WAAf,CAAhB;AACA,kBAAM7G,UAAU,GAAGhB,OAAO,CAACklB,kBAA3B;AACA,kBAAMpd,SAAS,GAAGoiB,aAAa,CAACriB,WAAD,CAAb,IAA8B4f,mBAAhD;AACA,kBAAM1f,OAAO,GAAG,IAAIsf,UAAJ,CAAeG,UAAf,CAAhB;AACA,kBAAM3jB,MAAM,GAAG,IAAI6kB,yBAAJ,CAA8B,OAAI,CAAC5f,EAAnC,EAAuCjB,WAAvC,EAAoD5B,OAApD,CAAf;AACA,qBAAI,CAAC2hB,OAAL,CAAawB,kBAAb;;AACA,qBAAI,CAACtB,MAAL,CAAYllB,IAAZ,CAAiB;AACbqD,uBAAO,EAAPA,OADa;AAEb4B,2BAAW,EAAXA,WAFa;AAGb7G,0BAAU,EAAVA,UAHa;AAIb8G,yBAAS,EAATA,SAJa;AAKbC,uBAAO,EAAPA,OALa;AAMblE,sBAAM,EAANA,MANa;AAObslB,oCAAoB,EAAE;AAPT,eAAjB;AASH,aApBD;AAqBH;AACJ;;;eACD,oBAAWljB,OAAX,EAAoB6L,OAApB,EAA6B;AAAA;;AACzB,cAAMuY,MAAM,GAAG,KAAKzC,OAApB;;AACA,cAAI3hB,OAAO,CAACqkB,iBAAZ,EAA+B;AAC3B,iBAAKC,8BAAL,CAAoCtkB,OAApC,EAA6C6L,OAA7C;AACH,WAJwB,CAKzB;;;AACA,cAAI,KAAK6X,qBAAL,CAA2B1jB,OAA3B,EAAoC6L,OAApC,EAA6C,IAA7C,CAAJ,EACI,OAPqB,CAQzB;AACA;;AACA,cAAI0Y,iCAAiC,GAAG,KAAxC;;AACA,cAAIH,MAAM,CAACI,eAAX,EAA4B;AACxB,gBAAMC,cAAc,GAAGL,MAAM,CAAC7mB,OAAP,CAAeH,MAAf,GAAwBgnB,MAAM,CAACM,uBAAP,CAA+BniB,GAA/B,CAAmCvC,OAAnC,CAAxB,GAAsE,EAA7F,CADwB,CAExB;AACA;AACA;AACA;;AACA,gBAAIykB,cAAc,IAAIA,cAAc,CAACrnB,MAArC,EAA6C;AACzCmnB,+CAAiC,GAAG,IAApC;AACH,aAFD,MAGK;AACD,kBAAII,MAAM,GAAG3kB,OAAb;;AACA,qBAAO2kB,MAAM,GAAGA,MAAM,CAACC,UAAvB,EAAmC;AAC/B,oBAAMC,QAAQ,GAAGT,MAAM,CAAC/B,eAAP,CAAuB9f,GAAvB,CAA2BoiB,MAA3B,CAAjB;;AACA,oBAAIE,QAAJ,EAAc;AACVN,mDAAiC,GAAG,IAApC;AACA;AACH;AACJ;AACJ;AACJ,WA9BwB,CA+BzB;AACA;AACA;AACA;;;AACA,eAAKO,8BAAL,CAAoC9kB,OAApC,EAnCyB,CAoCzB;AACA;;AACA,cAAIukB,iCAAJ,EAAuC;AACnCH,kBAAM,CAACL,oBAAP,CAA4B,KAAKlhB,EAAjC,EAAqC7C,OAArC,EAA8C,KAA9C,EAAqD6L,OAArD;AACH,WAFD,MAGK;AACD,gBAAMkZ,WAAW,GAAG/kB,OAAO,CAACmhB,YAAD,CAA3B;;AACA,gBAAI,CAAC4D,WAAD,IAAgBA,WAAW,KAAKnE,kBAApC,EAAwD;AACpD;AACA;AACAwD,oBAAM,CAAC9B,UAAP,CAAkB;AAAA,uBAAM,OAAI,CAACqB,iBAAL,CAAuB3jB,OAAvB,CAAN;AAAA,eAAlB;AACAokB,oBAAM,CAACY,sBAAP,CAA8BhlB,OAA9B;;AACAokB,oBAAM,CAACa,kBAAP,CAA0BjlB,OAA1B,EAAmC6L,OAAnC;AACH;AACJ;AACJ;;;eACD,oBAAW7L,OAAX,EAAoB2kB,MAApB,EAA4B;AACxB3C,kBAAQ,CAAChiB,OAAD,EAAU,KAAK+hB,cAAf,CAAR;AACH;;;eACD,gCAAuBmD,WAAvB,EAAoC;AAAA;;AAChC,cAAMtR,YAAY,GAAG,EAArB;;AACA,eAAKiO,MAAL,CAAYplB,OAAZ,CAAoB,UAAA0iB,KAAK,EAAI;AACzB,gBAAMvhB,MAAM,GAAGuhB,KAAK,CAACvhB,MAArB;AACA,gBAAIA,MAAM,CAACunB,SAAX,EACI;AACJ,gBAAMnlB,OAAO,GAAGmf,KAAK,CAACnf,OAAtB;;AACA,gBAAMmiB,SAAS,GAAG,OAAI,CAACL,iBAAL,CAAuBvf,GAAvB,CAA2BvC,OAA3B,CAAlB;;AACA,gBAAImiB,SAAJ,EAAe;AACXA,uBAAS,CAAC1lB,OAAV,CAAkB,UAAC0nB,QAAD,EAAc;AAC5B,oBAAIA,QAAQ,CAACnqB,IAAT,IAAiBmlB,KAAK,CAACvd,WAA3B,EAAwC;AACpC,sBAAMse,SAAS,GAAGve,kBAAkB,CAAC3B,OAAD,EAAUmf,KAAK,CAACvd,WAAhB,EAA6Bud,KAAK,CAACtd,SAAN,CAAgBQ,KAA7C,EAAoD8c,KAAK,CAACrd,OAAN,CAAcO,KAAlE,CAApC;AACA6d,2BAAS,CAAC,OAAD,CAAT,GAAqBgF,WAArB;AACA9jB,gCAAc,CAAC+d,KAAK,CAACvhB,MAAP,EAAeumB,QAAQ,CAAClC,KAAxB,EAA+B/B,SAA/B,EAA0CiE,QAAQ,CAAC5iB,QAAnD,CAAd;AACH;AACJ,eAND;AAOH;;AACD,gBAAI3D,MAAM,CAACwnB,gBAAX,EAA6B;AACzB,qBAAI,CAACzD,OAAL,CAAaW,UAAb,CAAwB,YAAM;AAC1B;AACA;AACA1kB,sBAAM,CAACa,OAAP;AACH,eAJD;AAKH,aAND,MAOK;AACDmV,0BAAY,CAACjX,IAAb,CAAkBwiB,KAAlB;AACH;AACJ,WAzBD;;AA0BA,eAAK0C,MAAL,GAAc,EAAd;AACA,iBAAOjO,YAAY,CAACyR,IAAb,CAAkB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/B;AACA;AACA,gBAAMC,EAAE,GAAGF,CAAC,CAACvqB,UAAF,CAAagW,GAAb,CAAiB/B,QAA5B;AACA,gBAAMyW,EAAE,GAAGF,CAAC,CAACxqB,UAAF,CAAagW,GAAb,CAAiB/B,QAA5B;;AACA,gBAAIwW,EAAE,IAAI,CAAN,IAAWC,EAAE,IAAI,CAArB,EAAwB;AACpB,qBAAOD,EAAE,GAAGC,EAAZ;AACH;;AACD,mBAAO,OAAI,CAAC9D,OAAL,CAAa7hB,MAAb,CAAoByF,eAApB,CAAoC+f,CAAC,CAACtlB,OAAtC,EAA+CulB,CAAC,CAACvlB,OAAjD,IAA4D,CAA5D,GAAgE,CAAC,CAAxE;AACH,WATM,CAAP;AAUH;;;eACD,iBAAQ6L,OAAR,EAAiB;AACb,eAAKtO,OAAL,CAAad,OAAb,CAAqB,UAAAkC,CAAC;AAAA,mBAAIA,CAAC,CAACF,OAAF,EAAJ;AAAA,WAAtB;;AACA,eAAK6lB,8BAAL,CAAoC,KAAK5C,WAAzC,EAAsD7V,OAAtD;AACH;;;eACD,6BAAoB7L,OAApB,EAA6B;AACzB,cAAI0lB,YAAY,GAAG,KAAnB;AACA,cAAI,KAAK5D,iBAAL,CAAuBhU,GAAvB,CAA2B9N,OAA3B,CAAJ,EACI0lB,YAAY,GAAG,IAAf;AACJA,sBAAY,GACR,CAAC,KAAK7D,MAAL,CAAYhP,IAAZ,CAAiB,UAAAsM,KAAK;AAAA,mBAAIA,KAAK,CAACnf,OAAN,KAAkBA,OAAtB;AAAA,WAAtB,IAAuD,IAAvD,GAA8D,KAA/D,KAAyE0lB,YAD7E;AAEA,iBAAOA,YAAP;AACH;;;;;;QAECC,yB;;;AACF,yCAAYlG,QAAZ,EAAsB3f,MAAtB,EAA8B4f,WAA9B,EAA2C;AAAA;;AACvC,aAAKD,QAAL,GAAgBA,QAAhB;AACA,aAAK3f,MAAL,GAAcA,MAAd;AACA,aAAK4f,WAAL,GAAmBA,WAAnB;AACA,aAAKniB,OAAL,GAAe,EAAf;AACA,aAAKqoB,eAAL,GAAuB,IAAItjB,GAAJ,EAAvB;AACA,aAAKygB,gBAAL,GAAwB,IAAIzgB,GAAJ,EAAxB;AACA,aAAKoiB,uBAAL,GAA+B,IAAIpiB,GAAJ,EAA/B;AACA,aAAK+f,eAAL,GAAuB,IAAI/f,GAAJ,EAAvB;AACA,aAAKujB,aAAL,GAAqB,IAAIpY,GAAJ,EAArB;AACA,aAAK+W,eAAL,GAAuB,CAAvB;AACA,aAAKrB,kBAAL,GAA0B,CAA1B;AACA,aAAK2C,gBAAL,GAAwB,EAAxB;AACA,aAAKC,cAAL,GAAsB,EAAtB;AACA,aAAKC,SAAL,GAAiB,EAAjB;AACA,aAAKC,aAAL,GAAqB,EAArB;AACA,aAAKC,uBAAL,GAA+B,IAAI5jB,GAAJ,EAA/B;AACA,aAAK6jB,sBAAL,GAA8B,EAA9B;AACA,aAAKC,sBAAL,GAA8B,EAA9B,CAlBuC,CAmBvC;;AACA,aAAKC,iBAAL,GAAyB,UAACrmB,OAAD,EAAU6L,OAAV,EAAsB,CAAG,CAAlD;AACH;AACD;;;;;eACA,4BAAmB7L,OAAnB,EAA4B6L,OAA5B,EAAqC;AACjC,eAAKwa,iBAAL,CAAuBrmB,OAAvB,EAAgC6L,OAAhC;AACH;;;aACD,eAAoB;AAChB,cAAMtO,OAAO,GAAG,EAAhB;;AACA,eAAKwoB,cAAL,CAAoBtpB,OAApB,CAA4B,UAAAgnB,EAAE,EAAI;AAC9BA,cAAE,CAAClmB,OAAH,CAAWd,OAAX,CAAmB,UAAAmB,MAAM,EAAI;AACzB,kBAAIA,MAAM,CAAColB,MAAX,EAAmB;AACfzlB,uBAAO,CAACZ,IAAR,CAAaiB,MAAb;AACH;AACJ,aAJD;AAKH,WAND;;AAOA,iBAAOL,OAAP;AACH;;;eACD,yBAAgBsjB,WAAhB,EAA6Ba,WAA7B,EAA0C;AACtC,cAAM+B,EAAE,GAAG,IAAIhC,4BAAJ,CAAiCZ,WAAjC,EAA8Ca,WAA9C,EAA2D,IAA3D,CAAX;;AACA,cAAI,KAAKjC,QAAL,IAAiB,KAAK3f,MAAL,CAAYyF,eAAZ,CAA4B,KAAKka,QAAjC,EAA2CiC,WAA3C,CAArB,EAA8E;AAC1E,iBAAK4E,qBAAL,CAA2B7C,EAA3B,EAA+B/B,WAA/B;AACH,WAFD,MAGK;AACD;AACA;AACA;AACA,iBAAKkE,eAAL,CAAqBpjB,GAArB,CAAyBkf,WAAzB,EAAsC+B,EAAtC,EAJC,CAKD;AACA;AACA;AACA;AACA;;AACA,iBAAK8C,mBAAL,CAAyB7E,WAAzB;AACH;;AACD,iBAAO,KAAKoE,gBAAL,CAAsBjF,WAAtB,IAAqC4C,EAA5C;AACH;;;eACD,+BAAsBA,EAAtB,EAA0B/B,WAA1B,EAAuC;AACnC,cAAMvP,KAAK,GAAG,KAAK4T,cAAL,CAAoB3oB,MAApB,GAA6B,CAA3C;;AACA,cAAI+U,KAAK,IAAI,CAAb,EAAgB;AACZ,gBAAIqU,KAAK,GAAG,KAAZ;;AACA,iBAAK,IAAI/hB,CAAC,GAAG0N,KAAb,EAAoB1N,CAAC,IAAI,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC7B,kBAAMgiB,aAAa,GAAG,KAAKV,cAAL,CAAoBthB,CAApB,CAAtB;;AACA,kBAAI,KAAK3E,MAAL,CAAYyF,eAAZ,CAA4BkhB,aAAa,CAAC/E,WAA1C,EAAuDA,WAAvD,CAAJ,EAAyE;AACrE,qBAAKqE,cAAL,CAAoB1d,MAApB,CAA2B5D,CAAC,GAAG,CAA/B,EAAkC,CAAlC,EAAqCgf,EAArC;;AACA+C,qBAAK,GAAG,IAAR;AACA;AACH;AACJ;;AACD,gBAAI,CAACA,KAAL,EAAY;AACR,mBAAKT,cAAL,CAAoB1d,MAApB,CAA2B,CAA3B,EAA8B,CAA9B,EAAiCob,EAAjC;AACH;AACJ,WAbD,MAcK;AACD,iBAAKsC,cAAL,CAAoBppB,IAApB,CAAyB8mB,EAAzB;AACH;;AACD,eAAKyC,uBAAL,CAA6B1jB,GAA7B,CAAiCkf,WAAjC,EAA8C+B,EAA9C;AACA,iBAAOA,EAAP;AACH;;;eACD,kBAAS5C,WAAT,EAAsBa,WAAtB,EAAmC;AAC/B,cAAI+B,EAAE,GAAG,KAAKqC,gBAAL,CAAsBjF,WAAtB,CAAT;;AACA,cAAI,CAAC4C,EAAL,EAAS;AACLA,cAAE,GAAG,KAAKiD,eAAL,CAAqB7F,WAArB,EAAkCa,WAAlC,CAAL;AACH;;AACD,iBAAO+B,EAAP;AACH;;;eACD,yBAAgB5C,WAAhB,EAA6B7mB,IAA7B,EAAmCD,OAAnC,EAA4C;AACxC,cAAI0pB,EAAE,GAAG,KAAKqC,gBAAL,CAAsBjF,WAAtB,CAAT;;AACA,cAAI4C,EAAE,IAAIA,EAAE,CAACrD,QAAH,CAAYpmB,IAAZ,EAAkBD,OAAlB,CAAV,EAAsC;AAClC,iBAAKyqB,eAAL;AACH;AACJ;;;eACD,iBAAQ3D,WAAR,EAAqBhV,OAArB,EAA8B;AAAA;;AAC1B,cAAI,CAACgV,WAAL,EACI;;AACJ,cAAM4C,EAAE,GAAG,KAAKkD,eAAL,CAAqB9F,WAArB,CAAX;;AACA,eAAKyB,UAAL,CAAgB,YAAM;AAClB,mBAAI,CAAC4D,uBAAL,WAAoCzC,EAAE,CAAC/B,WAAvC;;AACA,mBAAO,OAAI,CAACoE,gBAAL,CAAsBjF,WAAtB,CAAP;;AACA,gBAAMZ,KAAK,GAAG,OAAI,CAAC8F,cAAL,CAAoBnjB,OAApB,CAA4B6gB,EAA5B,CAAd;;AACA,gBAAIxD,KAAK,IAAI,CAAb,EAAgB;AACZ,qBAAI,CAAC8F,cAAL,CAAoB1d,MAApB,CAA2B4X,KAA3B,EAAkC,CAAlC;AACH;AACJ,WAPD;AAQA,eAAK2D,wBAAL,CAA8B;AAAA,mBAAMH,EAAE,CAAChlB,OAAH,CAAWoN,OAAX,CAAN;AAAA,WAA9B;AACH;;;eACD,yBAAgBhJ,EAAhB,EAAoB;AAChB,iBAAO,KAAKijB,gBAAL,CAAsBjjB,EAAtB,CAAP;AACH;;;eACD,kCAAyB7C,OAAzB,EAAkC;AAC9B;AACA;AACA;AACA;AACA;AACA,cAAMujB,UAAU,GAAG,IAAI9V,GAAJ,EAAnB;AACA,cAAMwW,aAAa,GAAG,KAAK5B,eAAL,CAAqB9f,GAArB,CAAyBvC,OAAzB,CAAtB;;AACA,cAAIikB,aAAJ,EAAmB;AACf,gBAAMtjB,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAYsjB,aAAZ,CAAb;;AACA,iBAAK,IAAIxf,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG9D,IAAI,CAACvD,MAAzB,EAAiCqH,CAAC,EAAlC,EAAsC;AAClC,kBAAMmiB,IAAI,GAAG3C,aAAa,CAACtjB,IAAI,CAAC8D,CAAD,CAAL,CAAb,CAAuBoc,WAApC;;AACA,kBAAI+F,IAAJ,EAAU;AACN,oBAAMnD,EAAE,GAAG,KAAKkD,eAAL,CAAqBC,IAArB,CAAX;;AACA,oBAAInD,EAAJ,EAAQ;AACJF,4BAAU,CAAC1T,GAAX,CAAe4T,EAAf;AACH;AACJ;AACJ;AACJ;;AACD,iBAAOF,UAAP;AACH;;;eACD,iBAAQ1C,WAAR,EAAqB7gB,OAArB,EAA8BhG,IAA9B,EAAoCqI,KAApC,EAA2C;AACvC,cAAIwkB,aAAa,CAAC7mB,OAAD,CAAjB,EAA4B;AACxB,gBAAMyjB,EAAE,GAAG,KAAKkD,eAAL,CAAqB9F,WAArB,CAAX;;AACA,gBAAI4C,EAAJ,EAAQ;AACJA,gBAAE,CAAC1pB,OAAH,CAAWiG,OAAX,EAAoBhG,IAApB,EAA0BqI,KAA1B;AACA,qBAAO,IAAP;AACH;AACJ;;AACD,iBAAO,KAAP;AACH;;;eACD,oBAAWwe,WAAX,EAAwB7gB,OAAxB,EAAiC2kB,MAAjC,EAAyCmC,YAAzC,EAAuD;AACnD,cAAI,CAACD,aAAa,CAAC7mB,OAAD,CAAlB,EACI,OAF+C,CAGnD;AACA;;AACA,cAAM+mB,OAAO,GAAG/mB,OAAO,CAACmhB,YAAD,CAAvB;;AACA,cAAI4F,OAAO,IAAIA,OAAO,CAACjG,aAAvB,EAAsC;AAClCiG,mBAAO,CAACjG,aAAR,GAAwB,KAAxB;AACAiG,mBAAO,CAAChG,UAAR,GAAqB,IAArB;AACA,gBAAMd,KAAK,GAAG,KAAKmG,sBAAL,CAA4BxjB,OAA5B,CAAoC5C,OAApC,CAAd;;AACA,gBAAIigB,KAAK,IAAI,CAAb,EAAgB;AACZ,mBAAKmG,sBAAL,CAA4B/d,MAA5B,CAAmC4X,KAAnC,EAA0C,CAA1C;AACH;AACJ,WAbkD,CAcnD;AACA;AACA;;;AACA,cAAIY,WAAJ,EAAiB;AACb,gBAAM4C,EAAE,GAAG,KAAKkD,eAAL,CAAqB9F,WAArB,CAAX,CADa,CAEb;AACA;AACA;AACA;AACA;AACA;;;AACA,gBAAI4C,EAAJ,EAAQ;AACJA,gBAAE,CAACuD,UAAH,CAAchnB,OAAd,EAAuB2kB,MAAvB;AACH;AACJ,WA5BkD,CA6BnD;;;AACA,cAAImC,YAAJ,EAAkB;AACd,iBAAKP,mBAAL,CAAyBvmB,OAAzB;AACH;AACJ;;;eACD,6BAAoBA,OAApB,EAA6B;AACzB,eAAKmmB,sBAAL,CAA4BxpB,IAA5B,CAAiCqD,OAAjC;AACH;;;eACD,+BAAsBA,OAAtB,EAA+BqC,KAA/B,EAAsC;AAClC,cAAIA,KAAJ,EAAW;AACP,gBAAI,CAAC,KAAKwjB,aAAL,CAAmB/X,GAAnB,CAAuB9N,OAAvB,CAAL,EAAsC;AAClC,mBAAK6lB,aAAL,CAAmBhW,GAAnB,CAAuB7P,OAAvB;AACAgiB,sBAAQ,CAAChiB,OAAD,EAAUugB,kBAAV,CAAR;AACH;AACJ,WALD,MAMK,IAAI,KAAKsF,aAAL,CAAmB/X,GAAnB,CAAuB9N,OAAvB,CAAJ,EAAqC;AACtC,iBAAK6lB,aAAL,WAA0B7lB,OAA1B;AACAojB,uBAAW,CAACpjB,OAAD,EAAUugB,kBAAV,CAAX;AACH;AACJ;;;eACD,oBAAWM,WAAX,EAAwB7gB,OAAxB,EAAiCinB,aAAjC,EAAgDpb,OAAhD,EAAyD;AACrD,cAAIgb,aAAa,CAAC7mB,OAAD,CAAjB,EAA4B;AACxB,gBAAMyjB,EAAE,GAAG5C,WAAW,GAAG,KAAK8F,eAAL,CAAqB9F,WAArB,CAAH,GAAuC,IAA7D;;AACA,gBAAI4C,EAAJ,EAAQ;AACJA,gBAAE,CAACyD,UAAH,CAAclnB,OAAd,EAAuB6L,OAAvB;AACH,aAFD,MAGK;AACD,mBAAKkY,oBAAL,CAA0BlD,WAA1B,EAAuC7gB,OAAvC,EAAgD,KAAhD,EAAuD6L,OAAvD;AACH;;AACD,gBAAIob,aAAJ,EAAmB;AACf,kBAAME,MAAM,GAAG,KAAKjB,uBAAL,CAA6B3jB,GAA7B,CAAiCvC,OAAjC,CAAf;;AACA,kBAAImnB,MAAM,IAAIA,MAAM,CAACtkB,EAAP,KAAcge,WAA5B,EAAyC;AACrCsG,sBAAM,CAACD,UAAP,CAAkBlnB,OAAlB,EAA2B6L,OAA3B;AACH;AACJ;AACJ,WAdD,MAeK;AACD,iBAAKoZ,kBAAL,CAAwBjlB,OAAxB,EAAiC6L,OAAjC;AACH;AACJ;;;eACD,8BAAqBgV,WAArB,EAAkC7gB,OAAlC,EAA2CghB,YAA3C,EAAyDnV,OAAzD,EAAkE;AAC9D,eAAKua,sBAAL,CAA4BzpB,IAA5B,CAAiCqD,OAAjC;AACAA,iBAAO,CAACmhB,YAAD,CAAP,GACI;AAAEN,uBAAW,EAAXA,WAAF;AAAeC,yBAAa,EAAEjV,OAA9B;AAAuCmV,wBAAY,EAAZA,YAAvC;AAAqDC,gCAAoB,EAAE;AAA3E,WADJ;AAEH;;;eACD,gBAAOJ,WAAP,EAAoB7gB,OAApB,EAA6BhG,IAA7B,EAAmCioB,KAAnC,EAA0C1gB,QAA1C,EAAoD;AAChD,cAAIslB,aAAa,CAAC7mB,OAAD,CAAjB,EAA4B;AACxB,mBAAO,KAAK2mB,eAAL,CAAqB9F,WAArB,EAAkCuG,MAAlC,CAAyCpnB,OAAzC,EAAkDhG,IAAlD,EAAwDioB,KAAxD,EAA+D1gB,QAA/D,CAAP;AACH;;AACD,iBAAO,YAAM,CAAG,CAAhB;AACH;;;eACD,2BAAkB4d,KAAlB,EAAyBkI,YAAzB,EAAuC/S,cAAvC,EAAuDC,cAAvD,EAAuE+S,YAAvE,EAAqF;AACjF,iBAAOnI,KAAK,CAACpkB,UAAN,CAAiBwT,KAAjB,CAAuB,KAAKzO,MAA5B,EAAoCqf,KAAK,CAACnf,OAA1C,EAAmDmf,KAAK,CAACtd,SAAN,CAAgBQ,KAAnE,EAA0E8c,KAAK,CAACrd,OAAN,CAAcO,KAAxF,EAA+FiS,cAA/F,EAA+GC,cAA/G,EAA+H4K,KAAK,CAACtd,SAAN,CAAgB1H,OAA/I,EAAwJglB,KAAK,CAACrd,OAAN,CAAc3H,OAAtK,EAA+KktB,YAA/K,EAA6LC,YAA7L,CAAP;AACH;;;eACD,gCAAuBC,gBAAvB,EAAyC;AAAA;;AACrC,cAAI3O,QAAQ,GAAG,KAAK9Y,MAAL,CAAYzE,KAAZ,CAAkBksB,gBAAlB,EAAoCpgB,mBAApC,EAAyD,IAAzD,CAAf;AACAyR,kBAAQ,CAACnc,OAAT,CAAiB,UAAAuD,OAAO;AAAA,mBAAI,OAAI,CAACwnB,iCAAL,CAAuCxnB,OAAvC,CAAJ;AAAA,WAAxB;AACA,cAAI,KAAK0kB,uBAAL,CAA6B5U,IAA7B,IAAqC,CAAzC,EACI;AACJ8I,kBAAQ,GAAG,KAAK9Y,MAAL,CAAYzE,KAAZ,CAAkBksB,gBAAlB,EAAoClgB,qBAApC,EAA2D,IAA3D,CAAX;AACAuR,kBAAQ,CAACnc,OAAT,CAAiB,UAAAuD,OAAO;AAAA,mBAAI,OAAI,CAACynB,qCAAL,CAA2CznB,OAA3C,CAAJ;AAAA,WAAxB;AACH;;;eACD,2CAAkCA,OAAlC,EAA2C;AACvC,cAAMzC,OAAO,GAAG,KAAKwlB,gBAAL,CAAsBxgB,GAAtB,CAA0BvC,OAA1B,CAAhB;;AACA,cAAIzC,OAAJ,EAAa;AACTA,mBAAO,CAACd,OAAR,CAAgB,UAAAmB,MAAM,EAAI;AACtB;AACA;AACA;AACA,kBAAIA,MAAM,CAAColB,MAAX,EAAmB;AACfplB,sBAAM,CAACwnB,gBAAP,GAA0B,IAA1B;AACH,eAFD,MAGK;AACDxnB,sBAAM,CAACa,OAAP;AACH;AACJ,aAVD;AAWH;AACJ;;;eACD,+CAAsCuB,OAAtC,EAA+C;AAC3C,cAAMzC,OAAO,GAAG,KAAKmnB,uBAAL,CAA6BniB,GAA7B,CAAiCvC,OAAjC,CAAhB;;AACA,cAAIzC,OAAJ,EAAa;AACTA,mBAAO,CAACd,OAAR,CAAgB,UAAAmB,MAAM;AAAA,qBAAIA,MAAM,CAACZ,MAAP,EAAJ;AAAA,aAAtB;AACH;AACJ;;;eACD,6BAAoB;AAAA;;AAChB,iBAAO,IAAItB,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC1B,gBAAI,OAAI,CAAC4B,OAAL,CAAaH,MAAjB,EAAyB;AACrB,qBAAOwC,mBAAmB,CAAC,OAAI,CAACrC,OAAN,CAAnB,CAAkCM,MAAlC,CAAyC;AAAA,uBAAMlC,OAAO,EAAb;AAAA,eAAzC,CAAP;AACH,aAFD,MAGK;AACDA,qBAAO;AACV;AACJ,WAPM,CAAP;AAQH;;;eACD,0BAAiBqE,OAAjB,EAA0B;AAAA;;AACtB,cAAM+mB,OAAO,GAAG/mB,OAAO,CAACmhB,YAAD,CAAvB;;AACA,cAAI4F,OAAO,IAAIA,OAAO,CAACjG,aAAvB,EAAsC;AAClC;AACA9gB,mBAAO,CAACmhB,YAAD,CAAP,GAAwBP,kBAAxB;;AACA,gBAAImG,OAAO,CAAClG,WAAZ,EAAyB;AACrB,mBAAKmE,sBAAL,CAA4BhlB,OAA5B;;AACA,kBAAMyjB,EAAE,GAAG,KAAKkD,eAAL,CAAqBI,OAAO,CAAClG,WAA7B,CAAX;;AACA,kBAAI4C,EAAJ,EAAQ;AACJA,kBAAE,CAACE,iBAAH,CAAqB3jB,OAArB;AACH;AACJ;;AACD,iBAAKilB,kBAAL,CAAwBjlB,OAAxB,EAAiC+mB,OAAO,CAACjG,aAAzC;AACH;;AACD,cAAI,KAAKhhB,MAAL,CAAYwF,cAAZ,CAA2BtF,OAA3B,EAAoCwgB,iBAApC,CAAJ,EAA4D;AACxD,iBAAKkH,qBAAL,CAA2B1nB,OAA3B,EAAoC,KAApC;AACH;;AACD,eAAKF,MAAL,CAAYzE,KAAZ,CAAkB2E,OAAlB,EAA2BwgB,iBAA3B,EAA8C,IAA9C,EAAoD/jB,OAApD,CAA4D,UAAAmP,IAAI,EAAI;AAChE,mBAAI,CAAC8b,qBAAL,CAA2B9b,IAA3B,EAAiC,KAAjC;AACH,WAFD;AAGH;;;eACD,iBAAwB;AAAA;;AAAA,cAAlBsZ,WAAkB,uEAAJ,CAAC,CAAG;AACpB,cAAI3nB,OAAO,GAAG,EAAd;;AACA,cAAI,KAAKqoB,eAAL,CAAqB9V,IAAzB,EAA+B;AAC3B,iBAAK8V,eAAL,CAAqBnpB,OAArB,CAA6B,UAACgnB,EAAD,EAAKzjB,OAAL;AAAA,qBAAiB,OAAI,CAACsmB,qBAAL,CAA2B7C,EAA3B,EAA+BzjB,OAA/B,CAAjB;AAAA,aAA7B;AACA,iBAAK4lB,eAAL,CAAqB9R,KAArB;AACH;;AACD,cAAI,KAAK0Q,eAAL,IAAwB,KAAK2B,sBAAL,CAA4B/oB,MAAxD,EAAgE;AAC5D,iBAAK,IAAIqH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK0hB,sBAAL,CAA4B/oB,MAAhD,EAAwDqH,CAAC,EAAzD,EAA6D;AACzD,kBAAMC,GAAG,GAAG,KAAKyhB,sBAAL,CAA4B1hB,CAA5B,CAAZ;AACAud,sBAAQ,CAACtd,GAAD,EAAM+b,cAAN,CAAR;AACH;AACJ;;AACD,cAAI,KAAKsF,cAAL,CAAoB3oB,MAApB,KACC,KAAK+lB,kBAAL,IAA2B,KAAKiD,sBAAL,CAA4BhpB,MADxD,CAAJ,EACqE;AACjE,gBAAMuqB,UAAU,GAAG,EAAnB;;AACA,gBAAI;AACApqB,qBAAO,GAAG,KAAKqqB,gBAAL,CAAsBD,UAAtB,EAAkCzC,WAAlC,CAAV;AACH,aAFD,SAGQ;AACJ,mBAAK,IAAIzgB,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGkjB,UAAU,CAACvqB,MAA/B,EAAuCqH,GAAC,EAAxC,EAA4C;AACxCkjB,0BAAU,CAACljB,GAAD,CAAV;AACH;AACJ;AACJ,WAXD,MAYK;AACD,iBAAK,IAAIA,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG,KAAK2hB,sBAAL,CAA4BhpB,MAAhD,EAAwDqH,GAAC,EAAzD,EAA6D;AACzD,kBAAMzE,OAAO,GAAG,KAAKomB,sBAAL,CAA4B3hB,GAA5B,CAAhB;AACA,mBAAKuf,gBAAL,CAAsBhkB,OAAtB;AACH;AACJ;;AACD,eAAKmjB,kBAAL,GAA0B,CAA1B;AACA,eAAKgD,sBAAL,CAA4B/oB,MAA5B,GAAqC,CAArC;AACA,eAAKgpB,sBAAL,CAA4BhpB,MAA5B,GAAqC,CAArC;;AACA,eAAK4oB,SAAL,CAAevpB,OAAf,CAAuB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAAzB;;AACA,eAAKspB,SAAL,GAAiB,EAAjB;;AACA,cAAI,KAAKC,aAAL,CAAmB7oB,MAAvB,EAA+B;AAC3B;AACA;AACA;AACA,gBAAMyqB,QAAQ,GAAG,KAAK5B,aAAtB;AACA,iBAAKA,aAAL,GAAqB,EAArB;;AACA,gBAAI1oB,OAAO,CAACH,MAAZ,EAAoB;AAChBwC,iCAAmB,CAACrC,OAAD,CAAnB,CAA6BM,MAA7B,CAAoC,YAAM;AACtCgqB,wBAAQ,CAACprB,OAAT,CAAiB,UAAAC,EAAE;AAAA,yBAAIA,EAAE,EAAN;AAAA,iBAAnB;AACH,eAFD;AAGH,aAJD,MAKK;AACDmrB,sBAAQ,CAACprB,OAAT,CAAiB,UAAAC,EAAE;AAAA,uBAAIA,EAAE,EAAN;AAAA,eAAnB;AACH;AACJ;AACJ;;;eACD,qBAAYyD,MAAZ,EAAoB;AAChB,gBAAM,IAAIe,KAAJ,0FAA4Ff,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAA5F,EAAN;AACH;;;eACD,0BAAiBwmB,UAAjB,EAA6BzC,WAA7B,EAA0C;AAAA;;AACtC,cAAMmC,YAAY,GAAG,IAAI3T,qBAAJ,EAArB;AACA,cAAMoU,cAAc,GAAG,EAAvB;AACA,cAAMC,iBAAiB,GAAG,IAAIzlB,GAAJ,EAA1B;AACA,cAAM0lB,kBAAkB,GAAG,EAA3B;AACA,cAAMnL,eAAe,GAAG,IAAIva,GAAJ,EAAxB;AACA,cAAM2lB,mBAAmB,GAAG,IAAI3lB,GAAJ,EAA5B;AACA,cAAM4lB,oBAAoB,GAAG,IAAI5lB,GAAJ,EAA7B;AACA,cAAM6lB,mBAAmB,GAAG,IAAI1a,GAAJ,EAA5B;AACA,eAAKoY,aAAL,CAAmBppB,OAAnB,CAA2B,UAAAmP,IAAI,EAAI;AAC/Buc,+BAAmB,CAACtY,GAApB,CAAwBjE,IAAxB;;AACA,gBAAMwc,oBAAoB,GAAG,OAAI,CAACtoB,MAAL,CAAYzE,KAAZ,CAAkBuQ,IAAlB,EAAwB0U,eAAxB,EAAyC,IAAzC,CAA7B;;AACA,iBAAK,IAAI7b,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG2jB,oBAAoB,CAAChrB,MAAzC,EAAiDqH,GAAC,EAAlD,EAAsD;AAClD0jB,iCAAmB,CAACtY,GAApB,CAAwBuY,oBAAoB,CAAC3jB,GAAD,CAA5C;AACH;AACJ,WAND;AAOA,cAAMgb,QAAQ,GAAG,KAAKA,QAAtB;AACA,cAAM4I,kBAAkB,GAAG1f,KAAK,CAAC2f,IAAN,CAAW,KAAKjG,eAAL,CAAqB1hB,IAArB,EAAX,CAA3B;AACA,cAAM4nB,YAAY,GAAGC,YAAY,CAACH,kBAAD,EAAqB,KAAKlC,sBAA1B,CAAjC,CAlBsC,CAmBtC;AACA;AACA;;AACA,cAAMsC,eAAe,GAAG,IAAInmB,GAAJ,EAAxB;AACA,cAAImC,CAAC,GAAG,CAAR;AACA8jB,sBAAY,CAAC9rB,OAAb,CAAqB,UAACisB,KAAD,EAAQC,IAAR,EAAiB;AAClC,gBAAMC,SAAS,GAAG9hB,eAAe,GAAGrC,CAAC,EAArC;AACAgkB,2BAAe,CAACjmB,GAAhB,CAAoBmmB,IAApB,EAA0BC,SAA1B;AACAF,iBAAK,CAACjsB,OAAN,CAAc,UAAAmP,IAAI;AAAA,qBAAIoW,QAAQ,CAACpW,IAAD,EAAOgd,SAAP,CAAZ;AAAA,aAAlB;AACH,WAJD;AAKA,cAAMC,aAAa,GAAG,EAAtB;AACA,cAAMC,gBAAgB,GAAG,IAAIrb,GAAJ,EAAzB;AACA,cAAMsb,2BAA2B,GAAG,IAAItb,GAAJ,EAApC;;AACA,eAAK,IAAIhJ,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG,KAAK2hB,sBAAL,CAA4BhpB,MAAhD,EAAwDqH,GAAC,EAAzD,EAA6D;AACzD,gBAAMzE,OAAO,GAAG,KAAKomB,sBAAL,CAA4B3hB,GAA5B,CAAhB;AACA,gBAAMsiB,OAAO,GAAG/mB,OAAO,CAACmhB,YAAD,CAAvB;;AACA,gBAAI4F,OAAO,IAAIA,OAAO,CAACjG,aAAvB,EAAsC;AAClC+H,2BAAa,CAAClsB,IAAd,CAAmBqD,OAAnB;AACA8oB,8BAAgB,CAACjZ,GAAjB,CAAqB7P,OAArB;;AACA,kBAAI+mB,OAAO,CAAC/F,YAAZ,EAA0B;AACtB,qBAAKlhB,MAAL,CAAYzE,KAAZ,CAAkB2E,OAAlB,EAA2B0gB,aAA3B,EAA0C,IAA1C,EAAgDjkB,OAAhD,CAAwD,UAAAiI,GAAG;AAAA,yBAAIokB,gBAAgB,CAACjZ,GAAjB,CAAqBnL,GAArB,CAAJ;AAAA,iBAA3D;AACH,eAFD,MAGK;AACDqkB,2CAA2B,CAAClZ,GAA5B,CAAgC7P,OAAhC;AACH;AACJ;AACJ;;AACD,cAAMgpB,eAAe,GAAG,IAAI1mB,GAAJ,EAAxB;AACA,cAAM2mB,YAAY,GAAGT,YAAY,CAACH,kBAAD,EAAqB1f,KAAK,CAAC2f,IAAN,CAAWQ,gBAAX,CAArB,CAAjC;AACAG,sBAAY,CAACxsB,OAAb,CAAqB,UAACisB,KAAD,EAAQC,IAAR,EAAiB;AAClC,gBAAMC,SAAS,GAAG7hB,eAAe,GAAGtC,CAAC,EAArC;AACAukB,2BAAe,CAACxmB,GAAhB,CAAoBmmB,IAApB,EAA0BC,SAA1B;AACAF,iBAAK,CAACjsB,OAAN,CAAc,UAAAmP,IAAI;AAAA,qBAAIoW,QAAQ,CAACpW,IAAD,EAAOgd,SAAP,CAAZ;AAAA,aAAlB;AACH,WAJD;AAKAjB,oBAAU,CAAChrB,IAAX,CAAgB,YAAM;AAClB4rB,wBAAY,CAAC9rB,OAAb,CAAqB,UAACisB,KAAD,EAAQC,IAAR,EAAiB;AAClC,kBAAMC,SAAS,GAAGH,eAAe,CAAClmB,GAAhB,CAAoBomB,IAApB,CAAlB;AACAD,mBAAK,CAACjsB,OAAN,CAAc,UAAAmP,IAAI;AAAA,uBAAIwX,WAAW,CAACxX,IAAD,EAAOgd,SAAP,CAAf;AAAA,eAAlB;AACH,aAHD;AAIAK,wBAAY,CAACxsB,OAAb,CAAqB,UAACisB,KAAD,EAAQC,IAAR,EAAiB;AAClC,kBAAMC,SAAS,GAAGI,eAAe,CAACzmB,GAAhB,CAAoBomB,IAApB,CAAlB;AACAD,mBAAK,CAACjsB,OAAN,CAAc,UAAAmP,IAAI;AAAA,uBAAIwX,WAAW,CAACxX,IAAD,EAAOgd,SAAP,CAAf;AAAA,eAAlB;AACH,aAHD;AAIAC,yBAAa,CAACpsB,OAAd,CAAsB,UAAAuD,OAAO,EAAI;AAC7B,qBAAI,CAACgkB,gBAAL,CAAsBhkB,OAAtB;AACH,aAFD;AAGH,WAZD;AAaA,cAAMkpB,UAAU,GAAG,EAAnB;AACA,cAAMC,oBAAoB,GAAG,EAA7B;;AACA,eAAK,IAAI1kB,GAAC,GAAG,KAAKshB,cAAL,CAAoB3oB,MAApB,GAA6B,CAA1C,EAA6CqH,GAAC,IAAI,CAAlD,EAAqDA,GAAC,EAAtD,EAA0D;AACtD,gBAAMgf,EAAE,GAAG,KAAKsC,cAAL,CAAoBthB,GAApB,CAAX;AACAgf,cAAE,CAAC2F,sBAAH,CAA0BlE,WAA1B,EAAuCzoB,OAAvC,CAA+C,UAAA0iB,KAAK,EAAI;AACpD,kBAAMvhB,MAAM,GAAGuhB,KAAK,CAACvhB,MAArB;AACA,kBAAMoC,OAAO,GAAGmf,KAAK,CAACnf,OAAtB;AACAkpB,wBAAU,CAACvsB,IAAX,CAAgBiB,MAAhB;;AACA,kBAAI,OAAI,CAACuoB,sBAAL,CAA4B/oB,MAAhC,EAAwC;AACpC,oBAAM2pB,QAAO,GAAG/mB,OAAO,CAACmhB,YAAD,CAAvB,CADoC,CAEpC;;AACA,oBAAI4F,QAAO,IAAIA,QAAO,CAAChG,UAAvB,EAAmC;AAC/BnjB,wBAAM,CAACa,OAAP;AACA;AACH;AACJ;;AACD,kBAAM4qB,cAAc,GAAG,CAAC5J,QAAD,IAAa,CAAC,OAAI,CAAC3f,MAAL,CAAYyF,eAAZ,CAA4Bka,QAA5B,EAAsCzf,OAAtC,CAArC;AACA,kBAAMuU,cAAc,GAAGyU,eAAe,CAACzmB,GAAhB,CAAoBvC,OAApB,CAAvB;AACA,kBAAMsU,cAAc,GAAGmU,eAAe,CAAClmB,GAAhB,CAAoBvC,OAApB,CAAvB;;AACA,kBAAM4V,WAAW,GAAG,OAAI,CAAC0T,iBAAL,CAAuBnK,KAAvB,EAA8BkI,YAA9B,EAA4C/S,cAA5C,EAA4DC,cAA5D,EAA4E8U,cAA5E,CAApB;;AACA,kBAAIzT,WAAW,CAACzV,MAAZ,IAAsByV,WAAW,CAACzV,MAAZ,CAAmB/C,MAA7C,EAAqD;AACjD+rB,oCAAoB,CAACxsB,IAArB,CAA0BiZ,WAA1B;AACA;AACH,eAnBmD,CAoBpD;AACA;AACA;AACA;;;AACA,kBAAIyT,cAAJ,EAAoB;AAChBzrB,sBAAM,CAACI,OAAP,CAAe;AAAA,yBAAM2L,WAAW,CAAC3J,OAAD,EAAU4V,WAAW,CAAC+G,UAAtB,CAAjB;AAAA,iBAAf;AACA/e,sBAAM,CAACE,SAAP,CAAiB;AAAA,yBAAM0L,SAAS,CAACxJ,OAAD,EAAU4V,WAAW,CAACgH,QAAtB,CAAf;AAAA,iBAAjB;AACAkL,8BAAc,CAACnrB,IAAf,CAAoBiB,MAApB;AACA;AACH,eA7BmD,CA8BpD;AACA;;;AACA,kBAAIuhB,KAAK,CAAC+D,oBAAV,EAAgC;AAC5BtlB,sBAAM,CAACI,OAAP,CAAe;AAAA,yBAAM2L,WAAW,CAAC3J,OAAD,EAAU4V,WAAW,CAAC+G,UAAtB,CAAjB;AAAA,iBAAf;AACA/e,sBAAM,CAACE,SAAP,CAAiB;AAAA,yBAAM0L,SAAS,CAACxJ,OAAD,EAAU4V,WAAW,CAACgH,QAAtB,CAAf;AAAA,iBAAjB;AACAkL,8BAAc,CAACnrB,IAAf,CAAoBiB,MAApB;AACA;AACH,eArCmD,CAsCpD;AACA;AACA;AACA;AACA;;;AACAgY,yBAAW,CAACb,SAAZ,CAAsBtY,OAAtB,CAA8B,UAAA0Y,EAAE;AAAA,uBAAIA,EAAE,CAACwD,uBAAH,GAA6B,IAAjC;AAAA,eAAhC;AACA0O,0BAAY,CAACkC,MAAb,CAAoBvpB,OAApB,EAA6B4V,WAAW,CAACb,SAAzC;AACA,kBAAMvD,KAAK,GAAG;AAAEoE,2BAAW,EAAXA,WAAF;AAAehY,sBAAM,EAANA,MAAf;AAAuBoC,uBAAO,EAAPA;AAAvB,eAAd;AACAgoB,gCAAkB,CAACrrB,IAAnB,CAAwB6U,KAAxB;AACAoE,yBAAW,CAACiH,eAAZ,CAA4BpgB,OAA5B,CAAoC,UAAAuD,OAAO;AAAA,uBAAIiC,eAAe,CAAC4a,eAAD,EAAkB7c,OAAlB,EAA2B,EAA3B,CAAf,CAA8CrD,IAA9C,CAAmDiB,MAAnD,CAAJ;AAAA,eAA3C;AACAgY,yBAAW,CAACrC,aAAZ,CAA0B9W,OAA1B,CAAkC,UAAC+sB,SAAD,EAAYxpB,OAAZ,EAAwB;AACtD,oBAAM8Z,KAAK,GAAGpZ,MAAM,CAACC,IAAP,CAAY6oB,SAAZ,CAAd;;AACA,oBAAI1P,KAAK,CAAC1c,MAAV,EAAkB;AACd,sBAAIqsB,MAAM,GAAGxB,mBAAmB,CAAC1lB,GAApB,CAAwBvC,OAAxB,CAAb;;AACA,sBAAI,CAACypB,MAAL,EAAa;AACTxB,uCAAmB,CAACzlB,GAApB,CAAwBxC,OAAxB,EAAiCypB,MAAM,GAAG,IAAIhc,GAAJ,EAA1C;AACH;;AACDqM,uBAAK,CAACrd,OAAN,CAAc,UAAAmE,IAAI;AAAA,2BAAI6oB,MAAM,CAAC5Z,GAAP,CAAWjP,IAAX,CAAJ;AAAA,mBAAlB;AACH;AACJ,eATD;AAUAgV,yBAAW,CAACpC,cAAZ,CAA2B/W,OAA3B,CAAmC,UAAC+sB,SAAD,EAAYxpB,OAAZ,EAAwB;AACvD,oBAAM8Z,KAAK,GAAGpZ,MAAM,CAACC,IAAP,CAAY6oB,SAAZ,CAAd;AACA,oBAAIC,MAAM,GAAGvB,oBAAoB,CAAC3lB,GAArB,CAAyBvC,OAAzB,CAAb;;AACA,oBAAI,CAACypB,MAAL,EAAa;AACTvB,sCAAoB,CAAC1lB,GAArB,CAAyBxC,OAAzB,EAAkCypB,MAAM,GAAG,IAAIhc,GAAJ,EAA3C;AACH;;AACDqM,qBAAK,CAACrd,OAAN,CAAc,UAAAmE,IAAI;AAAA,yBAAI6oB,MAAM,CAAC5Z,GAAP,CAAWjP,IAAX,CAAJ;AAAA,iBAAlB;AACH,eAPD;AAQH,aAlED;AAmEH;;AACD,cAAIuoB,oBAAoB,CAAC/rB,MAAzB,EAAiC;AAC7B,gBAAM+C,MAAM,GAAG,EAAf;AACAgpB,gCAAoB,CAAC1sB,OAArB,CAA6B,UAAAmZ,WAAW,EAAI;AACxCzV,oBAAM,CAACxD,IAAP,YAAgBiZ,WAAW,CAAChU,WAA5B;AACAgU,yBAAW,CAACzV,MAAZ,CAAmB1D,OAAnB,CAA2B,UAAAitB,KAAK;AAAA,uBAAIvpB,MAAM,CAACxD,IAAP,aAAiB+sB,KAAjB,QAAJ;AAAA,eAAhC;AACH,aAHD;AAIAR,sBAAU,CAACzsB,OAAX,CAAmB,UAAAmB,MAAM;AAAA,qBAAIA,MAAM,CAACa,OAAP,EAAJ;AAAA,aAAzB;AACA,iBAAKokB,WAAL,CAAiB1iB,MAAjB;AACH;;AACD,cAAMwpB,qBAAqB,GAAG,IAAIrnB,GAAJ,EAA9B,CAnJsC,CAoJtC;AACA;AACA;AACA;;AACA,cAAMsnB,mBAAmB,GAAG,IAAItnB,GAAJ,EAA5B;AACA0lB,4BAAkB,CAACvrB,OAAnB,CAA2B,UAAA0iB,KAAK,EAAI;AAChC,gBAAMnf,OAAO,GAAGmf,KAAK,CAACnf,OAAtB;;AACA,gBAAIqnB,YAAY,CAACvZ,GAAb,CAAiB9N,OAAjB,CAAJ,EAA+B;AAC3B4pB,iCAAmB,CAACpnB,GAApB,CAAwBxC,OAAxB,EAAiCA,OAAjC;;AACA,qBAAI,CAAC6pB,qBAAL,CAA2B1K,KAAK,CAACvhB,MAAN,CAAaijB,WAAxC,EAAqD1B,KAAK,CAACvJ,WAA3D,EAAwE+T,qBAAxE;AACH;AACJ,WAND;AAOA7B,wBAAc,CAACrrB,OAAf,CAAuB,UAAAmB,MAAM,EAAI;AAC7B,gBAAMoC,OAAO,GAAGpC,MAAM,CAACoC,OAAvB;;AACA,gBAAMgG,eAAe,GAAG,OAAI,CAAC8jB,mBAAL,CAAyB9pB,OAAzB,EAAkC,KAAlC,EAAyCpC,MAAM,CAACijB,WAAhD,EAA6DjjB,MAAM,CAACgE,WAApE,EAAiF,IAAjF,CAAxB;;AACAoE,2BAAe,CAACvJ,OAAhB,CAAwB,UAAAstB,UAAU,EAAI;AAClC9nB,6BAAe,CAAC0nB,qBAAD,EAAwB3pB,OAAxB,EAAiC,EAAjC,CAAf,CAAoDrD,IAApD,CAAyDotB,UAAzD;AACAA,wBAAU,CAACtrB,OAAX;AACH,aAHD;AAIH,WAPD,EAhKsC,CAwKtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,cAAMurB,YAAY,GAAGnB,aAAa,CAAC7T,MAAd,CAAqB,UAAApJ,IAAI,EAAI;AAC9C,mBAAOqe,sBAAsB,CAACre,IAAD,EAAOqc,mBAAP,EAA4BC,oBAA5B,CAA7B;AACH,WAFoB,CAArB,CA/KsC,CAkLtC;;AACA,cAAMgC,aAAa,GAAG,IAAI5nB,GAAJ,EAAtB;AACA,cAAM6nB,oBAAoB,GAAGC,qBAAqB,CAACF,aAAD,EAAgB,KAAKpqB,MAArB,EAA6BipB,2BAA7B,EAA0Db,oBAA1D,EAAgF,8DAAhF,CAAlD;AACAiC,8BAAoB,CAAC1tB,OAArB,CAA6B,UAAAmP,IAAI,EAAI;AACjC,gBAAIqe,sBAAsB,CAACre,IAAD,EAAOqc,mBAAP,EAA4BC,oBAA5B,CAA1B,EAA6E;AACzE8B,0BAAY,CAACrtB,IAAb,CAAkBiP,IAAlB;AACH;AACJ,WAJD,EArLsC,CA0LtC;;AACA,cAAMye,YAAY,GAAG,IAAI/nB,GAAJ,EAArB;AACAimB,sBAAY,CAAC9rB,OAAb,CAAqB,UAACisB,KAAD,EAAQC,IAAR,EAAiB;AAClCyB,iCAAqB,CAACC,YAAD,EAAe,OAAI,CAACvqB,MAApB,EAA4B,IAAI2N,GAAJ,CAAQib,KAAR,CAA5B,EAA4CT,mBAA5C,EAAiE,8DAAjE,CAArB;AACH,WAFD;AAGA+B,sBAAY,CAACvtB,OAAb,CAAqB,UAAAmP,IAAI,EAAI;AACzB,gBAAM0e,IAAI,GAAGJ,aAAa,CAAC3nB,GAAd,CAAkBqJ,IAAlB,CAAb;AACA,gBAAM2e,GAAG,GAAGF,YAAY,CAAC9nB,GAAb,CAAiBqJ,IAAjB,CAAZ;AACAse,yBAAa,CAAC1nB,GAAd,CAAkBoJ,IAAlB,EAAwBlL,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBgM,IAAlB,CAAd,EAAuCC,GAAvC,CAAxB;AACH,WAJD;AAKA,cAAMC,WAAW,GAAG,EAApB;AACA,cAAMC,UAAU,GAAG,EAAnB;AACA,cAAMC,oCAAoC,GAAG,EAA7C;AACA1C,4BAAkB,CAACvrB,OAAnB,CAA2B,UAAA0iB,KAAK,EAAI;AAChC,gBAAQnf,OAAR,GAAyCmf,KAAzC,CAAQnf,OAAR;AAAA,gBAAiBpC,MAAjB,GAAyCuhB,KAAzC,CAAiBvhB,MAAjB;AAAA,gBAAyBgY,WAAzB,GAAyCuJ,KAAzC,CAAyBvJ,WAAzB,CADgC,CAEhC;AACA;;AACA,gBAAIyR,YAAY,CAACvZ,GAAb,CAAiB9N,OAAjB,CAAJ,EAA+B;AAC3B,kBAAImoB,mBAAmB,CAACra,GAApB,CAAwB9N,OAAxB,CAAJ,EAAsC;AAClCpC,sBAAM,CAACE,SAAP,CAAiB;AAAA,yBAAM0L,SAAS,CAACxJ,OAAD,EAAU4V,WAAW,CAACgH,QAAtB,CAAf;AAAA,iBAAjB;AACAhf,sBAAM,CAAC8D,QAAP,GAAkB,IAAlB;AACA9D,sBAAM,CAAC+sB,iBAAP,CAAyB/U,WAAW,CAACpZ,SAArC;AACAsrB,8BAAc,CAACnrB,IAAf,CAAoBiB,MAApB;AACA;AACH,eAP0B,CAQ3B;AACA;AACA;AACA;AACA;AACA;;;AACA,kBAAIgtB,mBAAmB,GAAGF,oCAA1B;;AACA,kBAAId,mBAAmB,CAAC9Z,IAApB,GAA2B,CAA/B,EAAkC;AAC9B,oBAAIpL,GAAG,GAAG1E,OAAV;AACA,oBAAM6qB,YAAY,GAAG,EAArB;;AACA,uBAAOnmB,GAAG,GAAGA,GAAG,CAACkgB,UAAjB,EAA6B;AACzB,sBAAMkG,cAAc,GAAGlB,mBAAmB,CAACrnB,GAApB,CAAwBmC,GAAxB,CAAvB;;AACA,sBAAIomB,cAAJ,EAAoB;AAChBF,uCAAmB,GAAGE,cAAtB;AACA;AACH;;AACDD,8BAAY,CAACluB,IAAb,CAAkB+H,GAAlB;AACH;;AACDmmB,4BAAY,CAACpuB,OAAb,CAAqB,UAAAkoB,MAAM;AAAA,yBAAIiF,mBAAmB,CAACpnB,GAApB,CAAwBmiB,MAAxB,EAAgCiG,mBAAhC,CAAJ;AAAA,iBAA3B;AACH;;AACD,kBAAMG,WAAW,GAAG,OAAI,CAACC,eAAL,CAAqBptB,MAAM,CAACijB,WAA5B,EAAyCjL,WAAzC,EAAsD+T,qBAAtD,EAA6E5B,iBAA7E,EAAgGsC,YAAhG,EAA8GH,aAA9G,CAApB;;AACAtsB,oBAAM,CAACqtB,aAAP,CAAqBF,WAArB;;AACA,kBAAIH,mBAAmB,KAAKF,oCAA5B,EAAkE;AAC9DF,2BAAW,CAAC7tB,IAAZ,CAAiBiB,MAAjB;AACH,eAFD,MAGK;AACD,oBAAMstB,aAAa,GAAG,OAAI,CAACnI,gBAAL,CAAsBxgB,GAAtB,CAA0BqoB,mBAA1B,CAAtB;;AACA,oBAAIM,aAAa,IAAIA,aAAa,CAAC9tB,MAAnC,EAA2C;AACvCQ,wBAAM,CAACrB,YAAP,GAAsBqD,mBAAmB,CAACsrB,aAAD,CAAzC;AACH;;AACDpD,8BAAc,CAACnrB,IAAf,CAAoBiB,MAApB;AACH;AACJ,aAxCD,MAyCK;AACD+L,yBAAW,CAAC3J,OAAD,EAAU4V,WAAW,CAAC+G,UAAtB,CAAX;AACA/e,oBAAM,CAACE,SAAP,CAAiB;AAAA,uBAAM0L,SAAS,CAACxJ,OAAD,EAAU4V,WAAW,CAACgH,QAAtB,CAAf;AAAA,eAAjB,EAFC,CAGD;AACA;AACA;;AACA6N,wBAAU,CAAC9tB,IAAX,CAAgBiB,MAAhB;;AACA,kBAAIuqB,mBAAmB,CAACra,GAApB,CAAwB9N,OAAxB,CAAJ,EAAsC;AAClC8nB,8BAAc,CAACnrB,IAAf,CAAoBiB,MAApB;AACH;AACJ;AACJ,WAxDD,EAvMsC,CAgQtC;;AACA6sB,oBAAU,CAAChuB,OAAX,CAAmB,UAAAmB,MAAM,EAAI;AACzB;AACA;AACA,gBAAMutB,iBAAiB,GAAGpD,iBAAiB,CAACxlB,GAAlB,CAAsB3E,MAAM,CAACoC,OAA7B,CAA1B;;AACA,gBAAImrB,iBAAiB,IAAIA,iBAAiB,CAAC/tB,MAA3C,EAAmD;AAC/C,kBAAM2tB,WAAW,GAAGnrB,mBAAmB,CAACurB,iBAAD,CAAvC;AACAvtB,oBAAM,CAACqtB,aAAP,CAAqBF,WAArB;AACH;AACJ,WARD,EAjQsC,CA0QtC;AACA;AACA;;AACAjD,wBAAc,CAACrrB,OAAf,CAAuB,UAAAmB,MAAM,EAAI;AAC7B,gBAAIA,MAAM,CAACrB,YAAX,EAAyB;AACrBqB,oBAAM,CAACwtB,gBAAP,CAAwBxtB,MAAM,CAACrB,YAA/B;AACH,aAFD,MAGK;AACDqB,oBAAM,CAACa,OAAP;AACH;AACJ,WAPD,EA7QsC,CAqRtC;AACA;AACA;;AACA,eAAK,IAAIgG,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGokB,aAAa,CAACzrB,MAAlC,EAA0CqH,GAAC,EAA3C,EAA+C;AAC3C,gBAAMzE,SAAO,GAAG6oB,aAAa,CAACpkB,GAAD,CAA7B;AACA,gBAAMsiB,SAAO,GAAG/mB,SAAO,CAACmhB,YAAD,CAAvB;AACAiC,uBAAW,CAACpjB,SAAD,EAAU+G,eAAV,CAAX,CAH2C,CAI3C;AACA;AACA;;AACA,gBAAIggB,SAAO,IAAIA,SAAO,CAAC/F,YAAvB,EACI;AACJ,gBAAIzjB,OAAO,GAAG,EAAd,CAT2C,CAU3C;AACA;AACA;;AACA,gBAAIsf,eAAe,CAAC/M,IAApB,EAA0B;AACtB,kBAAIub,oBAAoB,GAAGxO,eAAe,CAACta,GAAhB,CAAoBvC,SAApB,CAA3B;;AACA,kBAAIqrB,oBAAoB,IAAIA,oBAAoB,CAACjuB,MAAjD,EAAyD;AACrDG,uBAAO,CAACZ,IAAR,OAAAY,OAAO,qBAAS8tB,oBAAT,EAAP;AACH;;AACD,kBAAIC,oBAAoB,GAAG,KAAKxrB,MAAL,CAAYzE,KAAZ,CAAkB2E,SAAlB,EAA2BqH,qBAA3B,EAAkD,IAAlD,CAA3B;;AACA,mBAAK,IAAIkkB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,oBAAoB,CAACluB,MAAzC,EAAiDmuB,CAAC,EAAlD,EAAsD;AAClD,oBAAIC,cAAc,GAAG3O,eAAe,CAACta,GAAhB,CAAoB+oB,oBAAoB,CAACC,CAAD,CAAxC,CAArB;;AACA,oBAAIC,cAAc,IAAIA,cAAc,CAACpuB,MAArC,EAA6C;AACzCG,yBAAO,CAACZ,IAAR,OAAAY,OAAO,qBAASiuB,cAAT,EAAP;AACH;AACJ;AACJ;;AACD,gBAAMC,aAAa,GAAGluB,OAAO,CAACyX,MAAR,CAAe,UAAArW,CAAC;AAAA,qBAAI,CAACA,CAAC,CAACwmB,SAAP;AAAA,aAAhB,CAAtB;;AACA,gBAAIsG,aAAa,CAACruB,MAAlB,EAA0B;AACtBsuB,2CAA6B,CAAC,IAAD,EAAO1rB,SAAP,EAAgByrB,aAAhB,CAA7B;AACH,aAFD,MAGK;AACD,mBAAKzH,gBAAL,CAAsBhkB,SAAtB;AACH;AACJ,WAzTqC,CA0TtC;;;AACA6oB,uBAAa,CAACzrB,MAAd,GAAuB,CAAvB;AACAotB,qBAAW,CAAC/tB,OAAZ,CAAoB,UAAAmB,MAAM,EAAI;AAC1B,mBAAI,CAACL,OAAL,CAAaZ,IAAb,CAAkBiB,MAAlB;;AACAA,kBAAM,CAACC,MAAP,CAAc,YAAM;AAChBD,oBAAM,CAACa,OAAP;;AACA,kBAAMwhB,KAAK,GAAG,OAAI,CAAC1iB,OAAL,CAAaqF,OAAb,CAAqBhF,MAArB,CAAd;;AACA,qBAAI,CAACL,OAAL,CAAa8K,MAAb,CAAoB4X,KAApB,EAA2B,CAA3B;AACH,aAJD;AAKAriB,kBAAM,CAACU,IAAP;AACH,WARD;AASA,iBAAOksB,WAAP;AACH;;;eACD,6BAAoB3J,WAApB,EAAiC7gB,OAAjC,EAA0C;AACtC,cAAI0lB,YAAY,GAAG,KAAnB;AACA,cAAMqB,OAAO,GAAG/mB,OAAO,CAACmhB,YAAD,CAAvB;AACA,cAAI4F,OAAO,IAAIA,OAAO,CAACjG,aAAvB,EACI4E,YAAY,GAAG,IAAf;AACJ,cAAI,KAAK3C,gBAAL,CAAsBjV,GAAtB,CAA0B9N,OAA1B,CAAJ,EACI0lB,YAAY,GAAG,IAAf;AACJ,cAAI,KAAKhB,uBAAL,CAA6B5W,GAA7B,CAAiC9N,OAAjC,CAAJ,EACI0lB,YAAY,GAAG,IAAf;AACJ,cAAI,KAAKrD,eAAL,CAAqBvU,GAArB,CAAyB9N,OAAzB,CAAJ,EACI0lB,YAAY,GAAG,IAAf;AACJ,iBAAO,KAAKiB,eAAL,CAAqB9F,WAArB,EAAkC8K,mBAAlC,CAAsD3rB,OAAtD,KAAkE0lB,YAAzE;AACH;;;eACD,oBAAWnkB,QAAX,EAAqB;AACjB,eAAKykB,SAAL,CAAerpB,IAAf,CAAoB4E,QAApB;AACH;;;eACD,kCAAyBA,QAAzB,EAAmC;AAC/B,eAAK0kB,aAAL,CAAmBtpB,IAAnB,CAAwB4E,QAAxB;AACH;;;eACD,6BAAoBvB,OAApB,EAA6B4rB,gBAA7B,EAA+C/K,WAA/C,EAA4Djf,WAA5D,EAAyEiqB,YAAzE,EAAuF;AACnF,cAAItuB,OAAO,GAAG,EAAd;;AACA,cAAIquB,gBAAJ,EAAsB;AAClB,gBAAME,qBAAqB,GAAG,KAAKpH,uBAAL,CAA6BniB,GAA7B,CAAiCvC,OAAjC,CAA9B;;AACA,gBAAI8rB,qBAAJ,EAA2B;AACvBvuB,qBAAO,GAAGuuB,qBAAV;AACH;AACJ,WALD,MAMK;AACD,gBAAMxI,cAAc,GAAG,KAAKP,gBAAL,CAAsBxgB,GAAtB,CAA0BvC,OAA1B,CAAvB;;AACA,gBAAIsjB,cAAJ,EAAoB;AAChB,kBAAMyI,kBAAkB,GAAG,CAACF,YAAD,IAAiBA,YAAY,IAAItK,UAA5D;AACA+B,4BAAc,CAAC7mB,OAAf,CAAuB,UAAAmB,MAAM,EAAI;AAC7B,oBAAIA,MAAM,CAAColB,MAAX,EACI;AACJ,oBAAI,CAAC+I,kBAAD,IAAuBnuB,MAAM,CAACgE,WAAP,IAAsBA,WAAjD,EACI;AACJrE,uBAAO,CAACZ,IAAR,CAAaiB,MAAb;AACH,eAND;AAOH;AACJ;;AACD,cAAIijB,WAAW,IAAIjf,WAAnB,EAAgC;AAC5BrE,mBAAO,GAAGA,OAAO,CAACyX,MAAR,CAAe,UAAApX,MAAM,EAAI;AAC/B,kBAAIijB,WAAW,IAAIA,WAAW,IAAIjjB,MAAM,CAACijB,WAAzC,EACI,OAAO,KAAP;AACJ,kBAAIjf,WAAW,IAAIA,WAAW,IAAIhE,MAAM,CAACgE,WAAzC,EACI,OAAO,KAAP;AACJ,qBAAO,IAAP;AACH,aANS,CAAV;AAOH;;AACD,iBAAOrE,OAAP;AACH;;;eACD,+BAAsBsjB,WAAtB,EAAmCjL,WAAnC,EAAgD+T,qBAAhD,EAAuE;AAAA;;AACnE,cAAM/nB,WAAW,GAAGgU,WAAW,CAAChU,WAAhC;AACA,cAAMyS,WAAW,GAAGuB,WAAW,CAAC5V,OAAhC,CAFmE,CAGnE;AACA;;AACA,cAAMgsB,iBAAiB,GAAGpW,WAAW,CAAC8G,mBAAZ,GAAkC3a,SAAlC,GAA8C8e,WAAxE;AACA,cAAMoL,iBAAiB,GAAGrW,WAAW,CAAC8G,mBAAZ,GAAkC3a,SAAlC,GAA8CH,WAAxE;;AANmE,qDAOjCgU,WAAW,CAACb,SAPqB;AAAA;;AAAA;AAAA;AAAA,kBAOxDmX,mBAPwD;AAQ/D,kBAAMlsB,OAAO,GAAGksB,mBAAmB,CAAClsB,OAApC;AACA,kBAAM4rB,gBAAgB,GAAG5rB,OAAO,KAAKqU,WAArC;AACA,kBAAM9W,OAAO,GAAG0E,eAAe,CAAC0nB,qBAAD,EAAwB3pB,OAAxB,EAAiC,EAAjC,CAA/B;;AACA,kBAAMgG,eAAe,GAAG,OAAI,CAAC8jB,mBAAL,CAAyB9pB,OAAzB,EAAkC4rB,gBAAlC,EAAoDI,iBAApD,EAAuEC,iBAAvE,EAA0FrW,WAAW,CAAC9T,OAAtG,CAAxB;;AACAkE,6BAAe,CAACvJ,OAAhB,CAAwB,UAAAmB,MAAM,EAAI;AAC9B,oBAAMuuB,UAAU,GAAGvuB,MAAM,CAACwuB,aAAP,EAAnB;;AACA,oBAAID,UAAU,CAAChtB,aAAf,EAA8B;AAC1BgtB,4BAAU,CAAChtB,aAAX;AACH;;AACDvB,sBAAM,CAACa,OAAP;AACAlB,uBAAO,CAACZ,IAAR,CAAaiB,MAAb;AACH,eAPD;AAZ+D;;AAOnE,gEAAyD;AAAA;AAaxD,aApBkE,CAqBnE;AACA;;AAtBmE;AAAA;AAAA;AAAA;AAAA;;AAuBnE+L,qBAAW,CAAC0K,WAAD,EAAcuB,WAAW,CAAC+G,UAA1B,CAAX;AACH;;;eACD,yBAAgBkE,WAAhB,EAA6BjL,WAA7B,EAA0C+T,qBAA1C,EAAiE5B,iBAAjE,EAAoFsC,YAApF,EAAkGH,aAAlG,EAAiH;AAAA;;AAC7G,cAAMtoB,WAAW,GAAGgU,WAAW,CAAChU,WAAhC;AACA,cAAMyS,WAAW,GAAGuB,WAAW,CAAC5V,OAAhC,CAF6G,CAG7G;AACA;;AACA,cAAMqsB,iBAAiB,GAAG,EAA1B;AACA,cAAMC,mBAAmB,GAAG,IAAI7e,GAAJ,EAA5B;AACA,cAAM8e,cAAc,GAAG,IAAI9e,GAAJ,EAAvB;AACA,cAAM+e,aAAa,GAAG5W,WAAW,CAACb,SAAZ,CAAsB7S,GAAtB,CAA0B,UAAAgqB,mBAAmB,EAAI;AACnE,gBAAMlsB,OAAO,GAAGksB,mBAAmB,CAAClsB,OAApC;AACAssB,+BAAmB,CAACzc,GAApB,CAAwB7P,OAAxB,EAFmE,CAGnE;;AACA,gBAAM+mB,OAAO,GAAG/mB,OAAO,CAACmhB,YAAD,CAAvB;AACA,gBAAI4F,OAAO,IAAIA,OAAO,CAAC9F,oBAAvB,EACI,OAAO,IAAI,uEAAJ,CAAwBiL,mBAAmB,CAACpwB,QAA5C,EAAsDowB,mBAAmB,CAACnwB,KAA1E,CAAP;AACJ,gBAAM6vB,gBAAgB,GAAG5rB,OAAO,KAAKqU,WAArC;AACA,gBAAMrO,eAAe,GAAGymB,mBAAmB,CAAC,CAAC9C,qBAAqB,CAACpnB,GAAtB,CAA0BvC,OAA1B,KAAsC2gB,kBAAvC,EACvCze,GADuC,CACnC,UAAAvD,CAAC;AAAA,qBAAIA,CAAC,CAACytB,aAAF,EAAJ;AAAA,aADkC,CAAD,CAAnB,CAEnBpX,MAFmB,CAEZ,UAAArW,CAAC,EAAI;AACb;AACA;AACA;AACA;AACA,kBAAM+tB,EAAE,GAAG/tB,CAAX;AACA,qBAAO+tB,EAAE,CAAC1sB,OAAH,GAAa0sB,EAAE,CAAC1sB,OAAH,KAAeA,OAA5B,GAAsC,KAA7C;AACH,aATuB,CAAxB;AAUA,gBAAMC,SAAS,GAAGoqB,YAAY,CAAC9nB,GAAb,CAAiBvC,OAAjB,CAAlB;AACA,gBAAME,UAAU,GAAGgqB,aAAa,CAAC3nB,GAAd,CAAkBvC,OAAlB,CAAnB;AACA,gBAAMlF,SAAS,GAAG+E,kBAAkB,CAAC,OAAI,CAACC,MAAN,EAAc,OAAI,CAAC4f,WAAnB,EAAgC1f,OAAhC,EAAyCksB,mBAAmB,CAACpxB,SAA7D,EAAwEmF,SAAxE,EAAmFC,UAAnF,CAApC;;AACA,gBAAMtC,MAAM,GAAG,OAAI,CAACmiB,YAAL,CAAkBmM,mBAAlB,EAAuCpxB,SAAvC,EAAkDkL,eAAlD,CAAf,CArBmE,CAsBnE;AACA;;;AACA,gBAAIkmB,mBAAmB,CAACzY,WAApB,IAAmCsU,iBAAvC,EAA0D;AACtDwE,4BAAc,CAAC1c,GAAf,CAAmB7P,OAAnB;AACH;;AACD,gBAAI4rB,gBAAJ,EAAsB;AAClB,kBAAMe,aAAa,GAAG,IAAIlK,yBAAJ,CAA8B5B,WAA9B,EAA2Cjf,WAA3C,EAAwD5B,OAAxD,CAAtB;AACA2sB,2BAAa,CAAC1B,aAAd,CAA4BrtB,MAA5B;AACAyuB,+BAAiB,CAAC1vB,IAAlB,CAAuBgwB,aAAvB;AACH;;AACD,mBAAO/uB,MAAP;AACH,WAjCqB,CAAtB;AAkCAyuB,2BAAiB,CAAC5vB,OAAlB,CAA0B,UAAAmB,MAAM,EAAI;AAChCqE,2BAAe,CAAC,OAAI,CAACyiB,uBAAN,EAA+B9mB,MAAM,CAACoC,OAAtC,EAA+C,EAA/C,CAAf,CAAkErD,IAAlE,CAAuEiB,MAAvE;AACAA,kBAAM,CAACC,MAAP,CAAc;AAAA,qBAAM+uB,kBAAkB,CAAC,OAAI,CAAClI,uBAAN,EAA+B9mB,MAAM,CAACoC,OAAtC,EAA+CpC,MAA/C,CAAxB;AAAA,aAAd;AACH,WAHD;AAIA0uB,6BAAmB,CAAC7vB,OAApB,CAA4B,UAAAuD,OAAO;AAAA,mBAAIgiB,QAAQ,CAAChiB,OAAD,EAAUoH,sBAAV,CAAZ;AAAA,WAAnC;AACA,cAAMxJ,MAAM,GAAGgC,mBAAmB,CAAC4sB,aAAD,CAAlC;AACA5uB,gBAAM,CAACE,SAAP,CAAiB,YAAM;AACnBwuB,+BAAmB,CAAC7vB,OAApB,CAA4B,UAAAuD,OAAO;AAAA,qBAAIojB,WAAW,CAACpjB,OAAD,EAAUoH,sBAAV,CAAf;AAAA,aAAnC;AACAoC,qBAAS,CAAC6K,WAAD,EAAcuB,WAAW,CAACgH,QAA1B,CAAT;AACH,WAHD,EAhD6G,CAoD7G;AACA;;AACA2P,wBAAc,CAAC9vB,OAAf,CAAuB,UAAAuD,OAAO,EAAI;AAC9BiC,2BAAe,CAAC8lB,iBAAD,EAAoB/nB,OAApB,EAA6B,EAA7B,CAAf,CAAgDrD,IAAhD,CAAqDiB,MAArD;AACH,WAFD;AAGA,iBAAOA,MAAP;AACH;;;eACD,sBAAagY,WAAb,EAA0B9a,SAA1B,EAAqCkL,eAArC,EAAsD;AAClD,cAAIlL,SAAS,CAACsC,MAAV,GAAmB,CAAvB,EAA0B;AACtB,mBAAO,KAAK0C,MAAL,CAAY1F,OAAZ,CAAoBwb,WAAW,CAAC5V,OAAhC,EAAyClF,SAAzC,EAAoD8a,WAAW,CAAC9Z,QAAhE,EAA0E8Z,WAAW,CAAC7Z,KAAtF,EAA6F6Z,WAAW,CAAC7P,MAAzG,EAAiHC,eAAjH,CAAP;AACH,WAHiD,CAIlD;AACA;;;AACA,iBAAO,IAAI,uEAAJ,CAAwB4P,WAAW,CAAC9Z,QAApC,EAA8C8Z,WAAW,CAAC7Z,KAA1D,CAAP;AACH;;;;;;QAEC0mB,yB;;;AACF,yCAAY5B,WAAZ,EAAyBjf,WAAzB,EAAsC5B,OAAtC,EAA+C;AAAA;;AAC3C,aAAK6gB,WAAL,GAAmBA,WAAnB;AACA,aAAKjf,WAAL,GAAmBA,WAAnB;AACA,aAAK5B,OAAL,GAAeA,OAAf;AACA,aAAK6sB,OAAL,GAAe,IAAI,uEAAJ,EAAf;AACA,aAAKC,mBAAL,GAA2B,KAA3B;AACA,aAAKC,gBAAL,GAAwB,EAAxB;AACA,aAAK5H,SAAL,GAAiB,KAAjB;AACA,aAAKC,gBAAL,GAAwB,KAAxB;AACA,aAAK1jB,QAAL,GAAgB,KAAhB;AACA,aAAKshB,MAAL,GAAc,IAAd;AACA,aAAKxmB,SAAL,GAAiB,CAAjB;AACH;;;;eACD,uBAAcoB,MAAd,EAAsB;AAAA;;AAClB,cAAI,KAAKkvB,mBAAT,EACI;AACJ,eAAKD,OAAL,GAAejvB,MAAf;AACA8C,gBAAM,CAACC,IAAP,CAAY,KAAKosB,gBAAjB,EAAmCtwB,OAAnC,CAA2C,UAAAwlB,KAAK,EAAI;AAChD,mBAAI,CAAC8K,gBAAL,CAAsB9K,KAAtB,EAA6BxlB,OAA7B,CAAqC,UAAA8E,QAAQ;AAAA,qBAAIH,cAAc,CAACxD,MAAD,EAASqkB,KAAT,EAAgBlgB,SAAhB,EAA2BR,QAA3B,CAAlB;AAAA,aAA7C;AACH,WAFD;AAGA,eAAKwrB,gBAAL,GAAwB,EAAxB;AACA,eAAKD,mBAAL,GAA2B,IAA3B;AACA,eAAKnC,iBAAL,CAAuB/sB,MAAM,CAACpB,SAA9B;AACA,eAAKwmB,MAAL,GAAc,KAAd;AACH;;;eACD,yBAAgB;AACZ,iBAAO,KAAK6J,OAAZ;AACH;;;eACD,2BAAkBrwB,SAAlB,EAA6B;AACzB,eAAKA,SAAL,GAAiBA,SAAjB;AACH;;;eACD,0BAAiBoB,MAAjB,EAAyB;AAAA;;AACrB,cAAMe,CAAC,GAAG,KAAKkuB,OAAf;;AACA,cAAIluB,CAAC,CAACquB,eAAN,EAAuB;AACnBpvB,kBAAM,CAACI,OAAP,CAAe;AAAA,qBAAMW,CAAC,CAACquB,eAAF,CAAkB,OAAlB,CAAN;AAAA,aAAf;AACH;;AACDpvB,gBAAM,CAACC,MAAP,CAAc;AAAA,mBAAM,OAAI,CAACb,MAAL,EAAN;AAAA,WAAd;AACAY,gBAAM,CAACE,SAAP,CAAiB;AAAA,mBAAM,OAAI,CAACW,OAAL,EAAN;AAAA,WAAjB;AACH;;;eACD,qBAAYzE,IAAZ,EAAkBuH,QAAlB,EAA4B;AACxBU,yBAAe,CAAC,KAAK8qB,gBAAN,EAAwB/yB,IAAxB,EAA8B,EAA9B,CAAf,CAAiD2C,IAAjD,CAAsD4E,QAAtD;AACH;;;eACD,gBAAO7E,EAAP,EAAW;AACP,cAAI,KAAKsmB,MAAT,EAAiB;AACb,iBAAKiK,WAAL,CAAiB,MAAjB,EAAyBvwB,EAAzB;AACH;;AACD,eAAKmwB,OAAL,CAAahvB,MAAb,CAAoBnB,EAApB;AACH;;;eACD,iBAAQA,EAAR,EAAY;AACR,cAAI,KAAKsmB,MAAT,EAAiB;AACb,iBAAKiK,WAAL,CAAiB,OAAjB,EAA0BvwB,EAA1B;AACH;;AACD,eAAKmwB,OAAL,CAAa7uB,OAAb,CAAqBtB,EAArB;AACH;;;eACD,mBAAUA,EAAV,EAAc;AACV,cAAI,KAAKsmB,MAAT,EAAiB;AACb,iBAAKiK,WAAL,CAAiB,SAAjB,EAA4BvwB,EAA5B;AACH;;AACD,eAAKmwB,OAAL,CAAa/uB,SAAb,CAAuBpB,EAAvB;AACH;;;eACD,gBAAO;AACH,eAAKmwB,OAAL,CAAaxuB,IAAb;AACH;;;eACD,sBAAa;AACT,iBAAO,KAAK2kB,MAAL,GAAc,KAAd,GAAsB,KAAK6J,OAAL,CAAajwB,UAAb,EAA7B;AACH;;;eACD,gBAAO;AACH,WAAC,KAAKomB,MAAN,IAAgB,KAAK6J,OAAL,CAAavuB,IAAb,EAAhB;AACH;;;eACD,iBAAQ;AACJ,WAAC,KAAK0kB,MAAN,IAAgB,KAAK6J,OAAL,CAAatuB,KAAb,EAAhB;AACH;;;eACD,mBAAU;AACN,WAAC,KAAKykB,MAAN,IAAgB,KAAK6J,OAAL,CAAaruB,OAAb,EAAhB;AACH;;;eACD,kBAAS;AACL,eAAKquB,OAAL,CAAa7vB,MAAb;AACH;;;eACD,mBAAU;AACN,eAAKmoB,SAAL,GAAiB,IAAjB;;AACA,eAAK0H,OAAL,CAAapuB,OAAb;AACH;;;eACD,iBAAQ;AACJ,WAAC,KAAKukB,MAAN,IAAgB,KAAK6J,OAAL,CAAanuB,KAAb,EAAhB;AACH;;;eACD,qBAAYC,CAAZ,EAAe;AACX,cAAI,CAAC,KAAKqkB,MAAV,EAAkB;AACd,iBAAK6J,OAAL,CAAa/tB,WAAb,CAAyBH,CAAzB;AACH;AACJ;;;eACD,uBAAc;AACV,iBAAO,KAAKqkB,MAAL,GAAc,CAAd,GAAkB,KAAK6J,OAAL,CAAa3tB,WAAb,EAAzB;AACH;AACD;;;;eACA,yBAAgBhC,SAAhB,EAA2B;AACvB,cAAMyB,CAAC,GAAG,KAAKkuB,OAAf;;AACA,cAAIluB,CAAC,CAACquB,eAAN,EAAuB;AACnBruB,aAAC,CAACquB,eAAF,CAAkB9vB,SAAlB;AACH;AACJ;;;;;;AAEL,aAAS0vB,kBAAT,CAA4B1qB,GAA5B,EAAiCC,GAAjC,EAAsCE,KAAtC,EAA6C;AACzC,UAAI6qB,aAAJ;;AACA,UAAIhrB,GAAG,YAAYI,GAAnB,EAAwB;AACpB4qB,qBAAa,GAAGhrB,GAAG,CAACK,GAAJ,CAAQJ,GAAR,CAAhB;;AACA,YAAI+qB,aAAJ,EAAmB;AACf,cAAIA,aAAa,CAAC9vB,MAAlB,EAA0B;AACtB,gBAAM6iB,KAAK,GAAGiN,aAAa,CAACtqB,OAAd,CAAsBP,KAAtB,CAAd;AACA6qB,yBAAa,CAAC7kB,MAAd,CAAqB4X,KAArB,EAA4B,CAA5B;AACH;;AACD,cAAIiN,aAAa,CAAC9vB,MAAd,IAAwB,CAA5B,EAA+B;AAC3B8E,eAAG,UAAH,CAAWC,GAAX;AACH;AACJ;AACJ,OAXD,MAYK;AACD+qB,qBAAa,GAAGhrB,GAAG,CAACC,GAAD,CAAnB;;AACA,YAAI+qB,aAAJ,EAAmB;AACf,cAAIA,aAAa,CAAC9vB,MAAlB,EAA0B;AACtB,gBAAM6iB,OAAK,GAAGiN,aAAa,CAACtqB,OAAd,CAAsBP,KAAtB,CAAd;;AACA6qB,yBAAa,CAAC7kB,MAAd,CAAqB4X,OAArB,EAA4B,CAA5B;AACH;;AACD,cAAIiN,aAAa,CAAC9vB,MAAd,IAAwB,CAA5B,EAA+B;AAC3B,mBAAO8E,GAAG,CAACC,GAAD,CAAV;AACH;AACJ;AACJ;;AACD,aAAO+qB,aAAP;AACH;;AACD,aAAS5L,qBAAT,CAA+Bjf,KAA/B,EAAsC;AAClC;AACA;AACA;AACA,aAAOA,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,IAA/B;AACH;;AACD,aAASwkB,aAAT,CAAuBjb,IAAvB,EAA6B;AACzB,aAAOA,IAAI,IAAIA,IAAI,CAAC,UAAD,CAAJ,KAAqB,CAApC;AACH;;AACD,aAASsW,mBAAT,CAA6B7gB,SAA7B,EAAwC;AACpC,aAAOA,SAAS,IAAI,OAAb,IAAwBA,SAAS,IAAI,MAA5C;AACH;;AACD,aAAS8rB,YAAT,CAAsBntB,OAAtB,EAA+BqC,KAA/B,EAAsC;AAClC,UAAM+qB,QAAQ,GAAGptB,OAAO,CAACtF,KAAR,CAAc2yB,OAA/B;AACArtB,aAAO,CAACtF,KAAR,CAAc2yB,OAAd,GAAwBhrB,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,MAAhD;AACA,aAAO+qB,QAAP;AACH;;AACD,aAAShD,qBAAT,CAA+BkD,SAA/B,EAA0CxtB,MAA1C,EAAkD8Y,QAAlD,EAA4D2U,eAA5D,EAA6EC,YAA7E,EAA2F;AACvF,UAAMC,SAAS,GAAG,EAAlB;AACA7U,cAAQ,CAACnc,OAAT,CAAiB,UAAAuD,OAAO;AAAA,eAAIytB,SAAS,CAAC9wB,IAAV,CAAewwB,YAAY,CAACntB,OAAD,CAA3B,CAAJ;AAAA,OAAxB;AACA,UAAM0tB,cAAc,GAAG,EAAvB;AACAH,qBAAe,CAAC9wB,OAAhB,CAAwB,UAACqd,KAAD,EAAQ9Z,OAAR,EAAoB;AACxC,YAAM1F,MAAM,GAAG,EAAf;AACAwf,aAAK,CAACrd,OAAN,CAAc,UAAAmE,IAAI,EAAI;AAClB,cAAMyB,KAAK,GAAG/H,MAAM,CAACsG,IAAD,CAAN,GAAed,MAAM,CAAC2L,YAAP,CAAoBzL,OAApB,EAA6BY,IAA7B,EAAmC4sB,YAAnC,CAA7B,CADkB,CAElB;AACA;;AACA,cAAI,CAACnrB,KAAD,IAAUA,KAAK,CAACjF,MAAN,IAAgB,CAA9B,EAAiC;AAC7B4C,mBAAO,CAACmhB,YAAD,CAAP,GAAwBD,0BAAxB;AACAwM,0BAAc,CAAC/wB,IAAf,CAAoBqD,OAApB;AACH;AACJ,SARD;AASAstB,iBAAS,CAAC9qB,GAAV,CAAcxC,OAAd,EAAuB1F,MAAvB;AACH,OAZD,EAJuF,CAiBvF;AACA;;AACA,UAAImK,CAAC,GAAG,CAAR;AACAmU,cAAQ,CAACnc,OAAT,CAAiB,UAAAuD,OAAO;AAAA,eAAImtB,YAAY,CAACntB,OAAD,EAAUytB,SAAS,CAAChpB,CAAC,EAAF,CAAnB,CAAhB;AAAA,OAAxB;AACA,aAAOipB,cAAP;AACH;AACD;;;;;;;;;;;;AAUA,aAASlF,YAAT,CAAsBmF,KAAtB,EAA6BjF,KAA7B,EAAoC;AAChC,UAAMkF,OAAO,GAAG,IAAItrB,GAAJ,EAAhB;AACAqrB,WAAK,CAAClxB,OAAN,CAAc,UAAAksB,IAAI;AAAA,eAAIiF,OAAO,CAACprB,GAAR,CAAYmmB,IAAZ,EAAkB,EAAlB,CAAJ;AAAA,OAAlB;AACA,UAAID,KAAK,CAACtrB,MAAN,IAAgB,CAApB,EACI,OAAOwwB,OAAP;AACJ,UAAMC,SAAS,GAAG,CAAlB;AACA,UAAMC,OAAO,GAAG,IAAIrgB,GAAJ,CAAQib,KAAR,CAAhB;AACA,UAAMqF,YAAY,GAAG,IAAIzrB,GAAJ,EAArB;;AACA,eAAS0rB,OAAT,CAAiBpiB,IAAjB,EAAuB;AACnB,YAAI,CAACA,IAAL,EACI,OAAOiiB,SAAP;AACJ,YAAIlF,IAAI,GAAGoF,YAAY,CAACxrB,GAAb,CAAiBqJ,IAAjB,CAAX;AACA,YAAI+c,IAAJ,EACI,OAAOA,IAAP;AACJ,YAAMhE,MAAM,GAAG/Y,IAAI,CAACgZ,UAApB;;AACA,YAAIgJ,OAAO,CAAC9f,GAAR,CAAY6W,MAAZ,CAAJ,EAAyB;AAAE;AACvBgE,cAAI,GAAGhE,MAAP;AACH,SAFD,MAGK,IAAImJ,OAAO,CAAChgB,GAAR,CAAY6W,MAAZ,CAAJ,EAAyB;AAAE;AAC5BgE,cAAI,GAAGkF,SAAP;AACH,SAFI,MAGA;AAAE;AACHlF,cAAI,GAAGqF,OAAO,CAACrJ,MAAD,CAAd;AACH;;AACDoJ,oBAAY,CAACvrB,GAAb,CAAiBoJ,IAAjB,EAAuB+c,IAAvB;AACA,eAAOA,IAAP;AACH;;AACDD,WAAK,CAACjsB,OAAN,CAAc,UAAAmP,IAAI,EAAI;AAClB,YAAM+c,IAAI,GAAGqF,OAAO,CAACpiB,IAAD,CAApB;;AACA,YAAI+c,IAAI,KAAKkF,SAAb,EAAwB;AACpBD,iBAAO,CAACrrB,GAAR,CAAYomB,IAAZ,EAAkBhsB,IAAlB,CAAuBiP,IAAvB;AACH;AACJ,OALD;AAMA,aAAOgiB,OAAP;AACH;;AACD,QAAMK,iBAAiB,GAAG,WAA1B;;AACA,aAASC,aAAT,CAAuBluB,OAAvB,EAAgC4oB,SAAhC,EAA2C;AACvC,UAAI5oB,OAAO,CAACmuB,SAAZ,EAAuB;AACnB,eAAOnuB,OAAO,CAACmuB,SAAR,CAAkBvqB,QAAlB,CAA2BglB,SAA3B,CAAP;AACH,OAFD,MAGK;AACD,YAAMwF,OAAO,GAAGpuB,OAAO,CAACiuB,iBAAD,CAAvB;AACA,eAAOG,OAAO,IAAIA,OAAO,CAACxF,SAAD,CAAzB;AACH;AACJ;;AACD,aAAS5G,QAAT,CAAkBhiB,OAAlB,EAA2B4oB,SAA3B,EAAsC;AAClC,UAAI5oB,OAAO,CAACmuB,SAAZ,EAAuB;AACnBnuB,eAAO,CAACmuB,SAAR,CAAkBte,GAAlB,CAAsB+Y,SAAtB;AACH,OAFD,MAGK;AACD,YAAIwF,OAAO,GAAGpuB,OAAO,CAACiuB,iBAAD,CAArB;;AACA,YAAI,CAACG,OAAL,EAAc;AACVA,iBAAO,GAAGpuB,OAAO,CAACiuB,iBAAD,CAAP,GAA6B,EAAvC;AACH;;AACDG,eAAO,CAACxF,SAAD,CAAP,GAAqB,IAArB;AACH;AACJ;;AACD,aAASxF,WAAT,CAAqBpjB,OAArB,EAA8B4oB,SAA9B,EAAyC;AACrC,UAAI5oB,OAAO,CAACmuB,SAAZ,EAAuB;AACnBnuB,eAAO,CAACmuB,SAAR,CAAkBE,MAAlB,CAAyBzF,SAAzB;AACH,OAFD,MAGK;AACD,YAAIwF,OAAO,GAAGpuB,OAAO,CAACiuB,iBAAD,CAArB;;AACA,YAAIG,OAAJ,EAAa;AACT,iBAAOA,OAAO,CAACxF,SAAD,CAAd;AACH;AACJ;AACJ;;AACD,aAAS8C,6BAAT,CAAuCtH,MAAvC,EAA+CpkB,OAA/C,EAAwDzC,OAAxD,EAAiE;AAC7DqC,yBAAmB,CAACrC,OAAD,CAAnB,CAA6BM,MAA7B,CAAoC;AAAA,eAAMumB,MAAM,CAACJ,gBAAP,CAAwBhkB,OAAxB,CAAN;AAAA,OAApC;AACH;;AACD,aAASysB,mBAAT,CAA6BlvB,OAA7B,EAAsC;AAClC,UAAM+wB,YAAY,GAAG,EAArB;;AACAC,+BAAyB,CAAChxB,OAAD,EAAU+wB,YAAV,CAAzB;;AACA,aAAOA,YAAP;AACH;;AACD,aAASC,yBAAT,CAAmChxB,OAAnC,EAA4C+wB,YAA5C,EAA0D;AACtD,WAAK,IAAI7pB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGlH,OAAO,CAACH,MAA5B,EAAoCqH,CAAC,EAArC,EAAyC;AACrC,YAAM7G,MAAM,GAAGL,OAAO,CAACkH,CAAD,CAAtB;;AACA,YAAI7G,MAAM,YAAY,yEAAtB,EAA6C;AACzC2wB,mCAAyB,CAAC3wB,MAAM,CAACL,OAAR,EAAiB+wB,YAAjB,CAAzB;AACH,SAFD,MAGK;AACDA,sBAAY,CAAC3xB,IAAb,CAAkBiB,MAAlB;AACH;AACJ;AACJ;;AACD,aAAS+kB,SAAT,CAAmB2C,CAAnB,EAAsBC,CAAtB,EAAyB;AACrB,UAAMiJ,EAAE,GAAG9tB,MAAM,CAACC,IAAP,CAAY2kB,CAAZ,CAAX;AACA,UAAMmJ,EAAE,GAAG/tB,MAAM,CAACC,IAAP,CAAY4kB,CAAZ,CAAX;AACA,UAAIiJ,EAAE,CAACpxB,MAAH,IAAaqxB,EAAE,CAACrxB,MAApB,EACI,OAAO,KAAP;;AACJ,WAAK,IAAIqH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+pB,EAAE,CAACpxB,MAAvB,EAA+BqH,CAAC,EAAhC,EAAoC;AAChC,YAAM7D,IAAI,GAAG4tB,EAAE,CAAC/pB,CAAD,CAAf;AACA,YAAI,CAAC8gB,CAAC,CAAC1d,cAAF,CAAiBjH,IAAjB,CAAD,IAA2B0kB,CAAC,CAAC1kB,IAAD,CAAD,KAAY2kB,CAAC,CAAC3kB,IAAD,CAA5C,EACI,OAAO,KAAP;AACP;;AACD,aAAO,IAAP;AACH;;AACD,aAASqpB,sBAAT,CAAgCjqB,OAAhC,EAAyCioB,mBAAzC,EAA8DC,oBAA9D,EAAoF;AAChF,UAAMwG,SAAS,GAAGxG,oBAAoB,CAAC3lB,GAArB,CAAyBvC,OAAzB,CAAlB;AACA,UAAI,CAAC0uB,SAAL,EACI,OAAO,KAAP;AACJ,UAAIC,QAAQ,GAAG1G,mBAAmB,CAAC1lB,GAApB,CAAwBvC,OAAxB,CAAf;;AACA,UAAI2uB,QAAJ,EAAc;AACVD,iBAAS,CAACjyB,OAAV,CAAkB,UAAAuF,IAAI;AAAA,iBAAI2sB,QAAQ,CAAC9e,GAAT,CAAa7N,IAAb,CAAJ;AAAA,SAAtB;AACH,OAFD,MAGK;AACDimB,2BAAmB,CAACzlB,GAApB,CAAwBxC,OAAxB,EAAiC0uB,SAAjC;AACH;;AACDxG,0BAAoB,UAApB,CAA4BloB,OAA5B;AACA,aAAO,IAAP;AACH;;QAEK4uB,e;;;AACF,+BAAYnP,QAAZ,EAAsBhR,OAAtB,EAA+B1O,UAA/B,EAA2C;AAAA;;AAAA;;AACvC,aAAK0f,QAAL,GAAgBA,QAAhB;AACA,aAAKhR,OAAL,GAAeA,OAAf;AACA,aAAKogB,aAAL,GAAqB,EAArB,CAHuC,CAIvC;;AACA,aAAKxI,iBAAL,GAAyB,UAACrmB,OAAD,EAAU6L,OAAV,EAAsB,CAAG,CAAlD;;AACA,aAAKijB,iBAAL,GAAyB,IAAInJ,yBAAJ,CAA8BlG,QAA9B,EAAwChR,OAAxC,EAAiD1O,UAAjD,CAAzB;AACA,aAAKgvB,eAAL,GAAuB,IAAIvP,uBAAJ,CAA4BC,QAA5B,EAAsChR,OAAtC,EAA+C1O,UAA/C,CAAvB;;AACA,aAAK+uB,iBAAL,CAAuBzI,iBAAvB,GAA2C,UAACrmB,OAAD,EAAU6L,OAAV;AAAA,iBAAsB,OAAI,CAACwa,iBAAL,CAAuBrmB,OAAvB,EAAgC6L,OAAhC,CAAtB;AAAA,SAA3C;AACH;;;;eACD,yBAAgBmjB,WAAhB,EAA6BnO,WAA7B,EAA0Ca,WAA1C,EAAuD1nB,IAAvD,EAA6DqU,QAA7D,EAAuE;AACnE,cAAM4gB,QAAQ,GAAGD,WAAW,GAAG,GAAd,GAAoBh1B,IAArC;AACA,cAAID,OAAO,GAAG,KAAK80B,aAAL,CAAmBI,QAAnB,CAAd;;AACA,cAAI,CAACl1B,OAAL,EAAc;AACV,gBAAMoG,MAAM,GAAG,EAAf;AACA,gBAAM4Q,GAAG,GAAG3C,iBAAiB,CAAC,KAAKK,OAAN,EAAeJ,QAAf,EAAyBlO,MAAzB,CAA7B;;AACA,gBAAIA,MAAM,CAAC/C,MAAX,EAAmB;AACf,oBAAM,IAAI8D,KAAJ,mCAAoClH,IAApC,qEAAkGmG,MAAM,CAACgB,IAAP,CAAY,OAAZ,CAAlG,EAAN;AACH;;AACDpH,mBAAO,GAAG8kB,YAAY,CAAC7kB,IAAD,EAAO+W,GAAP,CAAtB;AACA,iBAAK8d,aAAL,CAAmBI,QAAnB,IAA+Bl1B,OAA/B;AACH;;AACD,eAAK+0B,iBAAL,CAAuBI,eAAvB,CAAuCrO,WAAvC,EAAoD7mB,IAApD,EAA0DD,OAA1D;AACH;;;eACD,kBAAS8mB,WAAT,EAAsBa,WAAtB,EAAmC;AAC/B,eAAKoN,iBAAL,CAAuB1O,QAAvB,CAAgCS,WAAhC,EAA6Ca,WAA7C;AACH;;;eACD,iBAAQb,WAAR,EAAqBhV,OAArB,EAA8B;AAC1B,eAAKijB,iBAAL,CAAuBrwB,OAAvB,CAA+BoiB,WAA/B,EAA4ChV,OAA5C;AACH;;;eACD,kBAASgV,WAAT,EAAsB7gB,OAAtB,EAA+B2kB,MAA/B,EAAuCmC,YAAvC,EAAqD;AACjD,eAAKgI,iBAAL,CAAuB9H,UAAvB,CAAkCnG,WAAlC,EAA+C7gB,OAA/C,EAAwD2kB,MAAxD,EAAgEmC,YAAhE;AACH;;;eACD,kBAASjG,WAAT,EAAsB7gB,OAAtB,EAA+B6L,OAA/B,EAAwCob,aAAxC,EAAuD;AACnD,eAAK6H,iBAAL,CAAuB5H,UAAvB,CAAkCrG,WAAlC,EAA+C7gB,OAA/C,EAAwDinB,aAAa,IAAI,KAAzE,EAAgFpb,OAAhF;AACH;;;eACD,2BAAkB7L,OAAlB,EAA2BmvB,OAA3B,EAAoC;AAChC,eAAKL,iBAAL,CAAuBpH,qBAAvB,CAA6C1nB,OAA7C,EAAsDmvB,OAAtD;AACH;;;eACD,iBAAQtO,WAAR,EAAqB7gB,OAArB,EAA8BovB,QAA9B,EAAwC/sB,KAAxC,EAA+C;AAC3C,cAAI+sB,QAAQ,CAACjqB,MAAT,CAAgB,CAAhB,KAAsB,GAA1B,EAA+B;AAC3B,wCAAqB1C,oBAAoB,CAAC2sB,QAAD,CAAzC;AAAA;AAAA,gBAAOvsB,EAAP;AAAA,gBAAWE,MAAX;;AACA,gBAAMod,IAAI,GAAG9d,KAAb;;AACA,iBAAK0sB,eAAL,CAAqBrsB,OAArB,CAA6BG,EAA7B,EAAiC7C,OAAjC,EAA0C+C,MAA1C,EAAkDod,IAAlD;AACH,WAJD,MAKK;AACD,iBAAK2O,iBAAL,CAAuB/0B,OAAvB,CAA+B8mB,WAA/B,EAA4C7gB,OAA5C,EAAqDovB,QAArD,EAA+D/sB,KAA/D;AACH;AACJ;;;eACD,gBAAOwe,WAAP,EAAoB7gB,OAApB,EAA6BqB,SAA7B,EAAwCguB,UAAxC,EAAoD9tB,QAApD,EAA8D;AAC1D;AACA,cAAIF,SAAS,CAAC8D,MAAV,CAAiB,CAAjB,KAAuB,GAA3B,EAAgC;AAC5B,yCAAqB1C,oBAAoB,CAACpB,SAAD,CAAzC;AAAA;AAAA,gBAAOwB,EAAP;AAAA,gBAAWE,MAAX;;AACA,mBAAO,KAAKgsB,eAAL,CAAqB3H,MAArB,CAA4BvkB,EAA5B,EAAgC7C,OAAhC,EAAyC+C,MAAzC,EAAiDxB,QAAjD,CAAP;AACH;;AACD,iBAAO,KAAKutB,iBAAL,CAAuB1H,MAAvB,CAA8BvG,WAA9B,EAA2C7gB,OAA3C,EAAoDqB,SAApD,EAA+DguB,UAA/D,EAA2E9tB,QAA3E,CAAP;AACH;;;eACD,iBAAwB;AAAA,cAAlB2jB,WAAkB,uEAAJ,CAAC,CAAG;;AACpB,eAAK4J,iBAAL,CAAuBQ,KAAvB,CAA6BpK,WAA7B;AACH;;;aACD,eAAc;AACV,iBAAO,KAAK4J,iBAAL,CAAuBvxB,OAAvB,CACFgyB,MADE,CACK,KAAKR,eAAL,CAAqBxxB,OAD1B,CAAP;AAEH;;;eACD,6BAAoB;AAChB,iBAAO,KAAKuxB,iBAAL,CAAuBU,iBAAvB,EAAP;AACH;;;;;AAGL;;;;;;;;AAOA;;;;;;;;;;;;;AAWA,aAASC,0BAAT,CAAoCzvB,OAApC,EAA6C1F,MAA7C,EAAqD;AACjD,UAAIo1B,WAAW,GAAG,IAAlB;AACA,UAAIC,SAAS,GAAG,IAAhB;;AACA,UAAIhnB,KAAK,CAACC,OAAN,CAActO,MAAd,KAAyBA,MAAM,CAAC8C,MAApC,EAA4C;AACxCsyB,mBAAW,GAAGE,yBAAyB,CAACt1B,MAAM,CAAC,CAAD,CAAP,CAAvC;;AACA,YAAIA,MAAM,CAAC8C,MAAP,GAAgB,CAApB,EAAuB;AACnBuyB,mBAAS,GAAGC,yBAAyB,CAACt1B,MAAM,CAACA,MAAM,CAAC8C,MAAP,GAAgB,CAAjB,CAAP,CAArC;AACH;AACJ,OALD,MAMK,IAAI9C,MAAJ,EAAY;AACbo1B,mBAAW,GAAGE,yBAAyB,CAACt1B,MAAD,CAAvC;AACH;;AACD,aAAQo1B,WAAW,IAAIC,SAAhB,GAA6B,IAAIE,kBAAJ,CAAuB7vB,OAAvB,EAAgC0vB,WAAhC,EAA6CC,SAA7C,CAA7B,GACH,IADJ;AAEH;AACD;;;;;;;;;;QAQME,kB;;;AACF,kCAAYC,QAAZ,EAAsBC,YAAtB,EAAoCC,UAApC,EAAgD;AAAA;;AAC5C,aAAKF,QAAL,GAAgBA,QAAhB;AACA,aAAKC,YAAL,GAAoBA,YAApB;AACA,aAAKC,UAAL,GAAkBA,UAAlB;AACA,aAAKC,MAAL,GAAc;AAAE;AAAhB;AACA,YAAIC,aAAa,GAAGL,kBAAkB,CAACM,sBAAnB,CAA0C5tB,GAA1C,CAA8CutB,QAA9C,CAApB;;AACA,YAAI,CAACI,aAAL,EAAoB;AAChBL,4BAAkB,CAACM,sBAAnB,CAA0C3tB,GAA1C,CAA8CstB,QAA9C,EAAwDI,aAAa,GAAG,EAAxE;AACH;;AACD,aAAKE,cAAL,GAAsBF,aAAtB;AACH;;;;eACD,iBAAQ;AACJ,cAAI,KAAKD,MAAL,GAAc;AAAE;AAApB,YAAmC;AAC/B,gBAAI,KAAKF,YAAT,EAAuB;AACnBvmB,uBAAS,CAAC,KAAKsmB,QAAN,EAAgB,KAAKC,YAArB,EAAmC,KAAKK,cAAxC,CAAT;AACH;;AACD,iBAAKH,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;;eACD,kBAAS;AACL,eAAKtU,KAAL;;AACA,cAAI,KAAKsU,MAAL,GAAc;AAAE;AAApB,YAAoC;AAChCzmB,qBAAS,CAAC,KAAKsmB,QAAN,EAAgB,KAAKM,cAArB,CAAT;;AACA,gBAAI,KAAKJ,UAAT,EAAqB;AACjBxmB,uBAAS,CAAC,KAAKsmB,QAAN,EAAgB,KAAKE,UAArB,CAAT;AACA,mBAAKA,UAAL,GAAkB,IAAlB;AACH;;AACD,iBAAKC,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;;eACD,mBAAU;AACN,eAAKjzB,MAAL;;AACA,cAAI,KAAKizB,MAAL,GAAc;AAAE;AAApB,YAAqC;AACjCJ,8BAAkB,CAACM,sBAAnB,WAAiD,KAAKL,QAAtD;;AACA,gBAAI,KAAKC,YAAT,EAAuB;AACnBpmB,yBAAW,CAAC,KAAKmmB,QAAN,EAAgB,KAAKC,YAArB,CAAX;AACA,mBAAKC,UAAL,GAAkB,IAAlB;AACH;;AACD,gBAAI,KAAKA,UAAT,EAAqB;AACjBrmB,yBAAW,CAAC,KAAKmmB,QAAN,EAAgB,KAAKE,UAArB,CAAX;AACA,mBAAKA,UAAL,GAAkB,IAAlB;AACH;;AACDxmB,qBAAS,CAAC,KAAKsmB,QAAN,EAAgB,KAAKM,cAArB,CAAT;AACA,iBAAKH,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;;;;;AAELJ,sBAAkB,CAACM,sBAAnB,GAA4C,IAAIE,OAAJ,EAA5C;;AACA,aAAST,yBAAT,CAAmCt1B,MAAnC,EAA2C;AACvC,UAAI2K,MAAM,GAAG,IAAb;AACA,UAAM6U,KAAK,GAAGpZ,MAAM,CAACC,IAAP,CAAYrG,MAAZ,CAAd;;AACA,WAAK,IAAImK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqV,KAAK,CAAC1c,MAA1B,EAAkCqH,CAAC,EAAnC,EAAuC;AACnC,YAAM7D,IAAI,GAAGkZ,KAAK,CAACrV,CAAD,CAAlB;;AACA,YAAI6rB,oBAAoB,CAAC1vB,IAAD,CAAxB,EAAgC;AAC5BqE,gBAAM,GAAGA,MAAM,IAAI,EAAnB;AACAA,gBAAM,CAACrE,IAAD,CAAN,GAAetG,MAAM,CAACsG,IAAD,CAArB;AACH;AACJ;;AACD,aAAOqE,MAAP;AACH;;AACD,aAASqrB,oBAAT,CAA8B1vB,IAA9B,EAAoC;AAChC,aAAOA,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,UAAtC;AACH;AAED;;;;;;;;;AAOA,QAAM2vB,+BAA+B,GAAG,CAAxC;AACA,QAAMC,cAAc,GAAG,WAAvB;AACA,QAAMC,kBAAkB,GAAG,cAA3B;AACA,QAAMC,YAAY,GAAG,IAArB;;QACMC,4B;;;AACF,4CAAYb,QAAZ,EAAsBc,KAAtB,EAA6BC,SAA7B,EAAwCC,MAAxC,EAAgDC,OAAhD,EAAyDC,SAAzD,EAAoEC,SAApE,EAA+E;AAAA;;AAAA;;AAC3E,aAAKnB,QAAL,GAAgBA,QAAhB;AACA,aAAKc,KAAL,GAAaA,KAAb;AACA,aAAKC,SAAL,GAAiBA,SAAjB;AACA,aAAKC,MAAL,GAAcA,MAAd;AACA,aAAKC,OAAL,GAAeA,OAAf;AACA,aAAKC,SAAL,GAAiBA,SAAjB;AACA,aAAKC,SAAL,GAAiBA,SAAjB;AACA,aAAK50B,SAAL,GAAiB,KAAjB;AACA,aAAKD,UAAL,GAAkB,KAAlB;AACA,aAAK80B,UAAL,GAAkB,CAAlB;AACA,aAAK50B,SAAL,GAAiB,CAAjB;;AACA,aAAK60B,QAAL,GAAgB,UAAC1vB,CAAD;AAAA,iBAAO,OAAI,CAAC2vB,eAAL,CAAqB3vB,CAArB,CAAP;AAAA,SAAhB;AACH;;;;eACD,iBAAQ;AACJ4vB,gCAAsB,CAAC,KAAKvB,QAAN,YAAmB,KAAKe,SAAxB,gBAAuC,KAAKE,OAA5C,cAAuD,KAAKD,MAA5D,yBAAiF,KAAKE,SAAtF,cAAmG,KAAKJ,KAAxG,EAAtB;AACAU,iCAAuB,CAAC,KAAKxB,QAAN,EAAgB,KAAKqB,QAArB,EAA+B,KAA/B,CAAvB;AACA,eAAKD,UAAL,GAAkBK,IAAI,CAACC,GAAL,EAAlB;AACH;;;eACD,iBAAQ;AACJC,4BAAkB,CAAC,KAAK3B,QAAN,EAAgB,KAAKc,KAArB,EAA4B,QAA5B,CAAlB;AACH;;;eACD,kBAAS;AACLa,4BAAkB,CAAC,KAAK3B,QAAN,EAAgB,KAAKc,KAArB,EAA4B,SAA5B,CAAlB;AACH;;;eACD,qBAAY3zB,QAAZ,EAAsB;AAClB,cAAMgjB,KAAK,GAAGyR,qBAAqB,CAAC,KAAK5B,QAAN,EAAgB,KAAKc,KAArB,CAAnC;AACA,eAAKt0B,SAAL,GAAiBW,QAAQ,GAAG,KAAK4zB,SAAjC;AACAc,2BAAiB,CAAC,KAAK7B,QAAN,EAAgB,OAAhB,aAA6B,KAAKxzB,SAAlC,SAAiD2jB,KAAjD,CAAjB;AACH;;;eACD,uBAAc;AACV,iBAAO,KAAK3jB,SAAZ;AACH;;;eACD,yBAAgBgF,KAAhB,EAAuB;AACnB,cAAMswB,SAAS,GAAGtwB,KAAK,CAACuwB,sBAAN,IAAgCN,IAAI,CAACC,GAAL,EAAlD;AACA,cAAMM,WAAW,GAAGrqB,UAAU,CAACnG,KAAK,CAACwwB,WAAN,CAAkBC,OAAlB,CAA0BxB,+BAA1B,CAAD,CAAV,GAAyEG,YAA7F;;AACA,cAAIpvB,KAAK,CAAC0wB,aAAN,IAAuB,KAAKpB,KAA5B,IACAzyB,IAAI,CAACC,GAAL,CAASwzB,SAAS,GAAG,KAAKV,UAA1B,EAAsC,CAAtC,KAA4C,KAAKJ,MADjD,IAC2DgB,WAAW,IAAI,KAAKjB,SADnF,EAC8F;AAC1F,iBAAK7zB,MAAL;AACH;AACJ;;;eACD,kBAAS;AACL,cAAI,KAAKX,SAAT,EACI;AACJ,eAAKA,SAAL,GAAiB,IAAjB;;AACA,eAAK40B,SAAL;;AACAK,iCAAuB,CAAC,KAAKxB,QAAN,EAAgB,KAAKqB,QAArB,EAA+B,IAA/B,CAAvB;AACH;;;eACD,mBAAU;AACN,cAAI,KAAK/0B,UAAT,EACI;AACJ,eAAKA,UAAL,GAAkB,IAAlB;AACA,eAAKY,MAAL;AACAi1B,iCAAuB,CAAC,KAAKnC,QAAN,EAAgB,KAAKc,KAArB,CAAvB;AACH;;;;;;AAEL,aAASa,kBAAT,CAA4BzxB,OAA5B,EAAqChG,IAArC,EAA2Ck4B,MAA3C,EAAmD;AAC/C,UAAMjS,KAAK,GAAGyR,qBAAqB,CAAC1xB,OAAD,EAAUhG,IAAV,CAAnC;AACA23B,uBAAiB,CAAC3xB,OAAD,EAAU,WAAV,EAAuBkyB,MAAvB,EAA+BjS,KAA/B,CAAjB;AACH;;AACD,aAASoR,sBAAT,CAAgCrxB,OAAhC,EAAyCqC,KAAzC,EAAgD;AAC5C,UAAM8vB,IAAI,GAAGC,iBAAiB,CAACpyB,OAAD,EAAU,EAAV,CAAjB,CAA+Boc,IAA/B,EAAb;AACA,UAAI6D,KAAK,GAAG,CAAZ;;AACA,UAAIkS,IAAI,CAAC/0B,MAAT,EAAiB;AACb6iB,aAAK,GAAGoS,UAAU,CAACF,IAAD,EAAO,GAAP,CAAV,GAAwB,CAAhC;AACA9vB,aAAK,aAAM8vB,IAAN,eAAe9vB,KAAf,CAAL;AACH;;AACDsvB,uBAAiB,CAAC3xB,OAAD,EAAU,EAAV,EAAcqC,KAAd,CAAjB;AACA,aAAO4d,KAAP;AACH;;AACD,aAASgS,uBAAT,CAAiCjyB,OAAjC,EAA0ChG,IAA1C,EAAgD;AAC5C,UAAMm4B,IAAI,GAAGC,iBAAiB,CAACpyB,OAAD,EAAU,EAAV,CAA9B;AACA,UAAMrF,MAAM,GAAGw3B,IAAI,CAACnlB,KAAL,CAAW,GAAX,CAAf;AACA,UAAMiT,KAAK,GAAGqS,sBAAsB,CAAC33B,MAAD,EAASX,IAAT,CAApC;;AACA,UAAIimB,KAAK,IAAI,CAAb,EAAgB;AACZtlB,cAAM,CAAC0N,MAAP,CAAc4X,KAAd,EAAqB,CAArB;AACA,YAAMsS,QAAQ,GAAG53B,MAAM,CAACwG,IAAP,CAAY,GAAZ,CAAjB;AACAwwB,yBAAiB,CAAC3xB,OAAD,EAAU,EAAV,EAAcuyB,QAAd,CAAjB;AACH;AACJ;;AACD,aAASb,qBAAT,CAA+B1xB,OAA/B,EAAwCqC,KAAxC,EAA+C;AAC3C,UAAM8vB,IAAI,GAAGC,iBAAiB,CAACpyB,OAAD,EAAU,EAAV,CAA9B;;AACA,UAAImyB,IAAI,CAACvvB,OAAL,CAAa,GAAb,IAAoB,CAAxB,EAA2B;AACvB,YAAMjI,MAAM,GAAGw3B,IAAI,CAACnlB,KAAL,CAAW,GAAX,CAAf;AACA,eAAOslB,sBAAsB,CAAC33B,MAAD,EAAS0H,KAAT,CAA7B;AACH;;AACD,aAAOiwB,sBAAsB,CAAC,CAACH,IAAD,CAAD,EAAS9vB,KAAT,CAA7B;AACH;;AACD,aAASiwB,sBAAT,CAAgC33B,MAAhC,EAAwC63B,WAAxC,EAAqD;AACjD,WAAK,IAAI/tB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG9J,MAAM,CAACyC,MAA3B,EAAmCqH,CAAC,EAApC,EAAwC;AACpC,YAAI9J,MAAM,CAAC8J,CAAD,CAAN,CAAU7B,OAAV,CAAkB4vB,WAAlB,KAAkC,CAAtC,EAAyC;AACrC,iBAAO/tB,CAAP;AACH;AACJ;;AACD,aAAO,CAAC,CAAR;AACH;;AACD,aAAS6sB,uBAAT,CAAiCtxB,OAAjC,EAA0CtD,EAA1C,EAA8C+1B,QAA9C,EAAwD;AACpDA,cAAQ,GAAGzyB,OAAO,CAAC0yB,mBAAR,CAA4BjC,kBAA5B,EAAgD/zB,EAAhD,CAAH,GACJsD,OAAO,CAAC2yB,gBAAR,CAAyBlC,kBAAzB,EAA6C/zB,EAA7C,CADJ;AAEH;;AACD,aAASi1B,iBAAT,CAA2B3xB,OAA3B,EAAoChG,IAApC,EAA0CqI,KAA1C,EAAiD4d,KAAjD,EAAwD;AACpD,UAAMrf,IAAI,GAAG4vB,cAAc,GAAGx2B,IAA9B;;AACA,UAAIimB,KAAK,IAAI,IAAb,EAAmB;AACf,YAAMmN,QAAQ,GAAGptB,OAAO,CAACtF,KAAR,CAAckG,IAAd,CAAjB;;AACA,YAAIwsB,QAAQ,CAAChwB,MAAb,EAAqB;AACjB,cAAMzC,MAAM,GAAGyyB,QAAQ,CAACpgB,KAAT,CAAe,GAAf,CAAf;AACArS,gBAAM,CAACslB,KAAD,CAAN,GAAgB5d,KAAhB;AACAA,eAAK,GAAG1H,MAAM,CAACwG,IAAP,CAAY,GAAZ,CAAR;AACH;AACJ;;AACDnB,aAAO,CAACtF,KAAR,CAAckG,IAAd,IAAsByB,KAAtB;AACH;;AACD,aAAS+vB,iBAAT,CAA2BpyB,OAA3B,EAAoChG,IAApC,EAA0C;AACtC,aAAOgG,OAAO,CAACtF,KAAR,CAAc81B,cAAc,GAAGx2B,IAA/B,KAAwC,EAA/C;AACH;;AACD,aAASq4B,UAAT,CAAoBhwB,KAApB,EAA2BuwB,KAA3B,EAAiC;AAC7B,UAAIC,KAAK,GAAG,CAAZ;;AACA,WAAK,IAAIpuB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGpC,KAAK,CAACjF,MAA1B,EAAkCqH,CAAC,EAAnC,EAAuC;AACnC,YAAMquB,CAAC,GAAGzwB,KAAK,CAAC8C,MAAN,CAAaV,CAAb,CAAV;AACA,YAAIquB,CAAC,KAAKF,KAAV,EACIC,KAAK;AACZ;;AACD,aAAOA,KAAP;AACH;;AAED,QAAME,iBAAiB,GAAG,UAA1B;AACA,QAAMC,cAAc,GAAG,QAAvB;;QACMC,kB;;;AACF,kCAAYjzB,OAAZ,EAAqBlF,SAArB,EAAgCk3B,aAAhC,EAA+CnB,SAA/C,EAA0DC,MAA1D,EAAkE/qB,MAAlE,EAA0EmtB,YAA1E,EAAwFC,cAAxF,EAAwG;AAAA;;AACpG,aAAKnzB,OAAL,GAAeA,OAAf;AACA,aAAKlF,SAAL,GAAiBA,SAAjB;AACA,aAAKk3B,aAAL,GAAqBA,aAArB;AACA,aAAKnB,SAAL,GAAiBA,SAAjB;AACA,aAAKC,MAAL,GAAcA,MAAd;AACA,aAAKoC,YAAL,GAAoBA,YAApB;AACA,aAAKC,cAAL,GAAsBA,cAAtB;AACA,aAAKn3B,UAAL,GAAkB,EAAlB;AACA,aAAKC,WAAL,GAAmB,EAAnB;AACA,aAAKC,aAAL,GAAqB,EAArB;AACA,aAAKC,QAAL,GAAgB,KAAhB;AACA,aAAKi3B,eAAL,GAAuB,EAAvB;AACA,aAAKnD,MAAL,GAAc,CAAd;AACA,aAAKlqB,MAAL,GAAcA,MAAM,IAAIitB,cAAxB;AACA,aAAKx2B,SAAL,GAAiBq0B,SAAS,GAAGC,MAA7B;;AACA,aAAKuC,YAAL;AACH;;;;eACD,iBAAQ32B,EAAR,EAAY;AACR,eAAKT,WAAL,CAAiBU,IAAjB,CAAsBD,EAAtB;AACH;;;eACD,gBAAOA,EAAP,EAAW;AACP,eAAKV,UAAL,CAAgBW,IAAhB,CAAqBD,EAArB;AACH;;;eACD,mBAAUA,EAAV,EAAc;AACV,eAAKR,aAAL,CAAmBS,IAAnB,CAAwBD,EAAxB;AACH;;;eACD,mBAAU;AACN,eAAK2B,IAAL;AACA,cAAI,KAAK4xB,MAAL,IAAe;AAAE;AAArB,YACI;AACJ,eAAKA,MAAL,GAAc;AAAE;AAAhB;;AACA,eAAKqD,OAAL,CAAa70B,OAAb;;AACA,eAAK80B,cAAL;;AACA,eAAKC,aAAL;;AACA,cAAI,KAAKL,cAAT,EAAyB;AACrB,iBAAKA,cAAL,CAAoB10B,OAApB;AACH;;AACD,eAAKvC,aAAL,CAAmBO,OAAnB,CAA2B,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAA7B;;AACA,eAAKR,aAAL,GAAqB,EAArB;AACH;;;eACD,yBAAgB;AACZ,eAAKF,UAAL,CAAgBS,OAAhB,CAAwB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAA1B;;AACA,eAAKV,UAAL,GAAkB,EAAlB;AACH;;;eACD,0BAAiB;AACb,eAAKC,WAAL,CAAiBQ,OAAjB,CAAyB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAA3B;;AACA,eAAKT,WAAL,GAAmB,EAAnB;AACH;;;eACD,kBAAS;AACL,eAAKoC,IAAL;AACA,cAAI,KAAK4xB,MAAL,IAAe;AAAE;AAArB,YACI;AACJ,eAAKA,MAAL,GAAc;AAAE;AAAhB;;AACA,eAAKqD,OAAL,CAAat2B,MAAb;;AACA,eAAKu2B,cAAL;;AACA,cAAI,KAAKJ,cAAT,EAAyB;AACrB,iBAAKA,cAAL,CAAoBn2B,MAApB;AACH;;AACD,eAAKw2B,aAAL;AACH;;;eACD,qBAAYnxB,KAAZ,EAAmB;AACf,eAAKixB,OAAL,CAAax0B,WAAb,CAAyBuD,KAAzB;AACH;;;eACD,uBAAc;AACV,iBAAO,KAAKixB,OAAL,CAAap0B,WAAb,EAAP;AACH;;;eACD,sBAAa;AACT,iBAAO,KAAK+wB,MAAL,IAAe;AAAE;AAAxB;AACH;;;eACD,gBAAO;AACH,cAAI,KAAKA,MAAL,IAAe;AAAE;AAArB,YACI;AACJ,eAAKA,MAAL,GAAc;AAAE;AAAhB;AACA,cAAMvrB,GAAG,GAAG,KAAK1E,OAAjB;;AACA,eAAKszB,OAAL,CAAajvB,KAAb;;AACA,cAAI,KAAKysB,MAAT,EAAiB;AACb,iBAAKwC,OAAL,CAAa/0B,KAAb;AACH;AACJ;;;eACD,gBAAO;AACH,eAAKF,IAAL;;AACA,cAAI,CAAC,KAAKzB,UAAL,EAAL,EAAwB;AACpB,iBAAK22B,cAAL;;AACA,iBAAKtD,MAAL,GAAc;AAAE;AAAhB;;AACA,gBAAI,KAAKkD,cAAT,EAAyB;AACrB,mBAAKA,cAAL,CAAoBxX,KAApB;AACH;AACJ;;AACD,eAAK2X,OAAL,CAAaG,MAAb;AACH;;;eACD,iBAAQ;AACJ,eAAKp1B,IAAL;;AACA,eAAKi1B,OAAL,CAAa/0B,KAAb;AACH;;;eACD,mBAAU;AACN,eAAKG,KAAL;AACA,eAAKJ,IAAL;AACH;;;eACD,iBAAQ;AACJ,eAAKg1B,OAAL,CAAa70B,OAAb;;AACA,eAAK40B,YAAL;;AACA,eAAKC,OAAL,CAAajvB,KAAb;AACH;;;eACD,wBAAe;AAAA;;AACX,eAAKivB,OAAL,GAAe,IAAI3C,4BAAJ,CAAiC,KAAK3wB,OAAtC,EAA+C,KAAKgyB,aAApD,EAAmE,KAAKnB,SAAxE,EAAmF,KAAKC,MAAxF,EAAgG,KAAK/qB,MAArG,EAA6GgtB,iBAA7G,EAAgI;AAAA,mBAAM,OAAI,CAAC/1B,MAAL,EAAN;AAAA,WAAhI,CAAf;AACH;AACD;;;;eACA,yBAAgBE,SAAhB,EAA2B;AACvB,cAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAKjB,WAA5B,GAA0C,KAAKD,UAA/D;AACAmB,iBAAO,CAACV,OAAR,CAAgB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAAlB;AACAS,iBAAO,CAACC,MAAR,GAAiB,CAAjB;AACH;;;eACD,yBAAgB;AAAA;;AACZ,eAAKiB,IAAL;AACA,cAAM/D,MAAM,GAAG,EAAf;;AACA,cAAI,KAAKsC,UAAL,EAAJ,EAAuB;AACnB,gBAAM82B,QAAQ,GAAG,KAAKzD,MAAL,IAAe;AAAE;AAAlC;AACAvvB,kBAAM,CAACC,IAAP,CAAY,KAAKuyB,YAAjB,EAA+Bz2B,OAA/B,CAAuC,UAAAmE,IAAI,EAAI;AAC3C,kBAAIA,IAAI,IAAI,QAAZ,EAAsB;AAClBtG,sBAAM,CAACsG,IAAD,CAAN,GAAe8yB,QAAQ,GAAG,OAAI,CAACR,YAAL,CAAkBtyB,IAAlB,CAAH,GAA6B6K,YAAY,CAAC,OAAI,CAACzL,OAAN,EAAeY,IAAf,CAAhE;AACH;AACJ,aAJD;AAKH;;AACD,eAAKwyB,eAAL,GAAuB94B,MAAvB;AACH;;;;;AAGL;;;;;;;;;QAOMq5B,iB;;;;;;;AACF,iCAAY3zB,OAAZ,EAAqB1F,MAArB,EAA6B;AAAA;;AAAA;;AACzB;AACA,gBAAK0F,OAAL,GAAeA,OAAf;AACA,gBAAK4zB,eAAL,GAAuB,EAAvB;AACA,gBAAKC,aAAL,GAAqB,KAArB;AACA,gBAAKC,OAAL,GAAeruB,mBAAmB,CAACnL,MAAD,CAAlC;AALyB;AAM5B;;;;eACD,gBAAO;AAAA;;AACH,cAAI,KAAKu5B,aAAL,IAAsB,CAAC,KAAKD,eAAhC,EACI;AACJ,eAAKC,aAAL,GAAqB,IAArB;AACAnzB,gBAAM,CAACC,IAAP,CAAY,KAAKmzB,OAAjB,EAA0Br3B,OAA1B,CAAkC,UAAAmE,IAAI,EAAI;AACtC,mBAAI,CAACgzB,eAAL,CAAqBhzB,IAArB,IAA6B,OAAI,CAACZ,OAAL,CAAatF,KAAb,CAAmBkG,IAAnB,CAA7B;AACH,WAFD;;AAGA;AACH;;;eACD,gBAAO;AAAA;;AACH,cAAI,CAAC,KAAKgzB,eAAV,EACI;AACJ,eAAKv1B,IAAL;AACAqC,gBAAM,CAACC,IAAP,CAAY,KAAKmzB,OAAjB,EACKr3B,OADL,CACa,UAAAmE,IAAI;AAAA,mBAAI,OAAI,CAACZ,OAAL,CAAatF,KAAb,CAAmBq5B,WAAnB,CAA+BnzB,IAA/B,EAAqC,OAAI,CAACkzB,OAAL,CAAalzB,IAAb,CAArC,CAAJ;AAAA,WADjB;;AAEA;AACH;;;eACD,mBAAU;AAAA;;AACN,cAAI,CAAC,KAAKgzB,eAAV,EACI;AACJlzB,gBAAM,CAACC,IAAP,CAAY,KAAKizB,eAAjB,EAAkCn3B,OAAlC,CAA0C,UAAAmE,IAAI,EAAI;AAC9C,gBAAMyB,KAAK,GAAG,OAAI,CAACuxB,eAAL,CAAqBhzB,IAArB,CAAd;;AACA,gBAAIyB,KAAJ,EAAW;AACP,qBAAI,CAACrC,OAAL,CAAatF,KAAb,CAAmBq5B,WAAnB,CAA+BnzB,IAA/B,EAAqCyB,KAArC;AACH,aAFD,MAGK;AACD,qBAAI,CAACrC,OAAL,CAAatF,KAAb,CAAmBs5B,cAAnB,CAAkCpzB,IAAlC;AACH;AACJ,WARD;AASA,eAAKgzB,eAAL,GAAuB,IAAvB;;AACA;AACH;;;;MAvC2B,uE;;AA0ChC,QAAMK,qBAAqB,GAAG,aAA9B;AACA,QAAMC,SAAS,GAAG,GAAlB;;QACMC,kB;;;AACF,oCAAc;AAAA;;AACV,aAAKC,MAAL,GAAc,CAAd;AACA,aAAKC,KAAL,GAAa90B,QAAQ,CAACoF,aAAT,CAAuB,MAAvB,CAAb;AACH;;;;eACD,+BAAsB/D,IAAtB,EAA4B;AACxB,iBAAOmE,sBAAqB,CAACnE,IAAD,CAA5B;AACH;;;eACD,wBAAeZ,OAAf,EAAwB1E,QAAxB,EAAkC;AAC9B,iBAAOgK,eAAc,CAACtF,OAAD,EAAU1E,QAAV,CAArB;AACH;;;eACD,yBAAgB4H,IAAhB,EAAsBC,IAAtB,EAA4B;AACxB,iBAAOoC,gBAAe,CAACrC,IAAD,EAAOC,IAAP,CAAtB;AACH;;;eACD,eAAMnD,OAAN,EAAe1E,QAAf,EAAyBkI,KAAzB,EAAgC;AAC5B,iBAAOgC,WAAW,CAACxF,OAAD,EAAU1E,QAAV,EAAoBkI,KAApB,CAAlB;AACH;;;eACD,sBAAaxD,OAAb,EAAsBY,IAAtB,EAA4BwB,YAA5B,EAA0C;AACtC,iBAAO9C,MAAM,CAACqN,gBAAP,CAAwB3M,OAAxB,EAAiCY,IAAjC,CAAP;AACH;;;eACD,8BAAqBZ,OAArB,EAA8BhG,IAA9B,EAAoCc,SAApC,EAA+C;AAC3CA,mBAAS,GAAGA,SAAS,CAACoH,GAAV,CAAc,UAAA3B,EAAE;AAAA,mBAAIkF,mBAAmB,CAAClF,EAAD,CAAvB;AAAA,WAAhB,CAAZ;AACA,cAAI+zB,WAAW,wBAAiBt6B,IAAjB,SAAf;AACA,cAAIu6B,GAAG,GAAG,EAAV;AACAz5B,mBAAS,CAAC2B,OAAV,CAAkB,UAAA8D,EAAE,EAAI;AACpBg0B,eAAG,GAAGL,SAAN;AACA,gBAAMt5B,MAAM,GAAG6M,UAAU,CAAClH,EAAE,CAAC,QAAD,CAAH,CAAzB;AACA+zB,uBAAW,cAAOC,GAAP,SAAa35B,MAAM,GAAG,GAAtB,UAAX;AACA25B,eAAG,IAAIL,SAAP;AACAxzB,kBAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgB9D,OAAhB,CAAwB,UAAAmE,IAAI,EAAI;AAC5B,kBAAMyB,KAAK,GAAG9B,EAAE,CAACK,IAAD,CAAhB;;AACA,sBAAQA,IAAR;AACI,qBAAK,QAAL;AACI;;AACJ,qBAAK,QAAL;AACI,sBAAIyB,KAAJ,EAAW;AACPiyB,+BAAW,cAAOC,GAAP,wCAAwClyB,KAAxC,QAAX;AACH;;AACD;;AACJ;AACIiyB,6BAAW,cAAOC,GAAP,SAAa3zB,IAAb,eAAsByB,KAAtB,QAAX;AACA;AAVR;AAYH,aAdD;AAeAiyB,uBAAW,cAAOC,GAAP,QAAX;AACH,WArBD;AAsBAD,qBAAW,SAAX;AACA,cAAME,KAAK,GAAGj1B,QAAQ,CAACk1B,aAAT,CAAuB,OAAvB,CAAd;AACAD,eAAK,CAACE,WAAN,GAAoBJ,WAApB;AACA,iBAAOE,KAAP;AACH;;;eACD,iBAAQx0B,OAAR,EAAiBlF,SAAjB,EAA4BgB,QAA5B,EAAsCC,KAAtC,EAA6CgK,MAA7C,EAAoG;AAAA,cAA/CC,eAA+C,uEAA7B,EAA6B;AAAA,cAAzBC,uBAAyB;;AAChG,cAAI,CAAC,OAAOO,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDP,uBAAvD,EAAgF;AAC5E0uB,gCAAoB;AACvB;;AACD,cAAMC,0BAA0B,GAAG5uB,eAAe,CAACgP,MAAhB,CAAuB,UAAApX,MAAM;AAAA,mBAAIA,MAAM,YAAYq1B,kBAAtB;AAAA,WAA7B,CAAnC;AACA,cAAM5nB,cAAc,GAAG,EAAvB;;AACA,cAAIF,8BAA8B,CAACrP,QAAD,EAAWC,KAAX,CAAlC,EAAqD;AACjD64B,sCAA0B,CAACn4B,OAA3B,CAAmC,UAAAmB,MAAM,EAAI;AACzC,kBAAItD,MAAM,GAAGsD,MAAM,CAACw1B,eAApB;AACA1yB,oBAAM,CAACC,IAAP,CAAYrG,MAAZ,EAAoBmC,OAApB,CAA4B,UAAAmE,IAAI;AAAA,uBAAIyK,cAAc,CAACzK,IAAD,CAAd,GAAuBtG,MAAM,CAACsG,IAAD,CAAjC;AAAA,eAAhC;AACH,aAHD;AAIH;;AACD9F,mBAAS,GAAGsQ,kCAAkC,CAACpL,OAAD,EAAUlF,SAAV,EAAqBuQ,cAArB,CAA9C;AACA,cAAMoJ,WAAW,GAAGogB,0BAA0B,CAAC/5B,SAAD,CAA9C,CAbgG,CAchG;AACA;AACA;AACA;;AACA,cAAIgB,QAAQ,IAAI,CAAhB,EAAmB;AACf,mBAAO,IAAI63B,iBAAJ,CAAsB3zB,OAAtB,EAA+ByU,WAA/B,CAAP;AACH;;AACD,cAAMud,aAAa,aAAMiC,qBAAN,SAA8B,KAAKG,MAAL,EAA9B,CAAnB;AACA,cAAMI,KAAK,GAAG,KAAKM,oBAAL,CAA0B90B,OAA1B,EAAmCgyB,aAAnC,EAAkDl3B,SAAlD,CAAd;AACAyE,kBAAQ,CAACoF,aAAT,CAAuB,MAAvB,EAA+BowB,WAA/B,CAA2CP,KAA3C;AACA,cAAMQ,aAAa,GAAGvF,0BAA0B,CAACzvB,OAAD,EAAUlF,SAAV,CAAhD;AACA,cAAM8C,MAAM,GAAG,IAAIq1B,kBAAJ,CAAuBjzB,OAAvB,EAAgClF,SAAhC,EAA2Ck3B,aAA3C,EAA0Dl2B,QAA1D,EAAoEC,KAApE,EAA2EgK,MAA3E,EAAmF0O,WAAnF,EAAgGugB,aAAhG,CAAf;AACAp3B,gBAAM,CAACE,SAAP,CAAiB;AAAA,mBAAMm3B,aAAa,CAACT,KAAD,CAAnB;AAAA,WAAjB;AACA,iBAAO52B,MAAP;AACH;;;;;;AAEL,aAASi3B,0BAAT,CAAoC/5B,SAApC,EAA+C;AAC3C,UAAIo6B,aAAa,GAAG,EAApB;;AACA,UAAIp6B,SAAJ,EAAe;AACX,YAAMq6B,GAAG,GAAGxsB,KAAK,CAACC,OAAN,CAAc9N,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAnD;AACAq6B,WAAG,CAAC14B,OAAJ,CAAY,UAAA8D,EAAE,EAAI;AACdG,gBAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgB9D,OAAhB,CAAwB,UAAAmE,IAAI,EAAI;AAC5B,gBAAIA,IAAI,IAAI,QAAR,IAAoBA,IAAI,IAAI,QAAhC,EACI;AACJs0B,yBAAa,CAACt0B,IAAD,CAAb,GAAsBL,EAAE,CAACK,IAAD,CAAxB;AACH,WAJD;AAKH,SAND;AAOH;;AACD,aAAOs0B,aAAP;AACH;;AACD,aAASD,aAAT,CAAuBrpB,IAAvB,EAA6B;AACzBA,UAAI,CAACgZ,UAAL,CAAgBwQ,WAAhB,CAA4BxpB,IAA5B;AACH;;AACD,QAAIypB,aAAa,GAAG,KAApB;;AACA,aAASV,oBAAT,GAAgC;AAC5B,UAAIU,aAAJ,EACI;AACJC,aAAO,CAACC,IAAR,CAAa,mGAAb,EAAkH,wFAAlH;AACAF,mBAAa,GAAG,IAAhB;AACH;;QAEKG,mB;;;AACF,mCAAYx1B,OAAZ,EAAqBlF,SAArB,EAAgCX,OAAhC,EAAyCg5B,cAAzC,EAAyD;AAAA;;AACrD,aAAKnzB,OAAL,GAAeA,OAAf;AACA,aAAKlF,SAAL,GAAiBA,SAAjB;AACA,aAAKX,OAAL,GAAeA,OAAf;AACA,aAAKg5B,cAAL,GAAsBA,cAAtB;AACA,aAAKn3B,UAAL,GAAkB,EAAlB;AACA,aAAKC,WAAL,GAAmB,EAAnB;AACA,aAAKC,aAAL,GAAqB,EAArB;AACA,aAAKu5B,YAAL,GAAoB,KAApB;AACA,aAAKp5B,SAAL,GAAiB,KAAjB;AACA,aAAKF,QAAL,GAAgB,KAAhB;AACA,aAAKC,UAAL,GAAkB,KAAlB;AACA,aAAK8B,IAAL,GAAY,CAAZ;AACA,aAAK3B,YAAL,GAAoB,IAApB;AACA,aAAK62B,eAAL,GAAuB,EAAvB;AACA,aAAKvC,SAAL,GAAiB12B,OAAO,CAAC,UAAD,CAAxB;AACA,aAAK22B,MAAL,GAAc32B,OAAO,CAAC,OAAD,CAAP,IAAoB,CAAlC;AACA,aAAK+D,IAAL,GAAY,KAAK2yB,SAAL,GAAiB,KAAKC,MAAlC;AACH;;;;eACD,qBAAY;AACR,cAAI,CAAC,KAAKz0B,SAAV,EAAqB;AACjB,iBAAKA,SAAL,GAAiB,IAAjB;;AACA,iBAAKL,UAAL,CAAgBS,OAAhB,CAAwB,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA1B;;AACA,iBAAKV,UAAL,GAAkB,EAAlB;AACH;AACJ;;;eACD,gBAAO;AACH,eAAK+jB,YAAL;;AACA,eAAK2V,yBAAL;AACH;;;eACD,wBAAe;AAAA;;AACX,cAAI,KAAKD,YAAT,EACI;AACJ,eAAKA,YAAL,GAAoB,IAApB;AACA,cAAM36B,SAAS,GAAG,KAAKA,SAAvB;AACA,eAAK66B,SAAL,GACI,KAAKC,oBAAL,CAA0B,KAAK51B,OAA/B,EAAwClF,SAAxC,EAAmD,KAAKX,OAAxD,CADJ;AAEA,eAAK07B,cAAL,GAAsB/6B,SAAS,CAACsC,MAAV,GAAmBtC,SAAS,CAACA,SAAS,CAACsC,MAAV,GAAmB,CAApB,CAA5B,GAAqD,EAA3E;AACA,eAAKu4B,SAAL,CAAehD,gBAAf,CAAgC,QAAhC,EAA0C;AAAA,mBAAM,OAAI,CAAC51B,SAAL,EAAN;AAAA,WAA1C;AACH;;;eACD,qCAA4B;AACxB;AACA,cAAI,KAAK+zB,MAAT,EAAiB;AACb,iBAAKgF,oBAAL;AACH,WAFD,MAGK;AACD,iBAAKH,SAAL,CAAep3B,KAAf;AACH;AACJ;AACD;;;;eACA,8BAAqByB,OAArB,EAA8BlF,SAA9B,EAAyCX,OAAzC,EAAkD;AAC9C;AACA;AACA,iBAAO6F,OAAO,CAAC,SAAD,CAAP,CAAmBlF,SAAnB,EAA8BX,OAA9B,CAAP;AACH;;;eACD,iBAAQuC,EAAR,EAAY;AACR,eAAKT,WAAL,CAAiBU,IAAjB,CAAsBD,EAAtB;AACH;;;eACD,gBAAOA,EAAP,EAAW;AACP,eAAKV,UAAL,CAAgBW,IAAhB,CAAqBD,EAArB;AACH;;;eACD,mBAAUA,EAAV,EAAc;AACV,eAAKR,aAAL,CAAmBS,IAAnB,CAAwBD,EAAxB;AACH;;;eACD,gBAAO;AACH,eAAKqjB,YAAL;;AACA,cAAI,CAAC,KAAKnjB,UAAL,EAAL,EAAwB;AACpB,iBAAKX,WAAL,CAAiBQ,OAAjB,CAAyB,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA3B;;AACA,iBAAKT,WAAL,GAAmB,EAAnB;AACA,iBAAKE,QAAL,GAAgB,IAAhB;;AACA,gBAAI,KAAKg3B,cAAT,EAAyB;AACrB,mBAAKA,cAAL,CAAoBxX,KAApB;AACH;AACJ;;AACD,eAAKga,SAAL,CAAer3B,IAAf;AACH;;;eACD,iBAAQ;AACJ,eAAKD,IAAL;AACA,eAAKs3B,SAAL,CAAep3B,KAAf;AACH;;;eACD,kBAAS;AACL,eAAKF,IAAL;;AACA,cAAI,KAAK80B,cAAT,EAAyB;AACrB,iBAAKA,cAAL,CAAoBn2B,MAApB;AACH;;AACD,eAAKD,SAAL;;AACA,eAAK44B,SAAL,CAAe34B,MAAf;AACH;;;eACD,iBAAQ;AACJ,eAAK84B,oBAAL;;AACA,eAAK15B,UAAL,GAAkB,KAAlB;AACA,eAAKC,SAAL,GAAiB,KAAjB;AACA,eAAKF,QAAL,GAAgB,KAAhB;AACH;;;eACD,gCAAuB;AACnB,cAAI,KAAKw5B,SAAT,EAAoB;AAChB,iBAAKA,SAAL,CAAeI,MAAf;AACH;AACJ;;;eACD,mBAAU;AACN,eAAKr3B,KAAL;AACA,eAAKJ,IAAL;AACH;;;eACD,sBAAa;AACT,iBAAO,KAAKnC,QAAZ;AACH;;;eACD,mBAAU;AACN,cAAI,CAAC,KAAKC,UAAV,EAAsB;AAClB,iBAAKA,UAAL,GAAkB,IAAlB;;AACA,iBAAK05B,oBAAL;;AACA,iBAAK/4B,SAAL;;AACA,gBAAI,KAAKo2B,cAAT,EAAyB;AACrB,mBAAKA,cAAL,CAAoB10B,OAApB;AACH;;AACD,iBAAKvC,aAAL,CAAmBO,OAAnB,CAA2B,UAAAC,EAAE;AAAA,qBAAIA,EAAE,EAAN;AAAA,aAA7B;;AACA,iBAAKR,aAAL,GAAqB,EAArB;AACH;AACJ;;;eACD,qBAAYyC,CAAZ,EAAe;AACX,cAAI,KAAKg3B,SAAL,KAAmB5zB,SAAvB,EAAkC;AAC9B,iBAAK1D,IAAL;AACH;;AACD,eAAKs3B,SAAL,CAAe7mB,WAAf,GAA6BnQ,CAAC,GAAG,KAAKT,IAAtC;AACH;;;eACD,uBAAc;AACV,iBAAO,KAAKy3B,SAAL,CAAe7mB,WAAf,GAA6B,KAAK5Q,IAAzC;AACH;;;aACD,eAAgB;AACZ,iBAAO,KAAK4yB,MAAL,GAAc,KAAKD,SAA1B;AACH;;;eACD,yBAAgB;AAAA;;AACZ,cAAMv2B,MAAM,GAAG,EAAf;;AACA,cAAI,KAAKsC,UAAL,EAAJ,EAAuB;AACnB8D,kBAAM,CAACC,IAAP,CAAY,KAAKk1B,cAAjB,EAAiCp5B,OAAjC,CAAyC,UAAAmE,IAAI,EAAI;AAC7C,kBAAIA,IAAI,IAAI,QAAZ,EAAsB;AAClBtG,sBAAM,CAACsG,IAAD,CAAN,GACI,OAAI,CAACvE,SAAL,GAAiB,OAAI,CAACw5B,cAAL,CAAoBj1B,IAApB,CAAjB,GAA6C6K,YAAY,CAAC,OAAI,CAACzL,OAAN,EAAeY,IAAf,CAD7D;AAEH;AACJ,aALD;AAMH;;AACD,eAAKwyB,eAAL,GAAuB94B,MAAvB;AACH;AACD;;;;eACA,yBAAgB4C,SAAhB,EAA2B;AACvB,cAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAKjB,WAA5B,GAA0C,KAAKD,UAA/D;AACAmB,iBAAO,CAACV,OAAR,CAAgB,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAAlB;AACAS,iBAAO,CAACC,MAAR,GAAiB,CAAjB;AACH;;;;;;QAGC44B,mB;;;AACF,qCAAc;AAAA;;AACV,aAAKC,aAAL,GAAqB,8BAA8BC,IAA9B,CAAmCC,mBAAmB,GAAGz2B,QAAtB,EAAnC,CAArB;AACA,aAAK02B,mBAAL,GAA2B,IAAIjC,kBAAJ,EAA3B;AACH;;;;eACD,+BAAsBvzB,IAAtB,EAA4B;AACxB,iBAAOmE,sBAAqB,CAACnE,IAAD,CAA5B;AACH;;;eACD,wBAAeZ,OAAf,EAAwB1E,QAAxB,EAAkC;AAC9B,iBAAOgK,eAAc,CAACtF,OAAD,EAAU1E,QAAV,CAArB;AACH;;;eACD,yBAAgB4H,IAAhB,EAAsBC,IAAtB,EAA4B;AACxB,iBAAOoC,gBAAe,CAACrC,IAAD,EAAOC,IAAP,CAAtB;AACH;;;eACD,eAAMnD,OAAN,EAAe1E,QAAf,EAAyBkI,KAAzB,EAAgC;AAC5B,iBAAOgC,WAAW,CAACxF,OAAD,EAAU1E,QAAV,EAAoBkI,KAApB,CAAlB;AACH;;;eACD,sBAAaxD,OAAb,EAAsBY,IAAtB,EAA4BwB,YAA5B,EAA0C;AACtC,iBAAO9C,MAAM,CAACqN,gBAAP,CAAwB3M,OAAxB,EAAiCY,IAAjC,CAAP;AACH;;;eACD,sCAA6By1B,SAA7B,EAAwC;AACpC,eAAKJ,aAAL,GAAqBI,SAArB;AACH;;;eACD,iBAAQr2B,OAAR,EAAiBlF,SAAjB,EAA4BgB,QAA5B,EAAsCC,KAAtC,EAA6CgK,MAA7C,EAAoG;AAAA,cAA/CC,eAA+C,uEAA7B,EAA6B;AAAA,cAAzBC,uBAAyB;AAChG,cAAMqwB,YAAY,GAAG,CAACrwB,uBAAD,IAA4B,CAAC,KAAKgwB,aAAvD;;AACA,cAAIK,YAAJ,EAAkB;AACd,mBAAO,KAAKF,mBAAL,CAAyBh8B,OAAzB,CAAiC4F,OAAjC,EAA0ClF,SAA1C,EAAqDgB,QAArD,EAA+DC,KAA/D,EAAsEgK,MAAtE,EAA8EC,eAA9E,CAAP;AACH;;AACD,cAAMuwB,IAAI,GAAGx6B,KAAK,IAAI,CAAT,GAAa,MAAb,GAAsB,UAAnC;AACA,cAAMy6B,aAAa,GAAG;AAAE16B,oBAAQ,EAARA,QAAF;AAAYC,iBAAK,EAALA,KAAZ;AAAmBw6B,gBAAI,EAAJA;AAAnB,WAAtB,CANgG,CAOhG;AACA;;AACA,cAAIxwB,MAAJ,EAAY;AACRywB,yBAAa,CAAC,QAAD,CAAb,GAA0BzwB,MAA1B;AACH;;AACD,cAAMsF,cAAc,GAAG,EAAvB;AACA,cAAMorB,2BAA2B,GAAGzwB,eAAe,CAACgP,MAAhB,CAAuB,UAAApX,MAAM;AAAA,mBAAIA,MAAM,YAAY43B,mBAAtB;AAAA,WAA7B,CAApC;;AACA,cAAIrqB,8BAA8B,CAACrP,QAAD,EAAWC,KAAX,CAAlC,EAAqD;AACjD06B,uCAA2B,CAACh6B,OAA5B,CAAoC,UAAAmB,MAAM,EAAI;AAC1C,kBAAItD,MAAM,GAAGsD,MAAM,CAACw1B,eAApB;AACA1yB,oBAAM,CAACC,IAAP,CAAYrG,MAAZ,EAAoBmC,OAApB,CAA4B,UAAAmE,IAAI;AAAA,uBAAIyK,cAAc,CAACzK,IAAD,CAAd,GAAuBtG,MAAM,CAACsG,IAAD,CAAjC;AAAA,eAAhC;AACH,aAHD;AAIH;;AACD9F,mBAAS,GAAGA,SAAS,CAACoH,GAAV,CAAc,UAAA5H,MAAM;AAAA,mBAAIuO,UAAU,CAACvO,MAAD,EAAS,KAAT,CAAd;AAAA,WAApB,CAAZ;AACAQ,mBAAS,GAAGsQ,kCAAkC,CAACpL,OAAD,EAAUlF,SAAV,EAAqBuQ,cAArB,CAA9C;AACA,cAAM2pB,aAAa,GAAGvF,0BAA0B,CAACzvB,OAAD,EAAUlF,SAAV,CAAhD;AACA,iBAAO,IAAI06B,mBAAJ,CAAwBx1B,OAAxB,EAAiClF,SAAjC,EAA4C07B,aAA5C,EAA2DxB,aAA3D,CAAP;AACH;;;;;;AAEL,aAAS0B,qBAAT,GAAiC;AAC7B,aAAO,OAAOP,mBAAmB,EAA1B,KAAiC,UAAxC;AACH;;AACD,aAASA,mBAAT,GAA+B;AAC3B,aAAQ92B,SAAS,MAAMsE,OAAO,CAACE,SAAR,CAAkB,SAAlB,CAAhB,IAAiD,EAAxD;AACH;AAED;;;;;;;;AAQA;;;;;;;;AAQA;;;;;;;;AAQA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;AC1kJA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;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;;;;;;;;AAOA;;;AAIA,QAAM8yB,YAAY,GAAG,GAArB;AACA;;;;;AAIA,aAASC,mBAAT,CAA6BC,EAA7B,EAAiCC,IAAjC,EAAuCj0B,EAAvC,EAA2C;AACvC,UAAMk0B,GAAG,GAAGC,mBAAmB,CAACH,EAAD,EAAKC,IAAL,CAA/B;;AACA,UAAIC,GAAG,CAAC5jB,IAAJ,CAAS,UAAA8jB,UAAU;AAAA,eAAIA,UAAU,CAAC7a,IAAX,MAAqBvZ,EAAE,CAACuZ,IAAH,EAAzB;AAAA,OAAnB,CAAJ,EAA4D;AACxD;AACH;;AACD2a,SAAG,CAACp6B,IAAJ,CAASkG,EAAE,CAACuZ,IAAH,EAAT;AACAya,QAAE,CAACttB,YAAH,CAAgButB,IAAhB,EAAsBC,GAAG,CAAC51B,IAAJ,CAASw1B,YAAT,CAAtB;AACH;AACD;;;;;;AAIA,aAASO,sBAAT,CAAgCL,EAAhC,EAAoCC,IAApC,EAA0Cj0B,EAA1C,EAA8C;AAC1C,UAAMk0B,GAAG,GAAGC,mBAAmB,CAACH,EAAD,EAAKC,IAAL,CAA/B;AACA,UAAMK,WAAW,GAAGJ,GAAG,CAAC/hB,MAAJ,CAAW,UAAA4E,GAAG;AAAA,eAAIA,GAAG,IAAI/W,EAAE,CAACuZ,IAAH,EAAX;AAAA,OAAd,CAApB;;AACA,UAAI+a,WAAW,CAAC/5B,MAAhB,EAAwB;AACpBy5B,UAAE,CAACttB,YAAH,CAAgButB,IAAhB,EAAsBK,WAAW,CAACh2B,IAAZ,CAAiBw1B,YAAjB,CAAtB;AACH,OAFD,MAGK;AACDE,UAAE,CAACO,eAAH,CAAmBN,IAAnB;AACH;AACJ;AACD;;;;;;AAIA,aAASE,mBAAT,CAA6BH,EAA7B,EAAiCC,IAAjC,EAAuC;AACnC;AACA,aAAO,CAACD,EAAE,CAACQ,YAAH,CAAgBP,IAAhB,KAAyB,EAA1B,EAA8BvvB,KAA9B,CAAoC,MAApC,KAA+C,EAAtD;AACH;AAED;;;;;;;;AAOA;;;AACA,QAAM+vB,qBAAqB,GAAG,mCAA9B;AACA;;AACA,QAAMC,yBAAyB,GAAG,yBAAlC;AACA;;AACA,QAAMC,8BAA8B,GAAG,sBAAvC;AACA;;AACA,QAAIC,MAAM,GAAG,CAAb;AACA;;AACA,QAAMC,eAAe,GAAG,IAAIp1B,GAAJ,EAAxB;AACA;;AACA,QAAIq1B,iBAAiB,GAAG,IAAxB;AACA;;;;;;QAKMC,a;;;AACF,6BAAYC,SAAZ,EAAuB;AAAA;;AACnB,aAAKA,SAAL,GAAiBA,SAAjB;AACH;;;;eACD,kBAASnW,WAAT,EAAsBoW,OAAtB,EAA+BC,IAA/B,EAAqC;AACjC,cAAI,CAAC,KAAKC,eAAL,CAAqBtW,WAArB,EAAkCoW,OAAlC,CAAL,EAAiD;AAC7C;AACH;;AACD,cAAM31B,GAAG,GAAG81B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAAlB;;AACA,cAAI,OAAOD,OAAP,KAAmB,QAAvB,EAAiC;AAC7B;AACAI,wBAAY,CAACJ,OAAD,CAAZ;AACAJ,2BAAe,CAACl1B,GAAhB,CAAoBL,GAApB,EAAyB;AAAEg2B,4BAAc,EAAEL,OAAlB;AAA2BM,4BAAc,EAAE;AAA3C,aAAzB;AACH,WAJD,MAKK,IAAI,CAACV,eAAe,CAAC5pB,GAAhB,CAAoB3L,GAApB,CAAL,EAA+B;AAChC,iBAAKk2B,qBAAL,CAA2BP,OAA3B,EAAoCC,IAApC;AACH;;AACD,cAAI,CAAC,KAAKO,4BAAL,CAAkC5W,WAAlC,EAA+Cvf,GAA/C,CAAL,EAA0D;AACtD,iBAAKo2B,oBAAL,CAA0B7W,WAA1B,EAAuCvf,GAAvC;AACH;AACJ;;;eACD,2BAAkBuf,WAAlB,EAA+BoW,OAA/B,EAAwCC,IAAxC,EAA8C;AAC1C,cAAI,CAACD,OAAD,IAAY,CAAC,KAAKU,cAAL,CAAoB9W,WAApB,CAAjB,EAAmD;AAC/C;AACH;;AACD,cAAMvf,GAAG,GAAG81B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAAlB;;AACA,cAAI,KAAKO,4BAAL,CAAkC5W,WAAlC,EAA+Cvf,GAA/C,CAAJ,EAAyD;AACrD,iBAAKs2B,uBAAL,CAA6B/W,WAA7B,EAA0Cvf,GAA1C;AACH,WAPyC,CAQ1C;AACA;;;AACA,cAAI,OAAO21B,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,gBAAMY,iBAAiB,GAAGhB,eAAe,CAACn1B,GAAhB,CAAoBJ,GAApB,CAA1B;;AACA,gBAAIu2B,iBAAiB,IAAIA,iBAAiB,CAACN,cAAlB,KAAqC,CAA9D,EAAiE;AAC7D,mBAAKO,qBAAL,CAA2Bx2B,GAA3B;AACH;AACJ;;AACD,cAAIw1B,iBAAiB,IAAIA,iBAAiB,CAACiB,UAAlB,CAA6Bx7B,MAA7B,KAAwC,CAAjE,EAAoE;AAChE,iBAAKy7B,wBAAL;AACH;AACJ;AACD;;;;eACA,uBAAc;AACV,cAAMC,iBAAiB,GAAG,KAAKjB,SAAL,CAAerzB,gBAAf,YAAoCgzB,8BAApC,OAA1B;;AACA,eAAK,IAAI/yB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq0B,iBAAiB,CAAC17B,MAAtC,EAA8CqH,CAAC,EAA/C,EAAmD;AAC/C,iBAAKs0B,iCAAL,CAAuCD,iBAAiB,CAACr0B,CAAD,CAAxD;;AACAq0B,6BAAiB,CAACr0B,CAAD,CAAjB,CAAqB2yB,eAArB,CAAqCI,8BAArC;AACH;;AACD,cAAIG,iBAAJ,EAAuB;AACnB,iBAAKkB,wBAAL;AACH;;AACDnB,yBAAe,CAAC5jB,KAAhB;AACH;AACD;;;;;;;eAIA,+BAAsBgkB,OAAtB,EAA+BC,IAA/B,EAAqC;AACjC,cAAMI,cAAc,GAAG,KAAKN,SAAL,CAAepD,aAAf,CAA6B,KAA7B,CAAvB;;AACAyD,sBAAY,CAACC,cAAD,CAAZ;AACAA,wBAAc,CAACzD,WAAf,GAA6BoD,OAA7B;;AACA,cAAIC,IAAJ,EAAU;AACNI,0BAAc,CAAC5uB,YAAf,CAA4B,MAA5B,EAAoCwuB,IAApC;AACH;;AACD,eAAKiB,wBAAL;;AACArB,2BAAiB,CAAC5C,WAAlB,CAA8BoD,cAA9B;AACAT,yBAAe,CAACl1B,GAAhB,CAAoBy1B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAA1B,EAA2C;AAAEI,0BAAc,EAAdA,cAAF;AAAkBC,0BAAc,EAAE;AAAlC,WAA3C;AACH;AACD;;;;eACA,+BAAsBj2B,GAAtB,EAA2B;AACvB,cAAMu2B,iBAAiB,GAAGhB,eAAe,CAACn1B,GAAhB,CAAoBJ,GAApB,CAA1B;AACA,cAAMg2B,cAAc,GAAGO,iBAAiB,IAAIA,iBAAiB,CAACP,cAA9D;;AACA,cAAIR,iBAAiB,IAAIQ,cAAzB,EAAyC;AACrCR,6BAAiB,CAACvC,WAAlB,CAA8B+C,cAA9B;AACH;;AACDT,yBAAe,UAAf,CAAuBv1B,GAAvB;AACH;AACD;;;;eACA,oCAA2B;AACvB,cAAI,CAACw1B,iBAAL,EAAwB;AACpB,gBAAMsB,oBAAoB,GAAG,KAAKpB,SAAL,CAAeqB,cAAf,CAA8B5B,qBAA9B,CAA7B,CADoB,CAEpB;AACA;AACA;AACA;;;AACA,gBAAI2B,oBAAoB,IAAIA,oBAAoB,CAACrU,UAAjD,EAA6D;AACzDqU,kCAAoB,CAACrU,UAArB,CAAgCwQ,WAAhC,CAA4C6D,oBAA5C;AACH;;AACDtB,6BAAiB,GAAG,KAAKE,SAAL,CAAepD,aAAf,CAA6B,KAA7B,CAApB;AACAkD,6BAAiB,CAAC90B,EAAlB,GAAuBy0B,qBAAvB,CAVoB,CAWpB;AACA;AACA;AACA;;AACAK,6BAAiB,CAACj9B,KAAlB,CAAwBy+B,UAAxB,GAAqC,QAArC,CAfoB,CAgBpB;AACA;;AACAxB,6BAAiB,CAACxJ,SAAlB,CAA4Bte,GAA5B,CAAgC,qBAAhC;;AACA,iBAAKgoB,SAAL,CAAexyB,IAAf,CAAoB0vB,WAApB,CAAgC4C,iBAAhC;AACH;AACJ;AACD;;;;eACA,oCAA2B;AACvB,cAAIA,iBAAiB,IAAIA,iBAAiB,CAAC/S,UAA3C,EAAuD;AACnD+S,6BAAiB,CAAC/S,UAAlB,CAA6BwQ,WAA7B,CAAyCuC,iBAAzC;AACAA,6BAAiB,GAAG,IAApB;AACH;AACJ;AACD;;;;eACA,2CAAkC33B,OAAlC,EAA2C;AACvC;AACA,cAAMo5B,oBAAoB,GAAGpC,mBAAmB,CAACh3B,OAAD,EAAU,kBAAV,CAAnB,CACxBgV,MADwB,CACjB,UAAAnS,EAAE;AAAA,mBAAIA,EAAE,CAACD,OAAH,CAAW20B,yBAAX,KAAyC,CAA7C;AAAA,WADe,CAA7B;AAEAv3B,iBAAO,CAACuJ,YAAR,CAAqB,kBAArB,EAAyC6vB,oBAAoB,CAACj4B,IAArB,CAA0B,GAA1B,CAAzC;AACH;AACD;;;;;;;eAIA,8BAAqBnB,OAArB,EAA8BmC,GAA9B,EAAmC;AAC/B,cAAMu2B,iBAAiB,GAAGhB,eAAe,CAACn1B,GAAhB,CAAoBJ,GAApB,CAA1B,CAD+B,CAE/B;AACA;;AACAy0B,6BAAmB,CAAC52B,OAAD,EAAU,kBAAV,EAA8B04B,iBAAiB,CAACP,cAAlB,CAAiCt1B,EAA/D,CAAnB;AACA7C,iBAAO,CAACuJ,YAAR,CAAqBiuB,8BAArB,EAAqD,EAArD;AACAkB,2BAAiB,CAACN,cAAlB;AACH;AACD;;;;;;;eAIA,iCAAwBp4B,OAAxB,EAAiCmC,GAAjC,EAAsC;AAClC,cAAMu2B,iBAAiB,GAAGhB,eAAe,CAACn1B,GAAhB,CAAoBJ,GAApB,CAA1B;AACAu2B,2BAAiB,CAACN,cAAlB;AACAlB,gCAAsB,CAACl3B,OAAD,EAAU,kBAAV,EAA8B04B,iBAAiB,CAACP,cAAlB,CAAiCt1B,EAA/D,CAAtB;AACA7C,iBAAO,CAACo3B,eAAR,CAAwBI,8BAAxB;AACH;AACD;;;;eACA,sCAA6Bx3B,OAA7B,EAAsCmC,GAAtC,EAA2C;AACvC,cAAMk3B,YAAY,GAAGrC,mBAAmB,CAACh3B,OAAD,EAAU,kBAAV,CAAxC;AACA,cAAM04B,iBAAiB,GAAGhB,eAAe,CAACn1B,GAAhB,CAAoBJ,GAApB,CAA1B;AACA,cAAMm3B,SAAS,GAAGZ,iBAAiB,IAAIA,iBAAiB,CAACP,cAAlB,CAAiCt1B,EAAxE;AACA,iBAAO,CAAC,CAACy2B,SAAF,IAAeD,YAAY,CAACz2B,OAAb,CAAqB02B,SAArB,KAAmC,CAAC,CAA1D;AACH;AACD;;;;eACA,yBAAgBt5B,OAAhB,EAAyB83B,OAAzB,EAAkC;AAC9B,cAAI,CAAC,KAAKU,cAAL,CAAoBx4B,OAApB,CAAL,EAAmC;AAC/B,mBAAO,KAAP;AACH;;AACD,cAAI83B,OAAO,IAAI,OAAOA,OAAP,KAAmB,QAAlC,EAA4C;AACxC;AACA;AACA;AACA,mBAAO,IAAP;AACH;;AACD,cAAMyB,cAAc,GAAGzB,OAAO,IAAI,IAAX,GAAkB,EAAlB,GAAuB,UAAGA,OAAH,EAAa1b,IAAb,EAA9C;AACA,cAAMod,SAAS,GAAGx5B,OAAO,CAACq3B,YAAR,CAAqB,YAArB,CAAlB,CAX8B,CAY9B;AACA;;AACA,iBAAOkC,cAAc,GAAI,CAACC,SAAD,IAAcA,SAAS,CAACpd,IAAV,OAAqBmd,cAAvC,GAAyD,KAA9E;AACH;AACD;;;;eACA,wBAAev5B,OAAf,EAAwB;AACpB,iBAAOA,OAAO,CAACy5B,QAAR,KAAqB,KAAK5B,SAAL,CAAe6B,YAA3C;AACH;;;;;;AAEL9B,iBAAa,CAAC1xB,IAAd,GAAqB,SAASyzB,qBAAT,CAA+BvzB,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIwxB,aAAV,EAAyB,uDAAgB,wDAAhB,CAAzB,CAAP;AAA6D,KAAtH;;AACAA,iBAAa,CAACvxB,KAAd,GAAsB,yEAAmB;AAAEE,aAAO,EAAE,SAASozB,qBAAT,GAAiC;AAAE,eAAO,IAAI/B,aAAJ,CAAkB,+DAAS,wDAAT,CAAlB,CAAP;AAA+C,OAA7F;AAA+FtxB,WAAK,EAAEsxB,aAAtG;AAAqHgC,gBAAU,EAAE;AAAjI,KAAnB,CAAtB;;AACAhC,iBAAa,CAACiC,cAAd,GAA+B;AAAA,aAAM,CACjC;AAAE3/B,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OADiC,CAAN;AAAA,KAA/B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBoxB,aAAzB,EAAwC,CAAC;AACnG19B,YAAI,EAAE,wDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAF6F,OAAD,CAAxC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE,oDADwC;AAE9CimB,gBAAI,EAAE,CAAC,wDAAD;AAFwC,WAAD;AAA/B,SAAD,CAAP;AAGF,OAN8C,EAM5C,IAN4C,CAAnD;AAMe,KAN9B;AAOA;;;AACA,aAAS8X,MAAT,CAAgBH,OAAhB,EAAyBC,IAAzB,EAA+B;AAC3B,aAAO,OAAOD,OAAP,KAAmB,QAAnB,aAAiCC,IAAI,IAAI,EAAzC,cAA+CD,OAA/C,IAA2DA,OAAlE;AACH;AACD;;;AACA,aAASI,YAAT,CAAsBl4B,OAAtB,EAA+B;AAC3B,UAAI,CAACA,OAAO,CAAC6C,EAAb,EAAiB;AACb7C,eAAO,CAAC6C,EAAR,aAAgB00B,yBAAhB,cAA6CE,MAAM,EAAnD;AACH;AACJ;AAED;;;;;;;;AAOA;;;;;;QAIMsC,c;;;AACF,8BAAYC,MAAZ,EAAoB;AAAA;;AAAA;;AAChB,aAAKA,MAAL,GAAcA,MAAd;AACA,aAAKC,gBAAL,GAAwB,CAAC,CAAzB;AACA,aAAKC,WAAL,GAAmB,IAAnB;AACA,aAAKC,KAAL,GAAa,KAAb;AACA,aAAKC,gBAAL,GAAwB,IAAI,4CAAJ,EAAxB;AACA,aAAKC,sBAAL,GAA8B,kDAAaC,KAA3C;AACA,aAAKC,SAAL,GAAiB,IAAjB;AACA,aAAKC,oBAAL,GAA4B,EAA5B;AACA,aAAKC,WAAL,GAAmB,KAAnB;AACA;;;;;AAIA,aAAKC,gBAAL,GAAwB,UAACxxB,IAAD;AAAA,iBAAUA,IAAI,CAACxH,QAAf;AAAA,SAAxB,CAdgB,CAehB;;;AACA,aAAKi5B,eAAL,GAAuB,EAAvB;AACA;;;;;AAIA,aAAKC,MAAL,GAAc,IAAI,4CAAJ,EAAd;AACA;;AACA,aAAKC,MAAL,GAAc,IAAI,4CAAJ,EAAd,CAvBgB,CAwBhB;AACA;AACA;;AACA,YAAIb,MAAM,YAAY,uDAAtB,EAAiC;AAC7BA,gBAAM,CAACc,OAAP,CAAeC,SAAf,CAAyB,UAACC,QAAD,EAAc;AACnC,gBAAI,OAAI,CAACd,WAAT,EAAsB;AAClB,kBAAMe,SAAS,GAAGD,QAAQ,CAACE,OAAT,EAAlB;AACA,kBAAMC,QAAQ,GAAGF,SAAS,CAACr4B,OAAV,CAAkB,OAAI,CAACs3B,WAAvB,CAAjB;;AACA,kBAAIiB,QAAQ,GAAG,CAAC,CAAZ,IAAiBA,QAAQ,KAAK,OAAI,CAAClB,gBAAvC,EAAyD;AACrD,uBAAI,CAACA,gBAAL,GAAwBkB,QAAxB;AACH;AACJ;AACJ,WARD;AASH;AACJ;AACD;;;;;;;;;eAKA,uBAAcC,SAAd,EAAyB;AACrB,eAAKV,gBAAL,GAAwBU,SAAxB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;;eAKA,oBAA4B;AAAA,cAAnBC,UAAmB,uEAAN,IAAM;AACxB,eAAKlB,KAAL,GAAakB,UAAb;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,mCAAwC;AAAA,cAAhBC,OAAgB,uEAAN,IAAM;AACpC,eAAKf,SAAL,GAAiBe,OAAjB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;;eAKA,mCAA0BC,SAA1B,EAAqC;AACjC,eAAKC,WAAL,GAAmBD,SAAnB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,iCAAwB56B,IAAxB,EAA8B;AAC1B,eAAK65B,oBAAL,GAA4B75B,IAA5B;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,yBAAsC;AAAA;;AAAA,cAAxB86B,gBAAwB,uEAAL,GAAK;;AAClC,cAAI,CAAC,OAAOj1B,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAoD,KAAKwzB,MAAL,CAAY58B,MAAZ,IACpD,KAAK48B,MAAL,CAAY7mB,IAAZ,CAAiB,UAAAjK,IAAI;AAAA,mBAAI,OAAOA,IAAI,CAACwyB,QAAZ,KAAyB,UAA7B;AAAA,WAArB,CADJ,EACoE;AAChE,kBAAMx6B,KAAK,CAAC,8EAAD,CAAX;AACH;;AACD,eAAKm5B,sBAAL,CAA4BsB,WAA5B,GALkC,CAMlC;AACA;AACA;;;AACA,eAAKtB,sBAAL,GAA8B,KAAKD,gBAAL,CAAsBwB,IAAtB,CAA2B,2DAAI,UAAAC,MAAM;AAAA,mBAAI,OAAI,CAAClB,eAAL,CAAqBh+B,IAArB,CAA0Bk/B,MAA1B,CAAJ;AAAA,WAAV,CAA3B,EAA6E,oEAAaJ,gBAAb,CAA7E,EAA6G,8DAAO;AAAA,mBAAM,OAAI,CAACd,eAAL,CAAqBv9B,MAArB,GAA8B,CAApC;AAAA,WAAP,CAA7G,EAA4J,2DAAI;AAAA,mBAAM,OAAI,CAACu9B,eAAL,CAAqBx5B,IAArB,CAA0B,EAA1B,CAAN;AAAA,WAAJ,CAA5J,EAAsM45B,SAAtM,CAAgN,UAAAe,WAAW,EAAI;AACzP,gBAAMC,KAAK,GAAG,OAAI,CAACC,cAAL,EAAd,CADyP,CAEzP;AACA;;;AACA,iBAAK,IAAIv3B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs3B,KAAK,CAAC3+B,MAAN,GAAe,CAAnC,EAAsCqH,CAAC,EAAvC,EAA2C;AACvC,kBAAMwb,KAAK,GAAG,CAAC,OAAI,CAACga,gBAAL,GAAwBx1B,CAAzB,IAA8Bs3B,KAAK,CAAC3+B,MAAlD;AACA,kBAAM8L,IAAI,GAAG6yB,KAAK,CAAC9b,KAAD,CAAlB;;AACA,kBAAI,CAAC,OAAI,CAACya,gBAAL,CAAsBxxB,IAAtB,CAAD,IACAA,IAAI,CAACwyB,QAAL,GAAgBt2B,WAAhB,GAA8BgX,IAA9B,GAAqCxZ,OAArC,CAA6Ck5B,WAA7C,MAA8D,CADlE,EACqE;AACjE,uBAAI,CAACG,aAAL,CAAmBhc,KAAnB;;AACA;AACH;AACJ;;AACD,mBAAI,CAAC0a,eAAL,GAAuB,EAAvB;AACH,WAd6B,CAA9B;AAeA,iBAAO,IAAP;AACH;AACD;;;;;;;;eAKA,0BAA+B;AAAA,cAAhBW,OAAgB,uEAAN,IAAM;AAC3B,eAAKb,WAAL,GAAmBa,OAAnB;AACA,iBAAO,IAAP;AACH;;;eACD,uBAAcpyB,IAAd,EAAoB;AAChB,cAAMgzB,kBAAkB,GAAG,KAAKhC,WAAhC;AACA,eAAKiC,gBAAL,CAAsBjzB,IAAtB;;AACA,cAAI,KAAKgxB,WAAL,KAAqBgC,kBAAzB,EAA6C;AACzC,iBAAKrB,MAAL,CAAYhwB,IAAZ,CAAiB,KAAKovB,gBAAtB;AACH;AACJ;AACD;;;;;;;eAIA,mBAAU34B,KAAV,EAAiB;AAAA;;AACb,cAAM86B,OAAO,GAAG96B,KAAK,CAAC86B,OAAtB;AACA,cAAMC,SAAS,GAAG,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,EAAiC,UAAjC,CAAlB;AACA,cAAMC,iBAAiB,GAAGD,SAAS,CAACE,KAAV,CAAgB,UAAAC,QAAQ,EAAI;AAClD,mBAAO,CAACl7B,KAAK,CAACk7B,QAAD,CAAN,IAAoB,OAAI,CAAChC,oBAAL,CAA0B53B,OAA1B,CAAkC45B,QAAlC,IAA8C,CAAC,CAA1E;AACH,WAFyB,CAA1B;;AAGA,kBAAQJ,OAAR;AACI,iBAAK,yDAAL;AACI,mBAAKxB,MAAL,CAAY/vB,IAAZ;AACA;;AACJ,iBAAK,gEAAL;AACI,kBAAI,KAAK0vB,SAAL,IAAkB+B,iBAAtB,EAAyC;AACrC,qBAAKG,iBAAL;AACA;AACH,eAHD,MAIK;AACD;AACH;;AACL,iBAAK,8DAAL;AACI,kBAAI,KAAKlC,SAAL,IAAkB+B,iBAAtB,EAAyC;AACrC,qBAAKI,qBAAL;AACA;AACH,eAHD,MAIK;AACD;AACH;;AACL,iBAAK,iEAAL;AACI,kBAAI,KAAKlB,WAAL,IAAoBc,iBAAxB,EAA2C;AACvC,qBAAKd,WAAL,KAAqB,KAArB,GAA6B,KAAKkB,qBAAL,EAA7B,GAA4D,KAAKD,iBAAL,EAA5D;AACA;AACH,eAHD,MAIK;AACD;AACH;;AACL,iBAAK,gEAAL;AACI,kBAAI,KAAKjB,WAAL,IAAoBc,iBAAxB,EAA2C;AACvC,qBAAKd,WAAL,KAAqB,KAArB,GAA6B,KAAKiB,iBAAL,EAA7B,GAAwD,KAAKC,qBAAL,EAAxD;AACA;AACH,eAHD,MAIK;AACD;AACH;;AACL,iBAAK,0DAAL;AACI,kBAAI,KAAKjC,WAAL,IAAoB6B,iBAAxB,EAA2C;AACvC,qBAAKK,kBAAL;AACA;AACH,eAHD,MAIK;AACD;AACH;;AACL,iBAAK,yDAAL;AACI,kBAAI,KAAKlC,WAAL,IAAoB6B,iBAAxB,EAA2C;AACvC,qBAAKM,iBAAL;AACA;AACH,eAHD,MAIK;AACD;AACH;;AACL;AACI,kBAAIN,iBAAiB,IAAI,6EAAeh7B,KAAf,EAAsB,UAAtB,CAAzB,EAA4D;AACxD;AACA;AACA,oBAAIA,KAAK,CAACa,GAAN,IAAab,KAAK,CAACa,GAAN,CAAU/E,MAAV,KAAqB,CAAtC,EAAyC;AACrC,uBAAKg9B,gBAAL,CAAsBvvB,IAAtB,CAA2BvJ,KAAK,CAACa,GAAN,CAAU06B,iBAAV,EAA3B;AACH,iBAFD,MAGK,IAAKT,OAAO,IAAI,uDAAX,IAAgBA,OAAO,IAAI,uDAA5B,IAAmCA,OAAO,IAAI,0DAAX,IAAmBA,OAAO,IAAI,0DAArE,EAA4E;AAC7E,uBAAKhC,gBAAL,CAAsBvvB,IAAtB,CAA2BiyB,MAAM,CAACC,YAAP,CAAoBX,OAApB,CAA3B;AACH;AACJ,eAVL,CAWI;AACA;;;AACA;AAjER;;AAmEA,eAAKzB,eAAL,GAAuB,EAAvB;AACAr5B,eAAK,CAAC07B,cAAN;AACH;AACD;;;;aACA,eAAsB;AAClB,iBAAO,KAAK/C,gBAAZ;AACH;AACD;;;;aACA,eAAiB;AACb,iBAAO,KAAKC,WAAZ;AACH;AACD;;;;eACA,oBAAW;AACP,iBAAO,KAAKS,eAAL,CAAqBv9B,MAArB,GAA8B,CAArC;AACH;AACD;;;;eACA,8BAAqB;AACjB,eAAK6/B,qBAAL,CAA2B,CAA3B,EAA8B,CAA9B;AACH;AACD;;;;eACA,6BAAoB;AAChB,eAAKA,qBAAL,CAA2B,KAAKjD,MAAL,CAAY58B,MAAZ,GAAqB,CAAhD,EAAmD,CAAC,CAApD;AACH;AACD;;;;eACA,6BAAoB;AAChB,eAAK68B,gBAAL,GAAwB,CAAxB,GAA4B,KAAK0C,kBAAL,EAA5B,GAAwD,KAAKO,qBAAL,CAA2B,CAA3B,CAAxD;AACH;AACD;;;;eACA,iCAAwB;AACpB,eAAKjD,gBAAL,GAAwB,CAAxB,IAA6B,KAAKE,KAAlC,GAA0C,KAAKyC,iBAAL,EAA1C,GACM,KAAKM,qBAAL,CAA2B,CAAC,CAA5B,CADN;AAEH;;;eACD,0BAAiBh0B,IAAjB,EAAuB;AACnB,cAAM+xB,SAAS,GAAG,KAAKe,cAAL,EAAlB;;AACA,cAAM/b,KAAK,GAAG,OAAO/W,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkC+xB,SAAS,CAACr4B,OAAV,CAAkBsG,IAAlB,CAAhD;AACA,cAAMi0B,UAAU,GAAGlC,SAAS,CAAChb,KAAD,CAA5B,CAHmB,CAInB;;AACA,eAAKia,WAAL,GAAmBiD,UAAU,IAAI,IAAd,GAAqB,IAArB,GAA4BA,UAA/C;AACA,eAAKlD,gBAAL,GAAwBha,KAAxB;AACH;AACD;;;;;;;;eAKA,+BAAsBmd,KAAtB,EAA6B;AACzB,eAAKjD,KAAL,GAAa,KAAKkD,oBAAL,CAA0BD,KAA1B,CAAb,GAAgD,KAAKE,uBAAL,CAA6BF,KAA7B,CAAhD;AACH;AACD;;;;;;;;eAKA,8BAAqBA,KAArB,EAA4B;AACxB,cAAMrB,KAAK,GAAG,KAAKC,cAAL,EAAd;;AACA,eAAK,IAAIv3B,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIs3B,KAAK,CAAC3+B,MAA3B,EAAmCqH,CAAC,EAApC,EAAwC;AACpC,gBAAMwb,KAAK,GAAG,CAAC,KAAKga,gBAAL,GAAyBmD,KAAK,GAAG34B,CAAjC,GAAsCs3B,KAAK,CAAC3+B,MAA7C,IAAuD2+B,KAAK,CAAC3+B,MAA3E;AACA,gBAAM8L,IAAI,GAAG6yB,KAAK,CAAC9b,KAAD,CAAlB;;AACA,gBAAI,CAAC,KAAKya,gBAAL,CAAsBxxB,IAAtB,CAAL,EAAkC;AAC9B,mBAAK+yB,aAAL,CAAmBhc,KAAnB;AACA;AACH;AACJ;AACJ;AACD;;;;;;;;eAKA,iCAAwBmd,KAAxB,EAA+B;AAC3B,eAAKH,qBAAL,CAA2B,KAAKhD,gBAAL,GAAwBmD,KAAnD,EAA0DA,KAA1D;AACH;AACD;;;;;;;;eAKA,+BAAsBnd,KAAtB,EAA6Bsd,aAA7B,EAA4C;AACxC,cAAMxB,KAAK,GAAG,KAAKC,cAAL,EAAd;;AACA,cAAI,CAACD,KAAK,CAAC9b,KAAD,CAAV,EAAmB;AACf;AACH;;AACD,iBAAO,KAAKya,gBAAL,CAAsBqB,KAAK,CAAC9b,KAAD,CAA3B,CAAP,EAA4C;AACxCA,iBAAK,IAAIsd,aAAT;;AACA,gBAAI,CAACxB,KAAK,CAAC9b,KAAD,CAAV,EAAmB;AACf;AACH;AACJ;;AACD,eAAKgc,aAAL,CAAmBhc,KAAnB;AACH;AACD;;;;eACA,0BAAiB;AACb,iBAAO,KAAK+Z,MAAL,YAAuB,uDAAvB,GAAmC,KAAKA,MAAL,CAAYkB,OAAZ,EAAnC,GAA2D,KAAKlB,MAAvE;AACH;;;;;AAGL;;;;;;;;;QAOMwD,0B;;;;;;;;;;;;;;;eACF,uBAAcvd,KAAd,EAAqB;AACjB,cAAI,KAAKkd,UAAT,EAAqB;AACjB,iBAAKA,UAAL,CAAgBM,iBAAhB;AACH;;AACD,wGAAoBxd,KAApB;;AACA,cAAI,KAAKkd,UAAT,EAAqB;AACjB,iBAAKA,UAAL,CAAgBO,eAAhB;AACH;AACJ;;;;MAToC3D,c;AAYzC;;;;;;;;;QAOM4D,e;;;;;;;AACF,iCAAc;AAAA;;AAAA;;AACV,sCAASC,SAAT;AACA,gBAAKC,OAAL,GAAe,SAAf;AAFU;AAGb;AACD;;;;;;;;eAIA,wBAAeC,MAAf,EAAuB;AACnB,eAAKD,OAAL,GAAeC,MAAf;AACA,iBAAO,IAAP;AACH;;;eACD,uBAAc50B,IAAd,EAAoB;AAChB,6FAAoBA,IAApB;;AACA,cAAI,KAAKi0B,UAAT,EAAqB;AACjB,iBAAKA,UAAL,CAAgBY,KAAhB,CAAsB,KAAKF,OAA3B;AACH;AACJ;;;;MAlByB9D,c;AAqB9B;;;;;;;;AAOA;;;;;QAGMiE,iB,GACF,6BAAc;AAAA;;AACV;;;AAGA,WAAKC,gBAAL,GAAwB,KAAxB;AACH,K,EAEL;AACA;AACA;;AACA;;;;;;QAIMC,oB;;;AACF,oCAAYC,SAAZ,EAAuB;AAAA;;AACnB,aAAKA,SAAL,GAAiBA,SAAjB;AACH;AACD;;;;;;;;;;eAMA,oBAAWn+B,OAAX,EAAoB;AAChB;AACA;AACA,iBAAOA,OAAO,CAACo+B,YAAR,CAAqB,UAArB,CAAP;AACH;AACD;;;;;;;;;;;eAQA,mBAAUp+B,OAAV,EAAmB;AACf,iBAAOq+B,WAAW,CAACr+B,OAAD,CAAX,IAAwB2M,gBAAgB,CAAC3M,OAAD,CAAhB,CAA0Bm5B,UAA1B,KAAyC,SAAxE;AACH;AACD;;;;;;;;;;eAOA,oBAAWn5B,OAAX,EAAoB;AAChB;AACA,cAAI,CAAC,KAAKm+B,SAAL,CAAe9+B,SAApB,EAA+B;AAC3B,mBAAO,KAAP;AACH;;AACD,cAAMi/B,YAAY,GAAGC,eAAe,CAACC,SAAS,CAACx+B,OAAD,CAAV,CAApC;;AACA,cAAIs+B,YAAJ,EAAkB;AACd;AACA,gBAAIG,gBAAgB,CAACH,YAAD,CAAhB,KAAmC,CAAC,CAAxC,EAA2C;AACvC,qBAAO,KAAP;AACH,aAJa,CAKd;;;AACA,gBAAI,CAAC,KAAKI,SAAL,CAAeJ,YAAf,CAAL,EAAmC;AAC/B,qBAAO,KAAP;AACH;AACJ;;AACD,cAAIK,QAAQ,GAAG3+B,OAAO,CAAC2+B,QAAR,CAAiBzzB,WAAjB,EAAf;AACA,cAAI0zB,aAAa,GAAGH,gBAAgB,CAACz+B,OAAD,CAApC;;AACA,cAAIA,OAAO,CAACo+B,YAAR,CAAqB,iBAArB,CAAJ,EAA6C;AACzC,mBAAOQ,aAAa,KAAK,CAAC,CAA1B;AACH;;AACD,cAAID,QAAQ,KAAK,QAAb,IAAyBA,QAAQ,KAAK,QAA1C,EAAoD;AAChD;AACA;AACA;AACA,mBAAO,KAAP;AACH,WA1Be,CA2BhB;;;AACA,cAAI,KAAKR,SAAL,CAAeU,MAAf,IAAyB,KAAKV,SAAL,CAAeW,GAAxC,IAA+C,CAACC,wBAAwB,CAAC/+B,OAAD,CAA5E,EAAuF;AACnF,mBAAO,KAAP;AACH;;AACD,cAAI2+B,QAAQ,KAAK,OAAjB,EAA0B;AACtB;AACA;AACA,gBAAI,CAAC3+B,OAAO,CAACo+B,YAAR,CAAqB,UAArB,CAAL,EAAuC;AACnC,qBAAO,KAAP;AACH,aALqB,CAMtB;AACA;;;AACA,mBAAOQ,aAAa,KAAK,CAAC,CAA1B;AACH;;AACD,cAAID,QAAQ,KAAK,OAAjB,EAA0B;AACtB;AACA;AACA;AACA;AACA,gBAAIC,aAAa,KAAK,CAAC,CAAvB,EAA0B;AACtB,qBAAO,KAAP;AACH,aAPqB,CAQtB;AACA;;;AACA,gBAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxB,qBAAO,IAAP;AACH,aAZqB,CAatB;AACA;AACA;;;AACA,mBAAO,KAAKT,SAAL,CAAea,OAAf,IAA0Bh/B,OAAO,CAACo+B,YAAR,CAAqB,UAArB,CAAjC;AACH;;AACD,iBAAOp+B,OAAO,CAACi/B,QAAR,IAAoB,CAA3B;AACH;AACD;;;;;;;;;;eAOA,qBAAYj/B,OAAZ,EAAqBk/B,MAArB,EAA6B;AACzB;AACA;AACA,iBAAOC,sBAAsB,CAACn/B,OAAD,CAAtB,IAAmC,CAAC,KAAKo/B,UAAL,CAAgBp/B,OAAhB,CAApC,KACF,CAACk/B,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACjB,gBAAxD,KAA6E,KAAKS,SAAL,CAAe1+B,OAAf,CAD3E,CAAP;AAEH;;;;;;AAELk+B,wBAAoB,CAACh4B,IAArB,GAA4B,SAASm5B,4BAAT,CAAsCj5B,CAAtC,EAAyC;AAAE,aAAO,KAAKA,CAAC,IAAI83B,oBAAV,EAAgC,uDAAgB,8DAAhB,CAAhC,CAAP;AAA2E,KAAlJ;;AACAA,wBAAoB,CAAC73B,KAArB,GAA6B,yEAAmB;AAAEE,aAAO,EAAE,SAAS84B,4BAAT,GAAwC;AAAE,eAAO,IAAInB,oBAAJ,CAAyB,+DAAS,8DAAT,CAAzB,CAAP;AAAsD,OAA3G;AAA6G53B,WAAK,EAAE43B,oBAApH;AAA0ItE,gBAAU,EAAE;AAAtJ,KAAnB,CAA7B;;AACAsE,wBAAoB,CAACrE,cAArB,GAAsC;AAAA,aAAM,CACxC;AAAE3/B,YAAI,EAAE;AAAR,OADwC,CAAN;AAAA,KAAtC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB03B,oBAAzB,EAA+C,CAAC;AAC1GhkC,YAAI,EAAE,wDADoG;AAE1GimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFoG,OAAD,CAA/C,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE;AAAR,SAAD,CAAP;AAAqC,OAHO,EAGL,IAHK,CAAnD;AAGsD,KAHrE;AAIA;;;;;;;AAKA,aAASqkC,eAAT,CAAyBj/B,MAAzB,EAAiC;AAC7B,UAAI;AACA,eAAOA,MAAM,CAACg/B,YAAd;AACH,OAFD,CAGA,OAAOgB,EAAP,EAAW;AACP,eAAO,IAAP;AACH;AACJ;AACD;;;AACA,aAASjB,WAAT,CAAqBr+B,OAArB,EAA8B;AAC1B;AACA;AACA,aAAO,CAAC,EAAEA,OAAO,CAACu/B,WAAR,IAAuBv/B,OAAO,CAACw/B,YAA/B,IACL,OAAOx/B,OAAO,CAACy/B,cAAf,KAAkC,UAAlC,IAAgDz/B,OAAO,CAACy/B,cAAR,GAAyBriC,MADtE,CAAR;AAEH;AACD;;;AACA,aAASsiC,mBAAT,CAA6B1/B,OAA7B,EAAsC;AAClC,UAAI2+B,QAAQ,GAAG3+B,OAAO,CAAC2+B,QAAR,CAAiBzzB,WAAjB,EAAf;AACA,aAAOyzB,QAAQ,KAAK,OAAb,IACHA,QAAQ,KAAK,QADV,IAEHA,QAAQ,KAAK,QAFV,IAGHA,QAAQ,KAAK,UAHjB;AAIH;AACD;;;AACA,aAASgB,aAAT,CAAuB3/B,OAAvB,EAAgC;AAC5B,aAAO4/B,cAAc,CAAC5/B,OAAD,CAAd,IAA2BA,OAAO,CAAC9F,IAAR,IAAgB,QAAlD;AACH;AACD;;;AACA,aAAS2lC,gBAAT,CAA0B7/B,OAA1B,EAAmC;AAC/B,aAAO8/B,eAAe,CAAC9/B,OAAD,CAAf,IAA4BA,OAAO,CAACo+B,YAAR,CAAqB,MAArB,CAAnC;AACH;AACD;;;AACA,aAASwB,cAAT,CAAwB5/B,OAAxB,EAAiC;AAC7B,aAAOA,OAAO,CAAC2+B,QAAR,CAAiBzzB,WAAjB,MAAkC,OAAzC;AACH;AACD;;;AACA,aAAS40B,eAAT,CAAyB9/B,OAAzB,EAAkC;AAC9B,aAAOA,OAAO,CAAC2+B,QAAR,CAAiBzzB,WAAjB,MAAkC,GAAzC;AACH;AACD;;;AACA,aAAS60B,gBAAT,CAA0B//B,OAA1B,EAAmC;AAC/B,UAAI,CAACA,OAAO,CAACo+B,YAAR,CAAqB,UAArB,CAAD,IAAqCp+B,OAAO,CAACi/B,QAAR,KAAqBl9B,SAA9D,EAAyE;AACrE,eAAO,KAAP;AACH;;AACD,UAAIk9B,QAAQ,GAAGj/B,OAAO,CAACq3B,YAAR,CAAqB,UAArB,CAAf,CAJ+B,CAK/B;;AACA,UAAI4H,QAAQ,IAAI,QAAhB,EAA0B;AACtB,eAAO,KAAP;AACH;;AACD,aAAO,CAAC,EAAEA,QAAQ,IAAI,CAACe,KAAK,CAACC,QAAQ,CAAChB,QAAD,EAAW,EAAX,CAAT,CAApB,CAAR;AACH;AACD;;;;;;AAIA,aAASR,gBAAT,CAA0Bz+B,OAA1B,EAAmC;AAC/B,UAAI,CAAC+/B,gBAAgB,CAAC//B,OAAD,CAArB,EAAgC;AAC5B,eAAO,IAAP;AACH,OAH8B,CAI/B;;;AACA,UAAMi/B,QAAQ,GAAGgB,QAAQ,CAACjgC,OAAO,CAACq3B,YAAR,CAAqB,UAArB,KAAoC,EAArC,EAAyC,EAAzC,CAAzB;AACA,aAAO2I,KAAK,CAACf,QAAD,CAAL,GAAkB,CAAC,CAAnB,GAAuBA,QAA9B;AACH;AACD;;;AACA,aAASF,wBAAT,CAAkC/+B,OAAlC,EAA2C;AACvC,UAAI2+B,QAAQ,GAAG3+B,OAAO,CAAC2+B,QAAR,CAAiBzzB,WAAjB,EAAf;AACA,UAAIg1B,SAAS,GAAGvB,QAAQ,KAAK,OAAb,IAAwB3+B,OAAO,CAAC9F,IAAhD;AACA,aAAOgmC,SAAS,KAAK,MAAd,IACAA,SAAS,KAAK,UADd,IAEAvB,QAAQ,KAAK,QAFb,IAGAA,QAAQ,KAAK,UAHpB;AAIH;AACD;;;;;;AAIA,aAASQ,sBAAT,CAAgCn/B,OAAhC,EAAyC;AACrC;AACA,UAAI2/B,aAAa,CAAC3/B,OAAD,CAAjB,EAA4B;AACxB,eAAO,KAAP;AACH;;AACD,aAAO0/B,mBAAmB,CAAC1/B,OAAD,CAAnB,IACH6/B,gBAAgB,CAAC7/B,OAAD,CADb,IAEHA,OAAO,CAACo+B,YAAR,CAAqB,iBAArB,CAFG,IAGH2B,gBAAgB,CAAC//B,OAAD,CAHpB;AAIH;AACD;;;AACA,aAASw+B,SAAT,CAAmB5yB,IAAnB,EAAyB;AACrB;AACA,aAAOA,IAAI,CAACu0B,aAAL,IAAsBv0B,IAAI,CAACu0B,aAAL,CAAmBC,WAAzC,IAAwD9gC,MAA/D;AACH;AAED;;;;;;;;AAOA;;;;;;;;;;;;QAUM+gC,S;;;AACF,yBAAYvQ,QAAZ,EAAsBwQ,QAAtB,EAAgCC,OAAhC,EAAyC1I,SAAzC,EAA0E;AAAA;;AAAA,YAAtB2I,YAAsB,uEAAP,KAAO;;AAAA;;AACtE,aAAK1Q,QAAL,GAAgBA,QAAhB;AACA,aAAKwQ,QAAL,GAAgBA,QAAhB;AACA,aAAKC,OAAL,GAAeA,OAAf;AACA,aAAK1I,SAAL,GAAiBA,SAAjB;AACA,aAAK4I,YAAL,GAAoB,KAApB,CALsE,CAMtE;;AACA,aAAKC,mBAAL,GAA2B;AAAA,iBAAM,OAAI,CAACC,wBAAL,EAAN;AAAA,SAA3B;;AACA,aAAKC,iBAAL,GAAyB;AAAA,iBAAM,OAAI,CAACC,yBAAL,EAAN;AAAA,SAAzB;;AACA,aAAKC,QAAL,GAAgB,IAAhB;;AACA,YAAI,CAACN,YAAL,EAAmB;AACf,eAAKO,aAAL;AACH;AACJ;AACD;;;;;aACA,eAAc;AAAE,iBAAO,KAAKD,QAAZ;AAAuB,S;aACvC,aAAYz+B,KAAZ,EAAmB;AACf,eAAKy+B,QAAL,GAAgBz+B,KAAhB;;AACA,cAAI,KAAK2+B,YAAL,IAAqB,KAAKC,UAA9B,EAA0C;AACtC,iBAAKC,qBAAL,CAA2B7+B,KAA3B,EAAkC,KAAK2+B,YAAvC;;AACA,iBAAKE,qBAAL,CAA2B7+B,KAA3B,EAAkC,KAAK4+B,UAAvC;AACH;AACJ;AACD;;;;eACA,mBAAU;AACN,cAAME,WAAW,GAAG,KAAKH,YAAzB;AACA,cAAMI,SAAS,GAAG,KAAKH,UAAvB;;AACA,cAAIE,WAAJ,EAAiB;AACbA,uBAAW,CAACzO,mBAAZ,CAAgC,OAAhC,EAAyC,KAAKgO,mBAA9C;;AACA,gBAAIS,WAAW,CAACvc,UAAhB,EAA4B;AACxBuc,yBAAW,CAACvc,UAAZ,CAAuBwQ,WAAvB,CAAmC+L,WAAnC;AACH;AACJ;;AACD,cAAIC,SAAJ,EAAe;AACXA,qBAAS,CAAC1O,mBAAV,CAA8B,OAA9B,EAAuC,KAAKkO,iBAA5C;;AACA,gBAAIQ,SAAS,CAACxc,UAAd,EAA0B;AACtBwc,uBAAS,CAACxc,UAAV,CAAqBwQ,WAArB,CAAiCgM,SAAjC;AACH;AACJ;;AACD,eAAKJ,YAAL,GAAoB,KAAKC,UAAL,GAAkB,IAAtC;AACA,eAAKR,YAAL,GAAoB,KAApB;AACH;AACD;;;;;;;;;eAMA,yBAAgB;AAAA;;AACZ;AACA,cAAI,KAAKA,YAAT,EAAuB;AACnB,mBAAO,IAAP;AACH;;AACD,eAAKF,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC,gBAAI,CAAC,OAAI,CAACL,YAAV,EAAwB;AACpB,qBAAI,CAACA,YAAL,GAAoB,OAAI,CAACM,aAAL,EAApB;;AACA,qBAAI,CAACN,YAAL,CAAkBrO,gBAAlB,CAAmC,OAAnC,EAA4C,OAAI,CAAC+N,mBAAjD;AACH;;AACD,gBAAI,CAAC,OAAI,CAACO,UAAV,EAAsB;AAClB,qBAAI,CAACA,UAAL,GAAkB,OAAI,CAACK,aAAL,EAAlB;;AACA,qBAAI,CAACL,UAAL,CAAgBtO,gBAAhB,CAAiC,OAAjC,EAA0C,OAAI,CAACiO,iBAA/C;AACH;AACJ,WATD;;AAUA,cAAI,KAAK9Q,QAAL,CAAclL,UAAlB,EAA8B;AAC1B,iBAAKkL,QAAL,CAAclL,UAAd,CAAyBkC,YAAzB,CAAsC,KAAKka,YAA3C,EAAyD,KAAKlR,QAA9D;;AACA,iBAAKA,QAAL,CAAclL,UAAd,CAAyBkC,YAAzB,CAAsC,KAAKma,UAA3C,EAAuD,KAAKnR,QAAL,CAAcyR,WAArE;;AACA,iBAAKd,YAAL,GAAoB,IAApB;AACH;;AACD,iBAAO,KAAKA,YAAZ;AACH;AACD;;;;;;;;;eAMA,wCAA+B;AAAA;;AAC3B,iBAAO,IAAI/kC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC1B,mBAAI,CAAC6lC,gBAAL,CAAsB;AAAA,qBAAM7lC,OAAO,CAAC,OAAI,CAAC8lC,mBAAL,EAAD,CAAb;AAAA,aAAtB;AACH,WAFM,CAAP;AAGH;AACD;;;;;;;;;eAMA,8CAAqC;AAAA;;AACjC,iBAAO,IAAI/lC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC1B,mBAAI,CAAC6lC,gBAAL,CAAsB;AAAA,qBAAM7lC,OAAO,CAAC,OAAI,CAACklC,yBAAL,EAAD,CAAb;AAAA,aAAtB;AACH,WAFM,CAAP;AAGH;AACD;;;;;;;;;eAMA,6CAAoC;AAAA;;AAChC,iBAAO,IAAInlC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC1B,mBAAI,CAAC6lC,gBAAL,CAAsB;AAAA,qBAAM7lC,OAAO,CAAC,OAAI,CAACglC,wBAAL,EAAD,CAAb;AAAA,aAAtB;AACH,WAFM,CAAP;AAGH;AACD;;;;;;;;eAKA,4BAAmBe,KAAnB,EAA0B;AACtB;AACA,cAAIC,OAAO,GAAG,KAAK7R,QAAL,CAActrB,gBAAd,CAA+B,4BAAqBk9B,KAArB,oCACvBA,KADuB,gCAE3BA,KAF2B,MAA/B,CAAd;;AAGA,eAAK,IAAIj9B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk9B,OAAO,CAACvkC,MAA5B,EAAoCqH,CAAC,EAArC,EAAyC;AACrC;AACA,gBAAIk9B,OAAO,CAACl9B,CAAD,CAAP,CAAW25B,YAAX,qBAAqCsD,KAArC,EAAJ,EAAmD;AAC/CpM,qBAAO,CAACC,IAAR,CAAa,uDAAgDmM,KAAhD,wCACaA,KADb,uEAAb,EAE2CC,OAAO,CAACl9B,CAAD,CAFlD;AAGH,aAJD,MAKK,IAAIk9B,OAAO,CAACl9B,CAAD,CAAP,CAAW25B,YAAX,4BAA4CsD,KAA5C,EAAJ,EAA0D;AAC3DpM,qBAAO,CAACC,IAAR,CAAa,8DAAuDmM,KAAvD,wCACaA,KADb,uEAAb,EAEiCC,OAAO,CAACl9B,CAAD,CAFxC;AAGH;AACJ;;AACD,cAAIi9B,KAAK,IAAI,OAAb,EAAsB;AAClB,mBAAOC,OAAO,CAACvkC,MAAR,GAAiBukC,OAAO,CAAC,CAAD,CAAxB,GAA8B,KAAKC,wBAAL,CAA8B,KAAK9R,QAAnC,CAArC;AACH;;AACD,iBAAO6R,OAAO,CAACvkC,MAAR,GACHukC,OAAO,CAACA,OAAO,CAACvkC,MAAR,GAAiB,CAAlB,CADJ,GAC2B,KAAKykC,uBAAL,CAA6B,KAAK/R,QAAlC,CADlC;AAEH;AACD;;;;;;;eAIA,+BAAsB;AAClB;AACA,cAAMgS,iBAAiB,GAAG,KAAKhS,QAAL,CAAcnrB,aAAd,CAA4B,6CAA5B,CAA1B;;AAEA,cAAIm9B,iBAAJ,EAAuB;AACnB;AACA,gBAAIA,iBAAiB,CAAC1D,YAAlB,qBAAJ,EAAyD;AACrD9I,qBAAO,CAACC,IAAR,CAAa,mJAAb,EAEgCuM,iBAFhC;AAGH,aANkB,CAOnB;AACA;;;AACA,gBAAI,CAAC,OAAOt7B,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA,CAAC,KAAK85B,QAAL,CAAcyB,WAAd,CAA0BD,iBAA1B,CADL,EACmD;AAC/CxM,qBAAO,CAACC,IAAR,2DAAuEuM,iBAAvE;AACH;;AACD,gBAAI,CAAC,KAAKxB,QAAL,CAAcyB,WAAd,CAA0BD,iBAA1B,CAAL,EAAmD;AAC/C,kBAAME,cAAc,GAAG,KAAKJ,wBAAL,CAA8BE,iBAA9B,CAAvB;;AACAE,4BAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACjE,KAAf,EAAhE;AACA,qBAAO,CAAC,CAACiE,cAAT;AACH;;AACDF,6BAAiB,CAAC/D,KAAlB;AACA,mBAAO,IAAP;AACH;;AACD,iBAAO,KAAK8C,yBAAL,EAAP;AACH;AACD;;;;;;;eAIA,qCAA4B;AACxB,cAAMiB,iBAAiB,GAAG,KAAKG,kBAAL,CAAwB,OAAxB,CAA1B;;AACA,cAAIH,iBAAJ,EAAuB;AACnBA,6BAAiB,CAAC/D,KAAlB;AACH;;AACD,iBAAO,CAAC,CAAC+D,iBAAT;AACH;AACD;;;;;;;eAIA,oCAA2B;AACvB,cAAMA,iBAAiB,GAAG,KAAKG,kBAAL,CAAwB,KAAxB,CAA1B;;AACA,cAAIH,iBAAJ,EAAuB;AACnBA,6BAAiB,CAAC/D,KAAlB;AACH;;AACD,iBAAO,CAAC,CAAC+D,iBAAT;AACH;AACD;;;;;;eAGA,uBAAc;AACV,iBAAO,KAAKrB,YAAZ;AACH;AACD;;;;eACA,kCAAyB9X,IAAzB,EAA+B;AAC3B,cAAI,KAAK2X,QAAL,CAAcyB,WAAd,CAA0BpZ,IAA1B,KAAmC,KAAK2X,QAAL,CAAc4B,UAAd,CAAyBvZ,IAAzB,CAAvC,EAAuE;AACnE,mBAAOA,IAAP;AACH,WAH0B,CAI3B;AACA;;;AACA,cAAIwZ,QAAQ,GAAGxZ,IAAI,CAACwZ,QAAL,IAAiBxZ,IAAI,CAACiQ,UAArC;;AACA,eAAK,IAAIn0B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG09B,QAAQ,CAAC/kC,MAA7B,EAAqCqH,CAAC,EAAtC,EAA0C;AACtC,gBAAI29B,aAAa,GAAGD,QAAQ,CAAC19B,CAAD,CAAR,CAAYg1B,QAAZ,KAAyB,KAAK5B,SAAL,CAAe6B,YAAxC,GAChB,KAAKkI,wBAAL,CAA8BO,QAAQ,CAAC19B,CAAD,CAAtC,CADgB,GAEhB,IAFJ;;AAGA,gBAAI29B,aAAJ,EAAmB;AACf,qBAAOA,aAAP;AACH;AACJ;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,iCAAwBzZ,IAAxB,EAA8B;AAC1B,cAAI,KAAK2X,QAAL,CAAcyB,WAAd,CAA0BpZ,IAA1B,KAAmC,KAAK2X,QAAL,CAAc4B,UAAd,CAAyBvZ,IAAzB,CAAvC,EAAuE;AACnE,mBAAOA,IAAP;AACH,WAHyB,CAI1B;;;AACA,cAAIwZ,QAAQ,GAAGxZ,IAAI,CAACwZ,QAAL,IAAiBxZ,IAAI,CAACiQ,UAArC;;AACA,eAAK,IAAIn0B,CAAC,GAAG09B,QAAQ,CAAC/kC,MAAT,GAAkB,CAA/B,EAAkCqH,CAAC,IAAI,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,gBAAI29B,aAAa,GAAGD,QAAQ,CAAC19B,CAAD,CAAR,CAAYg1B,QAAZ,KAAyB,KAAK5B,SAAL,CAAe6B,YAAxC,GAChB,KAAKmI,uBAAL,CAA6BM,QAAQ,CAAC19B,CAAD,CAArC,CADgB,GAEhB,IAFJ;;AAGA,gBAAI29B,aAAJ,EAAmB;AACf,qBAAOA,aAAP;AACH;AACJ;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,yBAAgB;AACZ,cAAMC,MAAM,GAAG,KAAKxK,SAAL,CAAepD,aAAf,CAA6B,KAA7B,CAAf;;AACA,eAAKyM,qBAAL,CAA2B,KAAKJ,QAAhC,EAA0CuB,MAA1C;;AACAA,gBAAM,CAAClU,SAAP,CAAiBte,GAAjB,CAAqB,qBAArB;AACAwyB,gBAAM,CAAClU,SAAP,CAAiBte,GAAjB,CAAqB,uBAArB;AACAwyB,gBAAM,CAAC94B,YAAP,CAAoB,aAApB,EAAmC,MAAnC;AACA,iBAAO84B,MAAP;AACH;AACD;;;;;;;;eAKA,+BAAsBC,SAAtB,EAAiCD,MAAjC,EAAyC;AACrC;AACA;AACAC,mBAAS,GAAGD,MAAM,CAAC94B,YAAP,CAAoB,UAApB,EAAgC,GAAhC,CAAH,GAA0C84B,MAAM,CAACjL,eAAP,CAAuB,UAAvB,CAAnD;AACH;AACD;;;;;;;eAIA,uBAAckE,OAAd,EAAuB;AACnB,cAAI,KAAK0F,YAAL,IAAqB,KAAKC,UAA9B,EAA0C;AACtC,iBAAKC,qBAAL,CAA2B5F,OAA3B,EAAoC,KAAK0F,YAAzC;;AACA,iBAAKE,qBAAL,CAA2B5F,OAA3B,EAAoC,KAAK2F,UAAzC;AACH;AACJ;AACD;;;;eACA,0BAAiBvkC,EAAjB,EAAqB;AACjB,cAAI,KAAK6jC,OAAL,CAAagC,QAAjB,EAA2B;AACvB7lC,cAAE;AACL,WAFD,MAGK;AACD,iBAAK6jC,OAAL,CAAaiC,QAAb,CAAsB5G,IAAtB,CAA2B,4DAAK,CAAL,CAA3B,EAAoCb,SAApC,CAA8Cr+B,EAA9C;AACH;AACJ;;;;;AAEL;;;;;;;QAKM+lC,gB;;;AACF,gCAAYnC,QAAZ,EAAsBC,OAAtB,EAA+B1I,SAA/B,EAA0C;AAAA;;AACtC,aAAKyI,QAAL,GAAgBA,QAAhB;AACA,aAAKC,OAAL,GAAeA,OAAf;AACA,aAAK1I,SAAL,GAAiBA,SAAjB;AACH;AACD;;;;;;;;;;;eAOA,gBAAO73B,OAAP,EAA8C;AAAA,cAA9B0iC,oBAA8B,uEAAP,KAAO;AAC1C,iBAAO,IAAIrC,SAAJ,CAAcrgC,OAAd,EAAuB,KAAKsgC,QAA5B,EAAsC,KAAKC,OAA3C,EAAoD,KAAK1I,SAAzD,EAAoE6K,oBAApE,CAAP;AACH;;;;;;AAELD,oBAAgB,CAACv8B,IAAjB,GAAwB,SAASy8B,wBAAT,CAAkCv8B,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAIq8B,gBAAV,EAA4B,uDAAgBvE,oBAAhB,CAA5B,EAAmE,uDAAgB,oDAAhB,CAAnE,EAAmG,uDAAgB,wDAAhB,CAAnG,CAAP;AAAuI,KAAtM;;AACAuE,oBAAgB,CAACp8B,KAAjB,GAAyB,yEAAmB;AAAEE,aAAO,EAAE,SAASo8B,wBAAT,GAAoC;AAAE,eAAO,IAAIF,gBAAJ,CAAqB,+DAASvE,oBAAT,CAArB,EAAqD,+DAAS,oDAAT,CAArD,EAAuE,+DAAS,wDAAT,CAAvE,CAAP;AAAoG,OAArJ;AAAuJ53B,WAAK,EAAEm8B,gBAA9J;AAAgL7I,gBAAU,EAAE;AAA5L,KAAnB,CAAzB;;AACA6I,oBAAgB,CAAC5I,cAAjB,GAAkC;AAAA,aAAM,CACpC;AAAE3/B,YAAI,EAAEgkC;AAAR,OADoC,EAEpC;AAAEhkC,YAAI,EAAE;AAAR,OAFoC,EAGpC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAHoC,CAAN;AAAA,KAAlC;;AAKA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBi8B,gBAAzB,EAA2C,CAAC;AACtGvoC,YAAI,EAAE,wDADgG;AAEtGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFgG,OAAD,CAA3C,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAEgkC;AAAR,SAAD,EAAiC;AAAEhkC,cAAI,EAAE;AAAR,SAAjC,EAA0D;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AACvG5/B,gBAAI,EAAE,oDADiG;AAEvGimB,gBAAI,EAAE,CAAC,wDAAD;AAFiG,WAAD;AAA/B,SAA1D,CAAP;AAGF,OAN8C,EAM5C,IAN4C,CAAnD;AAMe,KAN9B;AAOA;;;QACMyiB,Y;;;AACF,4BAAYC,WAAZ,EAAyBC,iBAAzB,EAA4CjL,SAA5C,EAAuD;AAAA;;AACnD,aAAKgL,WAAL,GAAmBA,WAAnB;AACA,aAAKC,iBAAL,GAAyBA,iBAAzB;AACA;;AACA,aAAKC,yBAAL,GAAiC,IAAjC;AACA,aAAKlL,SAAL,GAAiBA,SAAjB;AACA,aAAKmL,SAAL,GAAiB,KAAKF,iBAAL,CAAuBvpB,MAAvB,CAA8B,KAAKspB,WAAL,CAAiBI,aAA/C,EAA8D,IAA9D,CAAjB;AACH;AACD;;;;;aACA,eAAc;AAAE,iBAAO,KAAKD,SAAL,CAAe1H,OAAtB;AAAgC,S;aAChD,aAAYj5B,KAAZ,EAAmB;AAAE,eAAK2gC,SAAL,CAAe1H,OAAf,GAAyB,oFAAsBj5B,KAAtB,CAAzB;AAAwD;AAC7E;;;;;;;aAIA,eAAkB;AAAE,iBAAO,KAAK6gC,YAAZ;AAA2B,S;aAC/C,aAAgB7gC,KAAhB,EAAuB;AAAE,eAAK6gC,YAAL,GAAoB,oFAAsB7gC,KAAtB,CAApB;AAAmD;;;eAC5E,uBAAc;AACV,eAAK2gC,SAAL,CAAevkC,OAAf,GADU,CAEV;AACA;;AACA,cAAI,KAAKskC,yBAAT,EAAoC;AAChC,iBAAKA,yBAAL,CAA+BhF,KAA/B;;AACA,iBAAKgF,yBAAL,GAAiC,IAAjC;AACH;AACJ;;;eACD,8BAAqB;AACjB,eAAKC,SAAL,CAAejC,aAAf;;AACA,cAAI,KAAKoC,WAAT,EAAsB;AAClB,iBAAKC,aAAL;AACH;AACJ;;;eACD,qBAAY;AACR,cAAI,CAAC,KAAKJ,SAAL,CAAeK,WAAf,EAAL,EAAmC;AAC/B,iBAAKL,SAAL,CAAejC,aAAf;AACH;AACJ;;;eACD,qBAAYjG,OAAZ,EAAqB;AACjB,cAAMwI,iBAAiB,GAAGxI,OAAO,CAAC,aAAD,CAAjC;;AACA,cAAIwI,iBAAiB,IAAI,CAACA,iBAAiB,CAACC,WAAxC,IAAuD,KAAKJ,WAA5D,IACA,KAAKH,SAAL,CAAeK,WAAf,EADJ,EACkC;AAC9B,iBAAKD,aAAL;AACH;AACJ;;;eACD,yBAAgB;AACZ,cAAI9D,EAAJ,EAAQkE,EAAR,CADY,CAEZ;AACA;;;AACA,cAAMC,aAAa,GAAG,CAACnE,EAAE,GAAG,KAAKzH,SAAX,MAA0B,IAA1B,IAAkCyH,EAAE,KAAK,KAAK,CAA9C,GAAkD,KAAK,CAAvD,GAA2DA,EAAE,CAACmE,aAApF;AACA,eAAKV,yBAAL,GACI,CAAC,CAACS,EAAE,GAAGC,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,aAAa,CAACC,UAAlF,MAAkG,IAAlG,IAA0GF,EAAE,KAAK,KAAK,CAAtH,GAA0H,KAAK,CAA/H,GAAmIA,EAAE,CAACC,aAAvI,KAAyJA,aAD7J;AAEA,eAAKT,SAAL,CAAeW,4BAAf;AACH;;;;;;AAELf,gBAAY,CAAC18B,IAAb,GAAoB,SAAS09B,oBAAT,CAA8Bx9B,CAA9B,EAAiC;AAAE,aAAO,KAAKA,CAAC,IAAIw8B,YAAV,EAAwB,gEAAyB,wDAAzB,CAAxB,EAAqE,gEAAyBH,gBAAzB,CAArE,EAAiH,gEAAyB,wDAAzB,CAAjH,CAAP;AAA8J,KAArN;;AACAG,gBAAY,CAACiB,IAAb,GAAoB,gEAAyB;AAAE3pC,UAAI,EAAE0oC,YAAR;AAAsBkB,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAD,CAAjC;AAA6DC,YAAM,EAAE;AAAEzI,eAAO,EAAE,CAAC,cAAD,EAAiB,SAAjB,CAAX;AAAwC6H,mBAAW,EAAE,CAAC,yBAAD,EAA4B,aAA5B;AAArD,OAArE;AAAwKa,cAAQ,EAAE,CAAC,cAAD,CAAlL;AAAoMC,cAAQ,EAAE,CAAC,kEAAD;AAA9M,KAAzB,CAApB;;AACArB,gBAAY,CAAC/I,cAAb,GAA8B;AAAA,aAAM,CAChC;AAAE3/B,YAAI,EAAE;AAAR,OADgC,EAEhC;AAAEA,YAAI,EAAEuoC;AAAR,OAFgC,EAGhC;AAAEvoC,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAHgC,CAAN;AAAA,KAA9B;;AAKAyiB,gBAAY,CAACsB,cAAb,GAA8B;AAC1B5I,aAAO,EAAE,CAAC;AAAEphC,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,cAAD;AAArB,OAAD,CADiB;AAE1BgjB,iBAAW,EAAE,CAAC;AAAEjpC,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,yBAAD;AAArB,OAAD;AAFa,KAA9B;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBo8B,YAAzB,EAAuC,CAAC;AAClG1oC,YAAI,EAAE,uDAD4F;AAElGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,gBADX;AAEC0oC,kBAAQ,EAAE;AAFX,SAAD;AAF4F,OAAD,CAAvC,EAM1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAEuoC;AAAR,SAA9B,EAA0D;AAAEvoC,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AACvG5/B,gBAAI,EAAE,oDADiG;AAEvGimB,gBAAI,EAAE,CAAC,wDAAD;AAFiG,WAAD;AAA/B,SAA1D,CAAP;AAGF,OAT8C,EAS5C;AAAEmb,eAAO,EAAE,CAAC;AACtBphC,cAAI,EAAE,mDADgB;AAEtBimB,cAAI,EAAE,CAAC,cAAD;AAFgB,SAAD,CAAX;AAGVgjB,mBAAW,EAAE,CAAC;AACdjpC,cAAI,EAAE,mDADQ;AAEdimB,cAAI,EAAE,CAAC,yBAAD;AAFQ,SAAD;AAHH,OAT4C,CAAnD;AAeC,KAfhB;AAiBA;;;;;;;;AAOA;;;;;;;;QAMMgkB,qB;;;;;;;AACF,qCAAYrU,QAAZ,EAAsBwQ,QAAtB,EAAgCC,OAAhC,EAAyC1I,SAAzC,EAAoDuM,iBAApD,EAAuEC,cAAvE,EAAuFnF,MAAvF,EAA+F;AAAA;;AAAA;;AAC3F,qCAAMpP,QAAN,EAAgBwQ,QAAhB,EAA0BC,OAA1B,EAAmC1I,SAAnC,EAA8CqH,MAAM,CAACoF,KAArD;AACA,gBAAKF,iBAAL,GAAyBA,iBAAzB;AACA,gBAAKC,cAAL,GAAsBA,cAAtB;;AACA,gBAAKD,iBAAL,CAAuBhkB,QAAvB;;AAJ2F;AAK9F;AACD;;;;;aACA,eAAc;AAAE,iBAAO,KAAK0gB,QAAZ;AAAuB,S;aACvC,aAAYz+B,KAAZ,EAAmB;AACf,eAAKy+B,QAAL,GAAgBz+B,KAAhB;;AACA,cAAI,KAAKy+B,QAAT,EAAmB;AACf,iBAAKsD,iBAAL,CAAuBhkB,QAAvB,CAAgC,IAAhC;AACH,WAFD,MAGK;AACD,iBAAKgkB,iBAAL,CAAuBG,UAAvB,CAAkC,IAAlC;AACH;AACJ;AACD;;;;eACA,mBAAU;AACN,eAAKH,iBAAL,CAAuBG,UAAvB,CAAkC,IAAlC;;AACA;AACH;AACD;;;;eACA,mBAAU;AACN,eAAKF,cAAL,CAAoBG,YAApB,CAAiC,IAAjC;;AACA,eAAKC,aAAL,CAAmB,IAAnB;AACH;AACD;;;;eACA,oBAAW;AACP,eAAKJ,cAAL,CAAoBK,UAApB,CAA+B,IAA/B;;AACA,eAAKD,aAAL,CAAmB,KAAnB;AACH;;;;MAhC+BpE,S;AAmCpC;;;;;;;;AAOA;;;AACA,aAASsE,OAAT,CAAiB3kC,OAAjB,EAA0B1E,QAA1B,EAAoC;AAChC,UAAI,EAAE0E,OAAO,YAAY4kC,IAArB,CAAJ,EAAgC;AAC5B,eAAO,IAAP;AACH;;AACD,UAAIC,IAAI,GAAG7kC,OAAX;;AACA,aAAO6kC,IAAI,IAAI,IAAR,IAAgB,EAAEA,IAAI,YAAYlhC,OAAlB,CAAvB,EAAmD;AAC/CkhC,YAAI,GAAGA,IAAI,CAACjgB,UAAZ;AACH;;AACD,aAAOigB,IAAI,KAAKC,gBAAgB,GAC5BD,IAAI,CAACF,OAAL,CAAarpC,QAAb,CAD4B,GACHypC,eAAe,CAACF,IAAD,EAAOvpC,QAAP,CADjC,CAAX;AAEH;AACD;;;AACA,aAASypC,eAAT,CAAyB/kC,OAAzB,EAAkC1E,QAAlC,EAA4C;AACxC,UAAIupC,IAAI,GAAG7kC,OAAX;;AACA,aAAO6kC,IAAI,IAAI,IAAR,IAAgB,EAAEA,IAAI,YAAYlhC,OAAhB,IAA2BG,OAAO,CAAC+gC,IAAD,EAAOvpC,QAAP,CAApC,CAAvB,EAA8E;AAC1EupC,YAAI,GAAGA,IAAI,CAACjgB,UAAZ;AACH;;AACD,aAAQigB,IAAI,IAAI,IAAhB;AACH;;AACD,QAAMC,gBAAgB,GAAG,OAAOnhC,OAAP,IAAkB,WAAlB,IAAiC,CAAC,CAACA,OAAO,CAACE,SAAR,CAAkB8gC,OAA9E;AACA;;AACA,aAAS7gC,OAAT,CAAiB9D,OAAjB,EAA0B1E,QAA1B,EAAoC;AAChC,aAAO0E,OAAO,CAAC8D,OAAR,GACH9D,OAAO,CAAC8D,OAAR,CAAgBxI,QAAhB,CADG,GAEH0E,OAAO,CAAC,mBAAD,CAAP,CAA6B1E,QAA7B,CAFJ;AAGH;AAED;;;;;;;;AAOA;;;;;;QAIM0pC,mC;;;AACF,qDAAc;AAAA;;AACV;AACA,aAAKC,SAAL,GAAiB,IAAjB;AACH;AACD;;;;;eACA,sBAAajC,SAAb,EAAwB;AAAA;;AACpB;AACA,cAAI,KAAKiC,SAAT,EAAoB;AAChBjC,qBAAS,CAACnL,SAAV,CAAoBnF,mBAApB,CAAwC,OAAxC,EAAiD,KAAKuS,SAAtD,EAAiE,IAAjE;AACH;;AACD,eAAKA,SAAL,GAAiB,UAACxjC,CAAD;AAAA,mBAAO,OAAI,CAACyjC,UAAL,CAAgBlC,SAAhB,EAA2BvhC,CAA3B,CAAP;AAAA,WAAjB;;AACAuhC,mBAAS,CAACzC,OAAV,CAAkBc,iBAAlB,CAAoC,YAAM;AACtC2B,qBAAS,CAACnL,SAAV,CAAoBlF,gBAApB,CAAqC,OAArC,EAA8C,OAAI,CAACsS,SAAnD,EAA8D,IAA9D;AACH,WAFD;AAGH;AACD;;;;eACA,oBAAWjC,SAAX,EAAsB;AAClB,cAAI,CAAC,KAAKiC,SAAV,EAAqB;AACjB;AACH;;AACDjC,mBAAS,CAACnL,SAAV,CAAoBnF,mBAApB,CAAwC,OAAxC,EAAiD,KAAKuS,SAAtD,EAAiE,IAAjE;;AACA,eAAKA,SAAL,GAAiB,IAAjB;AACH;AACD;;;;;;;;;;eAOA,oBAAWjC,SAAX,EAAsB1hC,KAAtB,EAA6B;AACzB,cAAM+W,MAAM,GAAG/W,KAAK,CAAC+W,MAArB;AACA,cAAM8sB,aAAa,GAAGnC,SAAS,CAAClT,QAAhC,CAFyB,CAGzB;AACA;;AACA,cAAI,CAACqV,aAAa,CAACvhC,QAAd,CAAuByU,MAAvB,CAAD,IAAmCssB,OAAO,CAACtsB,MAAD,EAAS,sBAAT,CAAP,KAA4C,IAAnF,EAAyF;AACrF;AACA;AACA;AACA+sB,sBAAU,CAAC,YAAM;AACb;AACA,kBAAIpC,SAAS,CAAC1H,OAAV,IAAqB,CAAC6J,aAAa,CAACvhC,QAAd,CAAuBo/B,SAAS,CAACnL,SAAV,CAAoB4L,aAA3C,CAA1B,EAAqF;AACjFT,yBAAS,CAACnC,yBAAV;AACH;AACJ,aALS,CAAV;AAMH;AACJ;;;;;AAGL;;;;;;;;AAOA;;;;;QAGMwE,2B,GACF,uCAAc;AAAA;;AACV;;;;;AAKA,WAAKf,KAAL,GAAa,KAAb;AACH,K;AAGL;;;;;;;;AAOA;;;AACA,QAAMgB,yBAAyB,GAAG,IAAI,4DAAJ,CAAmB,2BAAnB,CAAlC;AAEA;;;;;;;;AAOA;;QACMC,gB;;;AACF,kCAAc;AAAA;;AACV;AACA;AACA,aAAKC,eAAL,GAAuB,EAAvB;AACH;AACD;;;;;;;;eAIA,kBAASxC,SAAT,EAAoB;AAChB;AACA,eAAKwC,eAAL,GAAuB,KAAKA,eAAL,CAAqBxwB,MAArB,CAA4B,UAACywB,EAAD;AAAA,mBAAQA,EAAE,KAAKzC,SAAf;AAAA,WAA5B,CAAvB;AACA,cAAI0C,KAAK,GAAG,KAAKF,eAAjB;;AACA,cAAIE,KAAK,CAACtoC,MAAV,EAAkB;AACdsoC,iBAAK,CAACA,KAAK,CAACtoC,MAAN,GAAe,CAAhB,CAAL,CAAwBuoC,QAAxB;AACH;;AACDD,eAAK,CAAC/oC,IAAN,CAAWqmC,SAAX;;AACAA,mBAAS,CAAC4C,OAAV;AACH;AACD;;;;;;;eAIA,oBAAW5C,SAAX,EAAsB;AAClBA,mBAAS,CAAC2C,QAAV;;AACA,cAAMD,KAAK,GAAG,KAAKF,eAAnB;AACA,cAAM/gC,CAAC,GAAGihC,KAAK,CAAC9iC,OAAN,CAAcogC,SAAd,CAAV;;AACA,cAAIv+B,CAAC,KAAK,CAAC,CAAX,EAAc;AACVihC,iBAAK,CAACr9B,MAAN,CAAa5D,CAAb,EAAgB,CAAhB;;AACA,gBAAIihC,KAAK,CAACtoC,MAAV,EAAkB;AACdsoC,mBAAK,CAACA,KAAK,CAACtoC,MAAN,GAAe,CAAhB,CAAL,CAAwBwoC,OAAxB;AACH;AACJ;AACJ;;;;;;AAELL,oBAAgB,CAACr/B,IAAjB,GAAwB,SAAS2/B,wBAAT,CAAkCz/B,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAIm/B,gBAAV,GAAP;AAAuC,KAAtG;;AACAA,oBAAgB,CAACl/B,KAAjB,GAAyB,yEAAmB;AAAEE,aAAO,EAAE,SAASs/B,wBAAT,GAAoC;AAAE,eAAO,IAAIN,gBAAJ,EAAP;AAAgC,OAAjF;AAAmFj/B,WAAK,EAAEi/B,gBAA1F;AAA4G3L,gBAAU,EAAE;AAAxH,KAAnB,CAAzB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOpzB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB++B,gBAAzB,EAA2C,CAAC;AACtGrrC,YAAI,EAAE,wDADgG;AAEtGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFgG,OAAD,CAA3C,EAG1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAHgC,EAG9B,IAH8B,CAAnD;AAG6B,KAH5C;AAKA;;;;;;;;AAOA;;;QACMkM,4B;;;AACF,4CAAYxF,QAAZ,EAAsBC,OAAtB,EAA+B6D,iBAA/B,EAAkDvM,SAAlD,EAA6DwM,cAA7D,EAA6E;AAAA;;AACzE,aAAK/D,QAAL,GAAgBA,QAAhB;AACA,aAAKC,OAAL,GAAeA,OAAf;AACA,aAAK6D,iBAAL,GAAyBA,iBAAzB;AACA,aAAKvM,SAAL,GAAiBA,SAAjB,CAJyE,CAKzE;;AACA,aAAKwM,cAAL,GAAsBA,cAAc,IAAI,IAAIW,mCAAJ,EAAxC;AACH;;;;eACD,gBAAOhlC,OAAP,EAA4D;AAAA,cAA5Ck/B,MAA4C,uEAAnC,IAAImG,2BAAJ,EAAmC;AACxD,cAAIU,YAAJ;;AACA,cAAI,OAAO7G,MAAP,KAAkB,SAAtB,EAAiC;AAC7B6G,wBAAY,GAAG,IAAIV,2BAAJ,EAAf;AACAU,wBAAY,CAACzB,KAAb,GAAqBpF,MAArB;AACH,WAHD,MAIK;AACD6G,wBAAY,GAAG7G,MAAf;AACH;;AACD,iBAAO,IAAIiF,qBAAJ,CAA0BnkC,OAA1B,EAAmC,KAAKsgC,QAAxC,EAAkD,KAAKC,OAAvD,EAAgE,KAAK1I,SAArE,EAAgF,KAAKuM,iBAArF,EAAwG,KAAKC,cAA7G,EAA6H0B,YAA7H,CAAP;AACH;;;;;;AAELD,gCAA4B,CAAC5/B,IAA7B,GAAoC,SAAS8/B,oCAAT,CAA8C5/B,CAA9C,EAAiD;AAAE,aAAO,KAAKA,CAAC,IAAI0/B,4BAAV,EAAwC,uDAAgB5H,oBAAhB,CAAxC,EAA+E,uDAAgB,oDAAhB,CAA/E,EAA+G,uDAAgBqH,gBAAhB,CAA/G,EAAkJ,uDAAgB,wDAAhB,CAAlJ,EAA6K,uDAAgBD,yBAAhB,EAA2C,CAA3C,CAA7K,CAAP;AAAqO,KAA5T;;AACAQ,gCAA4B,CAACz/B,KAA7B,GAAqC,yEAAmB;AAAEE,aAAO,EAAE,SAASy/B,oCAAT,GAAgD;AAAE,eAAO,IAAIF,4BAAJ,CAAiC,+DAAS5H,oBAAT,CAAjC,EAAiE,+DAAS,oDAAT,CAAjE,EAAmF,+DAASqH,gBAAT,CAAnF,EAA+G,+DAAS,wDAAT,CAA/G,EAAmI,+DAASD,yBAAT,EAAoC,CAApC,CAAnI,CAAP;AAAoL,OAAjP;AAAmPh/B,WAAK,EAAEw/B,4BAA1P;AAAwRlM,gBAAU,EAAE;AAApS,KAAnB,CAArC;;AACAkM,gCAA4B,CAACjM,cAA7B,GAA8C;AAAA,aAAM,CAChD;AAAE3/B,YAAI,EAAEgkC;AAAR,OADgD,EAEhD;AAAEhkC,YAAI,EAAE;AAAR,OAFgD,EAGhD;AAAEA,YAAI,EAAEqrC;AAAR,OAHgD,EAIhD;AAAErrC,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAJgD,EAKhD;AAAEjmB,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACmlB,yBAAD;AAAtB,SAArB;AAA/B,OALgD,CAAN;AAAA,KAA9C;;AAOA,KAAC,YAAY;AAAE,OAAC,OAAO9+B,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBs/B,4BAAzB,EAAuD,CAAC;AAClH5rC,YAAI,EAAE,wDAD4G;AAElHimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAF4G,OAAD,CAAvD,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAEgkC;AAAR,SAAD,EAAiC;AAAEhkC,cAAI,EAAE;AAAR,SAAjC,EAA0D;AAAEA,cAAI,EAAEqrC;AAAR,SAA1D,EAAsF;AAAErrC,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AACnI5/B,gBAAI,EAAE,oDAD6H;AAEnIimB,gBAAI,EAAE,CAAC,wDAAD;AAF6H,WAAD;AAA/B,SAAtF,EAGX;AAAEjmB,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE;AAD4B,WAAD,EAElC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACmlB,yBAAD;AAFP,WAFkC;AAA/B,SAHW,CAAP;AAQF,OAX8C,EAW5C,IAX4C,CAAnD;AAWe,KAX9B;AAaA;;;;;;;;;AAOA,QAAMW,4BAA4B,GAAG,IAAI,4DAAJ,CAAmB,sBAAnB,EAA2C;AAC5ErM,gBAAU,EAAE,MADgE;AAE5ErzB,aAAO,EAAE2/B;AAFmE,KAA3C,CAArC;AAIA;;AACA,aAASA,oCAAT,GAAgD;AAC5C,aAAO,IAAP;AACH;AACD;;;AACA,QAAMC,8BAA8B,GAAG,IAAI,4DAAJ,CAAmB,gCAAnB,CAAvC;AAEA;;;;;;;;QAOMC,a;;;AACF,6BAAYC,YAAZ,EAA0B9F,OAA1B,EAAmC1I,SAAnC,EAA8CyO,eAA9C,EAA+D;AAAA;;AAC3D,aAAK/F,OAAL,GAAeA,OAAf;AACA,aAAK+F,eAAL,GAAuBA,eAAvB,CAF2D,CAG3D;AACA;AACA;;AACA,aAAKzO,SAAL,GAAiBA,SAAjB;AACA,aAAK0O,YAAL,GAAoBF,YAAY,IAAI,KAAKG,kBAAL,EAApC;AACH;;;;eACD,kBAAS1O,OAAT,EAA2B;AAAA;;AACvB,cAAM2O,cAAc,GAAG,KAAKH,eAA5B;AACA,cAAII,UAAJ;AACA,cAAI5qC,QAAJ;;AAHuB,6CAANqkB,IAAM;AAANA,gBAAM;AAAA;;AAIvB,cAAIA,IAAI,CAAC/iB,MAAL,KAAgB,CAAhB,IAAqB,OAAO+iB,IAAI,CAAC,CAAD,CAAX,KAAmB,QAA5C,EAAsD;AAClDrkB,oBAAQ,GAAGqkB,IAAI,CAAC,CAAD,CAAf;AACH,WAFD,MAGK;AACAumB,sBADA,GACwBvmB,IADxB;AACYrkB,oBADZ,GACwBqkB,IADxB;AAEJ;;AACD,eAAKrM,KAAL;AACA6yB,sBAAY,CAAC,KAAKC,gBAAN,CAAZ;;AACA,cAAI,CAACF,UAAL,EAAiB;AACbA,sBAAU,GACLD,cAAc,IAAIA,cAAc,CAACC,UAAlC,GAAgDD,cAAc,CAACC,UAA/D,GAA4E,QADhF;AAEH;;AACD,cAAI5qC,QAAQ,IAAI,IAAZ,IAAoB2qC,cAAxB,EAAwC;AACpC3qC,oBAAQ,GAAG2qC,cAAc,CAAC3qC,QAA1B;AACH,WAlBsB,CAmBvB;;;AACA,eAAKyqC,YAAL,CAAkBh9B,YAAlB,CAA+B,WAA/B,EAA4Cm9B,UAA5C,EApBuB,CAqBvB;AACA;AACA;AACA;AACA;;;AACA,iBAAO,KAAKnG,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACxC,mBAAO,IAAI3lC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC1BgrC,0BAAY,CAAC,OAAI,CAACC,gBAAN,CAAZ;AACA,qBAAI,CAACA,gBAAL,GAAwBxB,UAAU,CAAC,YAAM;AACrC,uBAAI,CAACmB,YAAL,CAAkB7R,WAAlB,GAAgCoD,OAAhC;AACAn8B,uBAAO;;AACP,oBAAI,OAAOG,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,yBAAI,CAAC8qC,gBAAL,GAAwBxB,UAAU,CAAC;AAAA,2BAAM,OAAI,CAACtxB,KAAL,EAAN;AAAA,mBAAD,EAAqBhY,QAArB,CAAlC;AACH;AACJ,eANiC,EAM/B,GAN+B,CAAlC;AAOH,aATM,CAAP;AAUH,WAXM,CAAP;AAYH;AACD;;;;;;;;eAKA,iBAAQ;AACJ,cAAI,KAAKyqC,YAAT,EAAuB;AACnB,iBAAKA,YAAL,CAAkB7R,WAAlB,GAAgC,EAAhC;AACH;AACJ;;;eACD,uBAAc;AACViS,sBAAY,CAAC,KAAKC,gBAAN,CAAZ;;AACA,cAAI,KAAKL,YAAL,IAAqB,KAAKA,YAAL,CAAkB3hB,UAA3C,EAAuD;AACnD,iBAAK2hB,YAAL,CAAkB3hB,UAAlB,CAA6BwQ,WAA7B,CAAyC,KAAKmR,YAA9C;;AACA,iBAAKA,YAAL,GAAoB,IAApB;AACH;AACJ;;;eACD,8BAAqB;AACjB,cAAMM,YAAY,GAAG,4BAArB;;AACA,cAAMC,gBAAgB,GAAG,KAAKjP,SAAL,CAAekP,sBAAf,CAAsCF,YAAtC,CAAzB;;AACA,cAAMG,MAAM,GAAG,KAAKnP,SAAL,CAAepD,aAAf,CAA6B,KAA7B,CAAf,CAHiB,CAIjB;;;AACA,eAAK,IAAIhwB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqiC,gBAAgB,CAAC1pC,MAArC,EAA6CqH,CAAC,EAA9C,EAAkD;AAC9CqiC,4BAAgB,CAACriC,CAAD,CAAhB,CAAoBmgB,UAApB,CAA+BwQ,WAA/B,CAA2C0R,gBAAgB,CAACriC,CAAD,CAA3D;AACH;;AACDuiC,gBAAM,CAAC7Y,SAAP,CAAiBte,GAAjB,CAAqBg3B,YAArB;AACAG,gBAAM,CAAC7Y,SAAP,CAAiBte,GAAjB,CAAqB,qBAArB;AACAm3B,gBAAM,CAACz9B,YAAP,CAAoB,aAApB,EAAmC,MAAnC;AACAy9B,gBAAM,CAACz9B,YAAP,CAAoB,WAApB,EAAiC,QAAjC;;AACA,eAAKsuB,SAAL,CAAexyB,IAAf,CAAoB0vB,WAApB,CAAgCiS,MAAhC;;AACA,iBAAOA,MAAP;AACH;;;;;;AAELZ,iBAAa,CAAClgC,IAAd,GAAqB,SAAS+gC,qBAAT,CAA+B7gC,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIggC,aAAV,EAAyB,uDAAgBH,4BAAhB,EAA8C,CAA9C,CAAzB,EAA2E,uDAAgB,oDAAhB,CAA3E,EAA2G,uDAAgB,wDAAhB,CAA3G,EAAsI,uDAAgBE,8BAAhB,EAAgD,CAAhD,CAAtI,CAAP;AAAmM,KAA5P;;AACAC,iBAAa,CAAC//B,KAAd,GAAsB,yEAAmB;AAAEE,aAAO,EAAE,SAAS0gC,qBAAT,GAAiC;AAAE,eAAO,IAAIb,aAAJ,CAAkB,+DAASH,4BAAT,EAAuC,CAAvC,CAAlB,EAA6D,+DAAS,oDAAT,CAA7D,EAA+E,+DAAS,wDAAT,CAA/E,EAAmG,+DAASE,8BAAT,EAAyC,CAAzC,CAAnG,CAAP;AAAyJ,OAAvM;AAAyM7/B,WAAK,EAAE8/B,aAAhN;AAA+NxM,gBAAU,EAAE;AAA3O,KAAnB,CAAtB;;AACAwM,iBAAa,CAACvM,cAAd,GAA+B;AAAA,aAAM,CACjC;AAAE3/B,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8lB,4BAAD;AAAtB,SAArB;AAA/B,OADiC,EAEjC;AAAE/rC,YAAI,EAAE;AAAR,OAFiC,EAGjC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAHiC,EAIjC;AAAEjmB,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACgmB,8BAAD;AAAtB,SAArB;AAA/B,OAJiC,CAAN;AAAA,KAA/B;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAO3/B,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB4/B,aAAzB,EAAwC,CAAC;AACnGlsC,YAAI,EAAE,wDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAF6F,OAAD,CAAxC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE;AADwC,WAAD,EAE9C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8lB,4BAAD;AAFP,WAF8C;AAA/B,SAAD,EAKX;AAAE/rC,cAAI,EAAE;AAAR,SALW,EAKc;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC3D5/B,gBAAI,EAAE,oDADqD;AAE3DimB,gBAAI,EAAE,CAAC,wDAAD;AAFqD,WAAD;AAA/B,SALd,EAQX;AAAEjmB,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE;AAD4B,WAAD,EAElC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACgmB,8BAAD;AAFP,WAFkC;AAA/B,SARW,CAAP;AAaF,OAhB8C,EAgB5C,IAhB4C,CAAnD;AAgBe,KAhB9B;AAiBA;;;;;;QAIMe,W;;;AACF,2BAAYrE,WAAZ,EAAyBsE,cAAzB,EAAyCC,gBAAzC,EAA2D7G,OAA3D,EAAoE;AAAA;;AAChE,aAAKsC,WAAL,GAAmBA,WAAnB;AACA,aAAKsE,cAAL,GAAsBA,cAAtB;AACA,aAAKC,gBAAL,GAAwBA,gBAAxB;AACA,aAAK7G,OAAL,GAAeA,OAAf;AACA,aAAK8G,WAAL,GAAmB,QAAnB;AACH;AACD;;;;;aACA,eAAiB;AAAE,iBAAO,KAAKA,WAAZ;AAA0B,S;aAC7C,aAAehlC,KAAf,EAAsB;AAAA;;AAClB,eAAKglC,WAAL,GAAmBhlC,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,WAA7B,GAA2CA,KAA3C,GAAmD,QAAtE;;AACA,cAAI,KAAKglC,WAAL,KAAqB,KAAzB,EAAgC;AAC5B,gBAAI,KAAKC,aAAT,EAAwB;AACpB,mBAAKA,aAAL,CAAmB3L,WAAnB;;AACA,mBAAK2L,aAAL,GAAqB,IAArB;AACH;AACJ,WALD,MAMK,IAAI,CAAC,KAAKA,aAAV,EAAyB;AAC1B,iBAAKA,aAAL,GAAqB,KAAK/G,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACtD,qBAAO,OAAI,CAAC+F,gBAAL,CACFG,OADE,CACM,OAAI,CAAC1E,WADX,EAEF9H,SAFE,CAEQ,YAAM;AACjB;AACA,oBAAMyM,WAAW,GAAG,OAAI,CAAC3E,WAAL,CAAiBI,aAAjB,CAA+BvO,WAAnD,CAFiB,CAGjB;AACA;;AACA,oBAAI8S,WAAW,KAAK,OAAI,CAACC,sBAAzB,EAAiD;AAC7C,yBAAI,CAACN,cAAL,CAAoBO,QAApB,CAA6BF,WAA7B,EAA0C,OAAI,CAACH,WAA/C;;AACA,yBAAI,CAACI,sBAAL,GAA8BD,WAA9B;AACH;AACJ,eAXM,CAAP;AAYH,aAboB,CAArB;AAcH;AACJ;;;eACD,uBAAc;AACV,cAAI,KAAKF,aAAT,EAAwB;AACpB,iBAAKA,aAAL,CAAmB3L,WAAnB;AACH;AACJ;;;;;;AAELuL,eAAW,CAAChhC,IAAZ,GAAmB,SAASyhC,mBAAT,CAA6BvhC,CAA7B,EAAgC;AAAE,aAAO,KAAKA,CAAC,IAAI8gC,WAAV,EAAuB,gEAAyB,wDAAzB,CAAvB,EAAoE,gEAAyBd,aAAzB,CAApE,EAA6G,gEAAyB,sEAAzB,CAA7G,EAA+J,gEAAyB,oDAAzB,CAA/J,CAAP;AAAiN,KAAtQ;;AACAc,eAAW,CAACrD,IAAZ,GAAmB,gEAAyB;AAAE3pC,UAAI,EAAEgtC,WAAR;AAAqBpD,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAhC;AAA2DC,YAAM,EAAE;AAAE2C,kBAAU,EAAE,CAAC,aAAD,EAAgB,YAAhB;AAAd,OAAnE;AAAkH1C,cAAQ,EAAE,CAAC,aAAD;AAA5H,KAAzB,CAAnB;;AACAkD,eAAW,CAACrN,cAAZ,GAA6B;AAAA,aAAM,CAC/B;AAAE3/B,YAAI,EAAE;AAAR,OAD+B,EAE/B;AAAEA,YAAI,EAAEksC;AAAR,OAF+B,EAG/B;AAAElsC,YAAI,EAAE;AAAR,OAH+B,EAI/B;AAAEA,YAAI,EAAE;AAAR,OAJ+B,CAAN;AAAA,KAA7B;;AAMAgtC,eAAW,CAAChD,cAAZ,GAA6B;AACzBwC,gBAAU,EAAE,CAAC;AAAExsC,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,aAAD;AAArB,OAAD;AADa,KAA7B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0gC,WAAzB,EAAsC,CAAC;AACjGhtC,YAAI,EAAE,uDAD2F;AAEjGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,eADX;AAEC0oC,kBAAQ,EAAE;AAFX,SAAD;AAF2F,OAAD,CAAtC,EAM1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAEksC;AAAR,SAA9B,EAAuD;AAAElsC,cAAI,EAAE;AAAR,SAAvD,EAAyF;AAAEA,cAAI,EAAE;AAAR,SAAzF,CAAP;AAA2H,OAN/E,EAMiF;AAAEwsC,kBAAU,EAAE,CAAC;AACtJxsC,cAAI,EAAE,mDADgJ;AAEtJimB,cAAI,EAAE,CAAC,aAAD;AAFgJ,SAAD;AAAd,OANjF,CAAnD;AASC,KAThB;AAWA;;;;;;;;AAOA;;;AACA,aAASynB,+BAAT,CAAyCtmC,KAAzC,EAAgD;AAC5C;AACA;AACA;AACA;AACA,aAAOA,KAAK,CAACumC,OAAN,KAAkB,CAAzB;AACH;AACD;;;AACA,aAASC,gCAAT,CAA0CxmC,KAA1C,EAAiD;AAC7C,UAAMymC,KAAK,GAAIzmC,KAAK,CAAC0mC,OAAN,IAAiB1mC,KAAK,CAAC0mC,OAAN,CAAc,CAAd,CAAlB,IACT1mC,KAAK,CAAC2mC,cAAN,IAAwB3mC,KAAK,CAAC2mC,cAAN,CAAqB,CAArB,CAD7B,CAD6C,CAG7C;AACA;AACA;AACA;;AACA,aAAO,CAAC,CAACF,KAAF,IAAWA,KAAK,CAACG,UAAN,KAAqB,CAAC,CAAjC,KAAuCH,KAAK,CAACI,OAAN,IAAiB,IAAjB,IAAyBJ,KAAK,CAACI,OAAN,KAAkB,CAAlF,MACFJ,KAAK,CAACK,OAAN,IAAiB,IAAjB,IAAyBL,KAAK,CAACK,OAAN,KAAkB,CADzC,CAAP;AAEH;AAED;;;;;;;AAOA;AACA;;;AACA,QAAMC,eAAe,GAAG,GAAxB;AACA;;AACA,QAAMC,6BAA6B,GAAG,IAAI,4DAAJ,CAAmB,mCAAnB,CAAtC;AACA;;;;;AAIA,QAAMC,2BAA2B,GAAG,8FAAgC;AAChEC,aAAO,EAAE,IADuD;AAEhEC,aAAO,EAAE;AAFuD,KAAhC,CAApC;AAIA;;QACMC,Y;;;AACF,4BAAYnI,OAAZ,EAAqBpC,SAArB;AACA;AACA5+B,cAFA,EAEUpF,OAFV,EAEmB;AAAA;;AAAA;;AACf,aAAKomC,OAAL,GAAeA,OAAf;AACA,aAAKpC,SAAL,GAAiBA,SAAjB;AACA;;AACA,aAAKN,OAAL,GAAe,IAAf;AACA;;AACA,aAAK8K,cAAL,GAAsB,KAAtB;AACA;;AACA,aAAKC,YAAL,GAAoB,IAAItmC,GAAJ,EAApB;AACA;;AACA,aAAKumC,sBAAL,GAA8B,CAA9B;AACA;;;;;;;AAMA,aAAKC,2BAAL,GAAmC,IAAIxmC,GAAJ,EAAnC;AACA;;;;;AAIA,aAAKymC,wBAAL,GAAgC,YAAM;AAClC;AACA,iBAAI,CAACC,gBAAL,GAAwB,IAAxB;;AACA,iBAAI,CAACC,8BAAL,CAAoC,UAApC;AACH,SAJD;AAKA;;;;;;AAIA,aAAKC,0BAAL,GAAkC,UAAC5nC,KAAD,EAAW;AACzC;AACA;AACA,cAAI,CAAC,OAAI,CAAC0nC,gBAAV,EAA4B;AACxB;AACA;AACA,gBAAMG,MAAM,GAAGvB,+BAA+B,CAACtmC,KAAD,CAA/B,GAAyC,UAAzC,GAAsD,OAArE;;AACA,mBAAI,CAAC2nC,8BAAL,CAAoCE,MAApC;AACH;AACJ,SATD;AAUA;;;;;;AAIA,aAAKC,2BAAL,GAAmC,UAAC9nC,KAAD,EAAW;AAC1C;AACA;AACA,cAAI,CAACwmC,gCAAgC,CAACxmC,KAAD,CAArC,EAA8C;AAC1C;AACA;AACA;AACA,gBAAI,OAAI,CAAC+nC,eAAL,IAAwB,IAA5B,EAAkC;AAC9B1C,0BAAY,CAAC,OAAI,CAAC0C,eAAN,CAAZ;AACH;;AACD,mBAAI,CAACL,gBAAL,GAAwBM,SAAS,CAAChoC,KAAD,CAAjC;AACA,mBAAI,CAAC+nC,eAAL,GAAuBjE,UAAU,CAAC;AAAA,qBAAM,OAAI,CAAC4D,gBAAL,GAAwB,IAA9B;AAAA,aAAD,EAAqCX,eAArC,CAAjC;AACH,WATD,MAUK,IAAI,CAAC,OAAI,CAACW,gBAAV,EAA4B;AAC7B,mBAAI,CAACC,8BAAL,CAAoC,UAApC;AACH;AACJ,SAhBD;AAiBA;;;;;;AAIA,aAAKM,oBAAL,GAA4B,YAAM;AAC9B;AACA;AACA,iBAAI,CAACZ,cAAL,GAAsB,IAAtB;AACA,iBAAI,CAACa,qBAAL,GAA6BpE,UAAU,CAAC;AAAA,mBAAM,OAAI,CAACuD,cAAL,GAAsB,KAA5B;AAAA,WAAD,CAAvC;AACH,SALD;AAMA;;;;;;AAIA,aAAKc,6BAAL,GAAqC,UAACnoC,KAAD,EAAW;AAC5C,cAAM+W,MAAM,GAAGixB,SAAS,CAAChoC,KAAD,CAAxB;AACA,cAAMooC,OAAO,GAAGpoC,KAAK,CAACpH,IAAN,KAAe,OAAf,GAAyB,OAAI,CAACyvC,QAA9B,GAAyC,OAAI,CAACC,OAA9D,CAF4C,CAG5C;;AACA,eAAK,IAAI5pC,OAAO,GAAGqY,MAAnB,EAA2BrY,OAA3B,EAAoCA,OAAO,GAAGA,OAAO,CAAC6pC,aAAtD,EAAqE;AACjEH,mBAAO,CAAC/pC,IAAR,CAAa,OAAb,EAAmB2B,KAAnB,EAA0BtB,OAA1B;AACH;AACJ,SAPD;;AAQA,aAAK63B,SAAL,GAAiBt4B,QAAjB;AACA,aAAKuqC,cAAL,GAAsB,CAAC3vC,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC4vC,aAA3D,KAA6E;AAAE;AAArG;AACH;;;;eACD,iBAAQ/pC,OAAR,EAAwC;AAAA,cAAvBgqC,aAAuB,uEAAP,KAAO;AACpC,cAAM/G,aAAa,GAAG,4EAAcjjC,OAAd,CAAtB,CADoC,CAEpC;;AACA,cAAI,CAAC,KAAKm+B,SAAL,CAAe9+B,SAAhB,IAA6B4jC,aAAa,CAACxJ,QAAd,KAA2B,CAA5D,EAA+D;AAC3D,mBAAO,gDAAG,IAAH,CAAP;AACH,WALmC,CAMpC;AACA;AACA;;;AACA,cAAMwQ,QAAQ,GAAG,6EAAehH,aAAf,KAAiC,KAAKiH,YAAL,EAAlD;;AACA,cAAMC,UAAU,GAAG,KAAKvB,YAAL,CAAkBrmC,GAAlB,CAAsB0gC,aAAtB,CAAnB,CAVoC,CAWpC;;;AACA,cAAIkH,UAAJ,EAAgB;AACZ,gBAAIH,aAAJ,EAAmB;AACf;AACA;AACA;AACAG,wBAAU,CAACH,aAAX,GAA2B,IAA3B;AACH;;AACD,mBAAOG,UAAU,CAACC,OAAlB;AACH,WApBmC,CAqBpC;;;AACA,cAAMC,IAAI,GAAG;AACTL,yBAAa,EAAEA,aADN;AAETI,mBAAO,EAAE,IAAI,4CAAJ,EAFA;AAGTH,oBAAQ,EAARA;AAHS,WAAb;;AAKA,eAAKrB,YAAL,CAAkBpmC,GAAlB,CAAsBygC,aAAtB,EAAqCoH,IAArC;;AACA,eAAKC,wBAAL,CAA8BD,IAA9B;;AACA,iBAAOA,IAAI,CAACD,OAAZ;AACH;;;eACD,wBAAepqC,OAAf,EAAwB;AACpB,cAAMijC,aAAa,GAAG,4EAAcjjC,OAAd,CAAtB;;AACA,cAAMuqC,WAAW,GAAG,KAAK3B,YAAL,CAAkBrmC,GAAlB,CAAsB0gC,aAAtB,CAApB;;AACA,cAAIsH,WAAJ,EAAiB;AACbA,uBAAW,CAACH,OAAZ,CAAoBI,QAApB;;AACA,iBAAKC,WAAL,CAAiBxH,aAAjB;;AACA,iBAAK2F,YAAL,WAAyB3F,aAAzB;;AACA,iBAAKyH,sBAAL,CAA4BH,WAA5B;AACH;AACJ;;;eACD,kBAASvqC,OAAT,EAAkB89B,MAAlB,EAA0B3jC,OAA1B,EAAmC;AAAA;;AAC/B,cAAM8oC,aAAa,GAAG,4EAAcjjC,OAAd,CAAtB;;AACA,cAAM2qC,cAAc,GAAG,KAAKT,YAAL,GAAoBzG,aAA3C,CAF+B,CAG/B;AACA;AACA;;;AACA,cAAIR,aAAa,KAAK0H,cAAtB,EAAsC;AAClC,iBAAKC,uBAAL,CAA6B3H,aAA7B,EACKxmC,OADL,CACa;AAAA;AAAA,kBAAEouC,cAAF;AAAA,kBAAkBR,IAAlB;;AAAA,qBAA4B,OAAI,CAACS,cAAL,CAAoBD,cAApB,EAAoC/M,MAApC,EAA4CuM,IAA5C,CAA5B;AAAA,aADb;AAEH,WAHD,MAIK;AACD,iBAAKpB,8BAAL,CAAoCnL,MAApC,EADC,CAED;;;AACA,gBAAI,OAAOmF,aAAa,CAAClF,KAArB,KAA+B,UAAnC,EAA+C;AAC3CkF,2BAAa,CAAClF,KAAd,CAAoB5jC,OAApB;AACH;AACJ;AACJ;;;eACD,uBAAc;AAAA;;AACV,eAAKyuC,YAAL,CAAkBnsC,OAAlB,CAA0B,UAACsuC,KAAD,EAAQ/qC,OAAR;AAAA,mBAAoB,OAAI,CAACgrC,cAAL,CAAoBhrC,OAApB,CAApB;AAAA,WAA1B;AACH;AACD;;;;eACA,wBAAe;AACX,iBAAO,KAAK63B,SAAL,IAAkBt4B,QAAzB;AACH;AACD;;;;eACA,sBAAa;AACT,cAAM0rC,GAAG,GAAG,KAAKf,YAAL,EAAZ;;AACA,iBAAOe,GAAG,CAAC7K,WAAJ,IAAmB9gC,MAA1B;AACH;;;eACD,sBAAaU,OAAb,EAAsB4oB,SAAtB,EAAiCsiB,SAAjC,EAA4C;AACxC,cAAIA,SAAJ,EAAe;AACXlrC,mBAAO,CAACmuB,SAAR,CAAkBte,GAAlB,CAAsB+Y,SAAtB;AACH,WAFD,MAGK;AACD5oB,mBAAO,CAACmuB,SAAR,CAAkBE,MAAlB,CAAyBzF,SAAzB;AACH;AACJ;;;eACD,yBAAgBtnB,KAAhB,EAAuB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,cAAI,KAAKu8B,OAAT,EAAkB;AACd,mBAAO,KAAKA,OAAZ;AACH;;AACD,cAAI,KAAK8K,cAAL,IAAuB,KAAKwC,gBAAhC,EAAkD;AAC9C,mBAAO,KAAKA,gBAAZ;AACH,WAFD,MAGK,IAAI,KAAKC,iBAAL,CAAuB9pC,KAAvB,CAAJ,EAAmC;AACpC,mBAAO,OAAP;AACH,WAFI,MAGA;AACD,mBAAO,SAAP;AACH;AACJ;AACD;;;;;;;;eAKA,qBAAYtB,OAAZ,EAAqB89B,MAArB,EAA6B;AACzB,eAAKuN,YAAL,CAAkBrrC,OAAlB,EAA2B,aAA3B,EAA0C,CAAC,CAAC89B,MAA5C;;AACA,eAAKuN,YAAL,CAAkBrrC,OAAlB,EAA2B,mBAA3B,EAAgD89B,MAAM,KAAK,OAA3D;;AACA,eAAKuN,YAAL,CAAkBrrC,OAAlB,EAA2B,sBAA3B,EAAmD89B,MAAM,KAAK,UAA9D;;AACA,eAAKuN,YAAL,CAAkBrrC,OAAlB,EAA2B,mBAA3B,EAAgD89B,MAAM,KAAK,OAA3D;;AACA,eAAKuN,YAAL,CAAkBrrC,OAAlB,EAA2B,qBAA3B,EAAkD89B,MAAM,KAAK,SAA7D;AACH;AACD;;;;;;;;eAKA,wCAA+BA,MAA/B,EAAuC;AAAA;;AACnC,eAAKyC,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC,mBAAI,CAACxD,OAAL,GAAeC,MAAf;;AACA,gBAAI,OAAI,CAACgM,cAAL,KAAwB;AAAE;AAA9B,cAA+C;AAC3C;AACA;AACA;AACA,qBAAI,CAACwB,gBAAL,GAAwBlG,UAAU,CAAC;AAAA,uBAAM,OAAI,CAACvH,OAAL,GAAe,IAArB;AAAA,eAAD,EAA4B,CAA5B,CAAlC;AACH;AACJ,WARD;AASH;AACD;;;;;;;;eAKA,2BAAkBv8B,KAAlB,EAAyB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAMiqC,WAAW,GAAGjC,SAAS,CAAChoC,KAAD,CAA7B;AACA,iBAAO,KAAK0nC,gBAAL,YAAiCpE,IAAjC,IAAyC2G,WAAW,YAAY3G,IAAhE,KACF2G,WAAW,KAAK,KAAKvC,gBAArB,IAAyCuC,WAAW,CAAC3nC,QAAZ,CAAqB,KAAKolC,gBAA1B,CADvC,CAAP;AAEH;AACD;;;;;;;;eAKA,kBAAS1nC,KAAT,EAAgBtB,OAAhB,EAAyB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAMuqC,WAAW,GAAG,KAAK3B,YAAL,CAAkBrmC,GAAlB,CAAsBvC,OAAtB,CAApB;;AACA,cAAI,CAACuqC,WAAD,IAAiB,CAACA,WAAW,CAACP,aAAb,IAA8BhqC,OAAO,KAAKspC,SAAS,CAAChoC,KAAD,CAAxE,EAAkF;AAC9E;AACH;;AACD,eAAKwpC,cAAL,CAAoB9qC,OAApB,EAA6B,KAAKwrC,eAAL,CAAqBlqC,KAArB,CAA7B,EAA0DipC,WAA1D;AACH;AACD;;;;;;;;eAKA,iBAAQjpC,KAAR,EAAetB,OAAf,EAAwB;AACpB;AACA;AACA,cAAMuqC,WAAW,GAAG,KAAK3B,YAAL,CAAkBrmC,GAAlB,CAAsBvC,OAAtB,CAApB;;AACA,cAAI,CAACuqC,WAAD,IAAiBA,WAAW,CAACP,aAAZ,IAA6B1oC,KAAK,CAACmqC,aAAN,YAA+B7G,IAA5D,IACjB5kC,OAAO,CAAC4D,QAAR,CAAiBtC,KAAK,CAACmqC,aAAvB,CADJ,EAC4C;AACxC;AACH;;AACD,eAAKhB,WAAL,CAAiBzqC,OAAjB;;AACA,eAAK0rC,WAAL,CAAiBnB,WAAW,CAACH,OAA7B,EAAsC,IAAtC;AACH;;;eACD,qBAAYA,OAAZ,EAAqBtM,MAArB,EAA6B;AACzB,eAAKyC,OAAL,CAAaoL,GAAb,CAAiB;AAAA,mBAAMvB,OAAO,CAACv/B,IAAR,CAAaizB,MAAb,CAAN;AAAA,WAAjB;AACH;;;eACD,kCAAyByM,WAAzB,EAAsC;AAAA;;AAClC,cAAI,CAAC,KAAKpM,SAAL,CAAe9+B,SAApB,EAA+B;AAC3B;AACH;;AACD,cAAM4qC,QAAQ,GAAGM,WAAW,CAACN,QAA7B;AACA,cAAM2B,sBAAsB,GAAG,KAAK9C,2BAAL,CAAiCvmC,GAAjC,CAAqC0nC,QAArC,KAAkD,CAAjF;;AACA,cAAI,CAAC2B,sBAAL,EAA6B;AACzB,iBAAKrL,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC4I,sBAAQ,CAACtX,gBAAT,CAA0B,OAA1B,EAAmC,OAAI,CAAC8W,6BAAxC,EAAuElB,2BAAvE;AACA0B,sBAAQ,CAACtX,gBAAT,CAA0B,MAA1B,EAAkC,OAAI,CAAC8W,6BAAvC,EAAsElB,2BAAtE;AACH,aAHD;AAIH;;AACD,eAAKO,2BAAL,CAAiCtmC,GAAjC,CAAqCynC,QAArC,EAA+C2B,sBAAsB,GAAG,CAAxE,EAZkC,CAalC;;;AACA,cAAI,EAAE,KAAK/C,sBAAP,KAAkC,CAAtC,EAAyC;AACrC;AACA;AACA,iBAAKtI,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC,kBAAM9hC,QAAQ,GAAG,OAAI,CAAC2qC,YAAL,EAAjB;;AACA,kBAAM5qC,MAAM,GAAG,OAAI,CAACusC,UAAL,EAAf;;AACAtsC,sBAAQ,CAACozB,gBAAT,CAA0B,SAA1B,EAAqC,OAAI,CAACoW,wBAA1C,EAAoER,2BAApE;AACAhpC,sBAAQ,CAACozB,gBAAT,CAA0B,WAA1B,EAAuC,OAAI,CAACuW,0BAA5C,EAAwEX,2BAAxE;AACAhpC,sBAAQ,CAACozB,gBAAT,CAA0B,YAA1B,EAAwC,OAAI,CAACyW,2BAA7C,EAA0Eb,2BAA1E;AACAjpC,oBAAM,CAACqzB,gBAAP,CAAwB,OAAxB,EAAiC,OAAI,CAAC4W,oBAAtC;AACH,aAPD;AAQH;AACJ;;;eACD,gCAAuBgB,WAAvB,EAAoC;AAChC,cAAMN,QAAQ,GAAGM,WAAW,CAACN,QAA7B;;AACA,cAAI,KAAKnB,2BAAL,CAAiCh7B,GAAjC,CAAqCm8B,QAArC,CAAJ,EAAoD;AAChD,gBAAM2B,sBAAsB,GAAG,KAAK9C,2BAAL,CAAiCvmC,GAAjC,CAAqC0nC,QAArC,CAA/B;;AACA,gBAAI2B,sBAAsB,GAAG,CAA7B,EAAgC;AAC5B,mBAAK9C,2BAAL,CAAiCtmC,GAAjC,CAAqCynC,QAArC,EAA+C2B,sBAAsB,GAAG,CAAxE;AACH,aAFD,MAGK;AACD3B,sBAAQ,CAACvX,mBAAT,CAA6B,OAA7B,EAAsC,KAAK+W,6BAA3C,EAA0ElB,2BAA1E;AACA0B,sBAAQ,CAACvX,mBAAT,CAA6B,MAA7B,EAAqC,KAAK+W,6BAA1C,EAAyElB,2BAAzE;;AACA,mBAAKO,2BAAL,WAAwCmB,QAAxC;AACH;AACJ,WAZ+B,CAahC;;;AACA,cAAI,CAAC,GAAE,KAAKpB,sBAAZ,EAAoC;AAChC,gBAAMtpC,UAAQ,GAAG,KAAK2qC,YAAL,EAAjB;;AACA,gBAAM5qC,OAAM,GAAG,KAAKusC,UAAL,EAAf;;AACAtsC,sBAAQ,CAACmzB,mBAAT,CAA6B,SAA7B,EAAwC,KAAKqW,wBAA7C,EAAuER,2BAAvE;;AACAhpC,sBAAQ,CAACmzB,mBAAT,CAA6B,WAA7B,EAA0C,KAAKwW,0BAA/C,EAA2EX,2BAA3E;;AACAhpC,sBAAQ,CAACmzB,mBAAT,CAA6B,YAA7B,EAA2C,KAAK0W,2BAAhD,EAA6Eb,2BAA7E;;AACAjpC,mBAAM,CAACozB,mBAAP,CAA2B,OAA3B,EAAoC,KAAK6W,oBAAzC,EANgC,CAOhC;;;AACA5C,wBAAY,CAAC,KAAK6C,qBAAN,CAAZ;AACA7C,wBAAY,CAAC,KAAK0C,eAAN,CAAZ;AACA1C,wBAAY,CAAC,KAAK2E,gBAAN,CAAZ;AACH;AACJ;AACD;;;;eACA,wBAAetrC,OAAf,EAAwB89B,MAAxB,EAAgCyM,WAAhC,EAA6C;AACzC,eAAKE,WAAL,CAAiBzqC,OAAjB,EAA0B89B,MAA1B;;AACA,eAAK4N,WAAL,CAAiBnB,WAAW,CAACH,OAA7B,EAAsCtM,MAAtC;;AACA,eAAKqN,gBAAL,GAAwBrN,MAAxB;AACH;AACD;;;;;;;;eAKA,iCAAwB99B,OAAxB,EAAiC;AAC7B,cAAMsE,OAAO,GAAG,EAAhB;;AACA,eAAKskC,YAAL,CAAkBnsC,OAAlB,CAA0B,UAAC4tC,IAAD,EAAOQ,cAAP,EAA0B;AAChD,gBAAIA,cAAc,KAAK7qC,OAAnB,IAA+BqqC,IAAI,CAACL,aAAL,IAAsBa,cAAc,CAACjnC,QAAf,CAAwB5D,OAAxB,CAAzD,EAA4F;AACxFsE,qBAAO,CAAC3H,IAAR,CAAa,CAACkuC,cAAD,EAAiBR,IAAjB,CAAb;AACH;AACJ,WAJD;;AAKA,iBAAO/lC,OAAP;AACH;;;;;;AAELokC,gBAAY,CAACxiC,IAAb,GAAoB,SAAS4lC,oBAAT,CAA8B1lC,CAA9B,EAAiC;AAAE,aAAO,KAAKA,CAAC,IAAIsiC,YAAV,EAAwB,uDAAgB,oDAAhB,CAAxB,EAAwD,uDAAgB,8DAAhB,CAAxD,EAA0F,uDAAgB,wDAAhB,EAA0B,CAA1B,CAA1F,EAAwH,uDAAgBJ,6BAAhB,EAA+C,CAA/C,CAAxH,CAAP;AAAoL,KAA3O;;AACAI,gBAAY,CAACriC,KAAb,GAAqB,yEAAmB;AAAEE,aAAO,EAAE,SAASulC,oBAAT,GAAgC;AAAE,eAAO,IAAIpD,YAAJ,CAAiB,+DAAS,oDAAT,CAAjB,EAAmC,+DAAS,8DAAT,CAAnC,EAAuD,+DAAS,wDAAT,EAAmB,CAAnB,CAAvD,EAA8E,+DAASJ,6BAAT,EAAwC,CAAxC,CAA9E,CAAP;AAAmI,OAAhL;AAAkLhiC,WAAK,EAAEoiC,YAAzL;AAAuM9O,gBAAU,EAAE;AAAnN,KAAnB,CAArB;;AACA8O,gBAAY,CAAC7O,cAAb,GAA8B;AAAA,aAAM,CAChC;AAAE3/B,YAAI,EAAE;AAAR,OADgC,EAEhC;AAAEA,YAAI,EAAE;AAAR,OAFgC,EAGhC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAArB;AAA/B,OAHgC,EAIhC;AAAEjmB,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACmoB,6BAAD;AAAtB,SAArB;AAA/B,OAJgC,CAAN;AAAA,KAA9B;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAO9hC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBkiC,YAAzB,EAAuC,CAAC;AAClGxuC,YAAI,EAAE,wDAD4F;AAElGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAF4F,OAAD,CAAvC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE;AAAR,SAAD,EAA0B;AAAEA,cAAI,EAAE;AAAR,SAA1B,EAAqD;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClG5/B,gBAAI,EAAE;AAD4F,WAAD,EAElG;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,wDAAD;AAFP,WAFkG;AAA/B,SAArD,EAKX;AAAEjmB,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE;AAD4B,WAAD,EAElC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACmoB,6BAAD;AAFP,WAFkC;AAA/B,SALW,CAAP;AAUF,OAb8C,EAa5C,IAb4C,CAAnD;AAae,KAb9B;AAcA;;;AACA,aAASgB,SAAT,CAAmBhoC,KAAnB,EAA0B;AACtB;AACA;AACA,aAAQA,KAAK,CAACyqC,YAAN,GAAqBzqC,KAAK,CAACyqC,YAAN,GAAqB,CAArB,CAArB,GAA+CzqC,KAAK,CAAC+W,MAA7D;AACH;AACD;;;;;;;;;;;QASM2zB,e;;;AACF,+BAAYnJ,WAAZ,EAAyBoJ,aAAzB,EAAwC;AAAA;;AACpC,aAAKpJ,WAAL,GAAmBA,WAAnB;AACA,aAAKoJ,aAAL,GAAqBA,aAArB;AACA,aAAKC,cAAL,GAAsB,IAAI,0DAAJ,EAAtB;AACH;;;;eACD,2BAAkB;AAAA;;AACd,cAAMlsC,OAAO,GAAG,KAAK6iC,WAAL,CAAiBI,aAAjC;AACA,eAAKkJ,oBAAL,GAA4B,KAAKF,aAAL,CAAmBG,OAAnB,CAA2BpsC,OAA3B,EAAoCA,OAAO,CAACy5B,QAAR,KAAqB,CAArB,IAA0Bz5B,OAAO,CAACo+B,YAAR,CAAqB,wBAArB,CAA9D,EACvBrD,SADuB,CACb,UAAA+C,MAAM;AAAA,mBAAI,OAAI,CAACoO,cAAL,CAAoBG,IAApB,CAAyBvO,MAAzB,CAAJ;AAAA,WADO,CAA5B;AAEH;;;eACD,uBAAc;AACV,eAAKmO,aAAL,CAAmBjB,cAAnB,CAAkC,KAAKnI,WAAvC;;AACA,cAAI,KAAKsJ,oBAAT,EAA+B;AAC3B,iBAAKA,oBAAL,CAA0BxQ,WAA1B;AACH;AACJ;;;;;;AAELqQ,mBAAe,CAAC9lC,IAAhB,GAAuB,SAASomC,uBAAT,CAAiClmC,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAI4lC,eAAV,EAA2B,gEAAyB,wDAAzB,CAA3B,EAAwE,gEAAyBtD,YAAzB,CAAxE,CAAP;AAAyH,KAAtL;;AACAsD,mBAAe,CAACnI,IAAhB,GAAuB,gEAAyB;AAAE3pC,UAAI,EAAE8xC,eAAR;AAAyBlI,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,wBAAL,EAA+B,EAA/B,CAAD,EAAqC,CAAC,EAAD,EAAK,wBAAL,EAA+B,EAA/B,CAArC,CAApC;AAA8GyI,aAAO,EAAE;AAAEL,sBAAc,EAAE;AAAlB;AAAvH,KAAzB,CAAvB;;AACAF,mBAAe,CAACnS,cAAhB,GAAiC;AAAA,aAAM,CACnC;AAAE3/B,YAAI,EAAE;AAAR,OADmC,EAEnC;AAAEA,YAAI,EAAEwuC;AAAR,OAFmC,CAAN;AAAA,KAAjC;;AAIAsD,mBAAe,CAAC9H,cAAhB,GAAiC;AAC7BgI,oBAAc,EAAE,CAAC;AAAEhyC,YAAI,EAAE;AAAR,OAAD;AADa,KAAjC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBwlC,eAAzB,EAA0C,CAAC;AACrG9xC,YAAI,EAAE,uDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE;AADX,SAAD;AAF+F,OAAD,CAA1C,EAK1D,YAAY;AAAE,eAAO,CAAC;AAAEpB,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAEwuC;AAAR,SAA9B,CAAP;AAA+D,OALnB,EAKqB;AAAEwD,sBAAc,EAAE,CAAC;AAC9FhyC,cAAI,EAAE;AADwF,SAAD;AAAlB,OALrB,CAAnD;AAOC,KAPhB;AASA;;;;;;;;AAOA;;;AACA,QAAMsyC,wBAAwB,GAAG,kCAAjC;AACA;;AACA,QAAMC,wBAAwB,GAAG,kCAAjC;AACA;;AACA,QAAMC,mCAAmC,GAAG,0BAA5C;AACA;;;;;;;;;;;;QAWMC,wB;;;AACF,wCAAYxO,SAAZ,EAAuB5+B,QAAvB,EAAiC;AAAA;;AAC7B,aAAK4+B,SAAL,GAAiBA,SAAjB;AACA,aAAKtG,SAAL,GAAiBt4B,QAAjB;AACH;AACD;;;;;eACA,+BAAsB;AAClB,cAAI,CAAC,KAAK4+B,SAAL,CAAe9+B,SAApB,EAA+B;AAC3B,mBAAO;AAAE;AAAT;AACH,WAHiB,CAIlB;AACA;AACA;;;AACA,cAAMutC,WAAW,GAAG,KAAK/U,SAAL,CAAepD,aAAf,CAA6B,KAA7B,CAApB;;AACAmY,qBAAW,CAAClyC,KAAZ,CAAkBmyC,eAAlB,GAAoC,YAApC;AACAD,qBAAW,CAAClyC,KAAZ,CAAkBuC,QAAlB,GAA6B,UAA7B;;AACA,eAAK46B,SAAL,CAAexyB,IAAf,CAAoB0vB,WAApB,CAAgC6X,WAAhC,EAVkB,CAWlB;AACA;AACA;AACA;;;AACA,cAAME,cAAc,GAAG,KAAKjV,SAAL,CAAeuI,WAAf,IAA8B9gC,MAArD;AACA,cAAMytC,aAAa,GAAID,cAAc,IAAIA,cAAc,CAACngC,gBAAlC,GAClBmgC,cAAc,CAACngC,gBAAf,CAAgCigC,WAAhC,CADkB,GAC6B,IADnD;AAEA,cAAMI,aAAa,GAAG,CAACD,aAAa,IAAIA,aAAa,CAACF,eAA/B,IAAkD,EAAnD,EAAuDhnC,OAAvD,CAA+D,IAA/D,EAAqE,EAArE,CAAtB;;AACA,eAAKgyB,SAAL,CAAexyB,IAAf,CAAoB+vB,WAApB,CAAgCwX,WAAhC;;AACA,kBAAQI,aAAR;AACI,iBAAK,YAAL;AAAmB,qBAAO;AAAE;AAAT;;AACnB,iBAAK,kBAAL;AAAyB,qBAAO;AAAE;AAAT;AAF7B;;AAIA,iBAAO;AAAE;AAAT;AACH;AACD;;;;eACA,gDAAuC;AACnC,cAAI,KAAK7O,SAAL,CAAe9+B,SAAf,IAA4B,KAAKw4B,SAAL,CAAexyB,IAA/C,EAAqD;AACjD,gBAAM4nC,WAAW,GAAG,KAAKpV,SAAL,CAAexyB,IAAf,CAAoB8oB,SAAxC,CADiD,CAEjD;;AACA8e,uBAAW,CAAC5e,MAAZ,CAAmBqe,mCAAnB;AACAO,uBAAW,CAAC5e,MAAZ,CAAmBme,wBAAnB;AACAS,uBAAW,CAAC5e,MAAZ,CAAmBoe,wBAAnB;AACA,gBAAMS,IAAI,GAAG,KAAKC,mBAAL,EAAb;;AACA,gBAAID,IAAI,KAAK;AAAE;AAAf,cAAqC;AACjCD,yBAAW,CAACp9B,GAAZ,CAAgB68B,mCAAhB;AACAO,yBAAW,CAACp9B,GAAZ,CAAgB28B,wBAAhB;AACH,aAHD,MAIK,IAAIU,IAAI,KAAK;AAAE;AAAf,cAAqC;AACtCD,yBAAW,CAACp9B,GAAZ,CAAgB68B,mCAAhB;AACAO,yBAAW,CAACp9B,GAAZ,CAAgB48B,wBAAhB;AACH;AACJ;AACJ;;;;;;AAELE,4BAAwB,CAACzmC,IAAzB,GAAgC,SAASknC,gCAAT,CAA0ChnC,CAA1C,EAA6C;AAAE,aAAO,KAAKA,CAAC,IAAIumC,wBAAV,EAAoC,uDAAgB,8DAAhB,CAApC,EAAsE,uDAAgB,wDAAhB,CAAtE,CAAP;AAA0G,KAAzL;;AACAA,4BAAwB,CAACtmC,KAAzB,GAAiC,yEAAmB;AAAEE,aAAO,EAAE,SAAS6mC,gCAAT,GAA4C;AAAE,eAAO,IAAIT,wBAAJ,CAA6B,+DAAS,8DAAT,CAA7B,EAAiD,+DAAS,wDAAT,CAAjD,CAAP;AAA8E,OAAvI;AAAyIrmC,WAAK,EAAEqmC,wBAAhJ;AAA0K/S,gBAAU,EAAE;AAAtL,KAAnB,CAAjC;;AACA+S,4BAAwB,CAAC9S,cAAzB,GAA0C;AAAA,aAAM,CAC5C;AAAE3/B,YAAI,EAAE;AAAR,OAD4C,EAE5C;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAF4C,CAAN;AAAA,KAA1C;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBmmC,wBAAzB,EAAmD,CAAC;AAC9GzyC,YAAI,EAAE,wDADwG;AAE9GimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFwG,OAAD,CAAnD,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE;AAAR,SAAD,EAA4B;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AACzE5/B,gBAAI,EAAE,oDADmE;AAEzEimB,gBAAI,EAAE,CAAC,wDAAD;AAFmE,WAAD;AAA/B,SAA5B,CAAP;AAGF,OAN8C,EAM5C,IAN4C,CAAnD;AAMe,KAN9B;AAQA;;;;;;;;;QAOMktB,U,GACF,oBAAYC,wBAAZ,EAAsC;AAAA;;AAClCA,8BAAwB,CAACC,oCAAzB;AACH,K;;AAELF,cAAU,CAACnnC,IAAX,GAAkB,SAASsnC,kBAAT,CAA4BpnC,CAA5B,EAA+B;AAAE,aAAO,KAAKA,CAAC,IAAIinC,UAAV,EAAsB,uDAAgBV,wBAAhB,CAAtB,CAAP;AAA0E,KAA7H;;AACAU,cAAU,CAACI,IAAX,GAAkB,+DAAwB;AAAEvzC,UAAI,EAAEmzC;AAAR,KAAxB,CAAlB;AACAA,cAAU,CAACK,IAAX,GAAkB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAAC,oEAAD,EAAiB,sEAAjB,CAAD;AAAX,KAAxB,CAAlB;;AACAN,cAAU,CAACxT,cAAX,GAA4B;AAAA,aAAM,CAC9B;AAAE3/B,YAAI,EAAEyyC;AAAR,OAD8B,CAAN;AAAA,KAA5B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOiB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BP,UAA1B,EAAsC;AAAEQ,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAAC3G,WAAD,EAActE,YAAd,EAA4BoJ,eAA5B,CAAP;AAAsD,SAApF;AAAsF2B,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,oEAAD,EAAiB,sEAAjB,CAAP;AAA2C,SAAxJ;AAA0JG,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC5G,WAAD,EAActE,YAAd,EAA4BoJ,eAA5B,CAAP;AAAsD;AAAvO,OAAtC,CAAnD;AAAsU,KAArV;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOxlC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB6mC,UAAzB,EAAqC,CAAC;AAChGnzC,YAAI,EAAE,sDAD0F;AAEhGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAAC,oEAAD,EAAiB,sEAAjB,CADV;AAECE,sBAAY,EAAE,CAAC3G,WAAD,EAActE,YAAd,EAA4BoJ,eAA5B,CAFf;AAGC8B,iBAAO,EAAE,CAAC5G,WAAD,EAActE,YAAd,EAA4BoJ,eAA5B;AAHV,SAAD;AAF0F,OAAD,CAArC,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAE9xC,cAAI,EAAEyyC;AAAR,SAAD,CAAP;AAA8C,OAPF,EAOI,IAPJ,CAAnD;AAO+D,KAP9E;AASA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACpzEA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAKA;;;;;;;;AAOA;;;AAGA,QAAIlV,MAAM,GAAG,CAAb;AACA;;;;;;AAKA,QAAMsW,aAAa,GAAG,IAAI,4DAAJ,CAAmB,cAAnB,CAAtB;AACA;;;;QAGMC,Y;;;AACF,8BAAc;AAAA;;AACV;AACA,aAAKC,aAAL,GAAqB,IAAI,4CAAJ,EAArB;AACA;;AACA,aAAKC,oBAAL,GAA4B,IAAI,4CAAJ,EAA5B;AACA;;AACA,aAAKrrC,EAAL,2BAA2B40B,MAAM,EAAjC;AACA,aAAK0W,MAAL,GAAc,KAAd;AACH;AACD;;;;;aACA,eAAY;AAAE,iBAAO,KAAKA,MAAZ;AAAqB,S;aACnC,aAAU3qC,KAAV,EAAiB;AAAE,eAAK2qC,MAAL,GAAc,oFAAsB3qC,KAAtB,CAAd;AAA6C;AAChE;;;;eACA,mBAAU;AACN,cAAI,KAAK2qC,MAAT,EAAiB;AACb,iBAAKD,oBAAL,CAA0BrjC,IAA1B,CAA+B,IAA/B;AACH;AACJ;AACD;;;;eACA,oBAAW;AACP,eAAKqjC,oBAAL,CAA0BrjC,IAA1B,CAA+B,KAA/B;AACH;;;eACD,qBAAYiwB,OAAZ,EAAqB;AACjB,eAAKmT,aAAL,CAAmBpjC,IAAnB,CAAwBiwB,OAAxB;AACH;;;eACD,uBAAc;AACV,eAAKmT,aAAL,CAAmBzD,QAAnB;;AACA,eAAK0D,oBAAL,CAA0B1D,QAA1B;AACH;;;;;;AAELwD,gBAAY,CAAC9nC,IAAb,GAAoB,SAASkoC,oBAAT,CAA8BhoC,CAA9B,EAAiC;AAAE,aAAO,KAAKA,CAAC,IAAI4nC,YAAV,GAAP;AAAmC,KAA1F;;AACAA,gBAAY,CAACnK,IAAb,GAAoB,gEAAyB;AAAE3pC,UAAI,EAAE8zC,YAAR;AAAsBlK,eAAS,EAAE,CAAC,CAAC,eAAD,CAAD,EAAoB,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAApB,CAAjC;AAAgFC,YAAM,EAAE;AAAEvgC,aAAK,EAAE;AAAT,OAAxF;AAA4GwgC,cAAQ,EAAE,CAAC,cAAD,CAAtH;AAAwIC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAEN,aAAX;AAA0BO,mBAAW,EAAEN;AAAvC,OAAD,CAA1B,CAAD,EAAqF,kEAArF;AAAlJ,KAAzB,CAApB;AACAA,gBAAY,CAAC9J,cAAb,GAA8B;AAC1B1gC,WAAK,EAAE,CAAC;AAAEtJ,YAAI,EAAE;AAAR,OAAD;AADmB,KAA9B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBwnC,YAAzB,EAAuC,CAAC;AAClG9zC,YAAI,EAAE,uDAD4F;AAElGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,+BADX;AAEC0oC,kBAAQ,EAAE,cAFX;AAGCuK,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEN,aAAX;AAA0BO,uBAAW,EAAEN;AAAvC,WAAD;AAHZ,SAAD;AAF4F,OAAD,CAAvC,EAO1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAPgC,EAO9B;AAAExqC,aAAK,EAAE,CAAC;AAClCtJ,cAAI,EAAE;AAD4B,SAAD;AAAT,OAP8B,CAAnD;AASC,KAThB;AAWA;;;;;;;;AAOA;;;AACA,QAAIs0C,QAAQ,GAAG,CAAf;AACA,QAAMprC,EAAE,GAAGrB,SAAX;AACA;;;;;QAIM0sC,gB;;;AACF,gCAAYC,SAAZ,EAAuBC,kBAAvB,EAA2CC,oBAA3C,EAAiE;AAAA;;AAAA;;AAC7D,aAAKF,SAAL,GAAiBA,SAAjB;AACA,aAAKC,kBAAL,GAA0BA,kBAA1B;AACA,aAAKC,oBAAL,GAA4BA,oBAA5B;AACA;;AACA,aAAKC,yBAAL,GAAiC,kDAAavU,KAA9C;AACA;;AACA,aAAKwU,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;AACA,aAAKC,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;AACA,aAAK5pB,SAAL,GAAiB,IAAI,0DAAJ,EAAjB;AACA;;;;;;AAKA,aAAK6pB,cAAL,GAAsB,IAAI,0DAAJ,EAAtB;AACA;;AACA,aAAKnsC,EAAL,iCAAiC2rC,QAAQ,EAAzC;AACA,aAAKS,SAAL,GAAiB,KAAjB;AACA,aAAKC,SAAL,GAAiB,KAAjB;AACA;;AACA,aAAKC,8BAAL,GAAsC,YAAM,CAAG,CAA/C;;AACA,aAAKA,8BAAL,GACIP,oBAAoB,CAACxnB,MAArB,CAA4B,UAACvkB,EAAD,EAAKusC,WAAL,EAAqB;AAC7C,cAAI,OAAI,CAACV,SAAL,IAAkB,CAAC,OAAI,CAACA,SAAL,CAAelrC,KAAlC,IACA,OAAI,CAACkrC,SAAL,CAAe7rC,EAAf,KAAsBusC,WADtB,IACqC,OAAI,CAACvsC,EAAL,KAAYA,EADrD,EACyD;AACrD,mBAAI,CAACwsC,QAAL,GAAgB,KAAhB;AACH;AACJ,SALD,CADJ,CAxB6D,CA+B7D;;AACA,YAAI,KAAKX,SAAT,EAAoB;AAChB,eAAKG,yBAAL,GAAiC,KAAKS,+BAAL,EAAjC;AACH;AACJ;AACD;;;;;aACA,eAAe;AAAE,iBAAO,KAAKL,SAAZ;AAAwB,S;aACzC,aAAaI,QAAb,EAAuB;AACnBA,kBAAQ,GAAG,oFAAsBA,QAAtB,CAAX,CADmB,CAEnB;;AACA,cAAI,KAAKJ,SAAL,KAAmBI,QAAvB,EAAiC;AAC7B,iBAAKJ,SAAL,GAAiBI,QAAjB;AACA,iBAAKL,cAAL,CAAoB3C,IAApB,CAAyBgD,QAAzB;;AACA,gBAAIA,QAAJ,EAAc;AACV,mBAAKN,MAAL,CAAY1C,IAAZ;AACA;;;;;AAIA,kBAAM+C,WAAW,GAAG,KAAKV,SAAL,GAAiB,KAAKA,SAAL,CAAe7rC,EAAhC,GAAqC,KAAKA,EAA9D;;AACA,mBAAK+rC,oBAAL,CAA0BW,MAA1B,CAAiC,KAAK1sC,EAAtC,EAA0CusC,WAA1C;AACH,aARD,MASK;AACD,mBAAKN,MAAL,CAAYzC,IAAZ;AACH,aAd4B,CAe7B;AACA;;;AACA,iBAAKsC,kBAAL,CAAwBa,YAAxB;AACH;AACJ;AACD;;;;aACA,eAAe;AAAE,iBAAO,KAAKN,SAAZ;AAAwB,S;aACzC,aAAaxtC,QAAb,EAAuB;AAAE,eAAKwtC,SAAL,GAAiB,oFAAsBxtC,QAAtB,CAAjB;AAAmD;AAC5E;;;;eACA,uBAAc;AACV,eAAKqtC,MAAL,CAAYvE,QAAZ;AACA,eAAKsE,MAAL,CAAYtE,QAAZ;AACA,eAAKrlB,SAAL,CAAeknB,IAAf;AACA,eAAKlnB,SAAL,CAAeqlB,QAAf;;AACA,eAAK2E,8BAAL;;AACA,eAAKN,yBAAL,CAA+BlT,WAA/B;AACH;AACD;;;;eACA,kBAAS;AACL,cAAI,CAAC,KAAKj6B,QAAV,EAAoB;AAChB,iBAAK2tC,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACH;AACJ;AACD;;;;eACA,iBAAQ;AACJ,cAAI,CAAC,KAAK3tC,QAAV,EAAoB;AAChB,iBAAK2tC,QAAL,GAAgB,KAAhB;AACH;AACJ;AACD;;;;eACA,gBAAO;AACH,cAAI,CAAC,KAAK3tC,QAAV,EAAoB;AAChB,iBAAK2tC,QAAL,GAAgB,IAAhB;AACH;AACJ;;;eACD,2CAAkC;AAAA;;AAC9B,iBAAO,KAAKX,SAAL,CAAeR,oBAAf,CAAoCnT,SAApC,CAA8C,UAAAsU,QAAQ,EAAI;AAC7D;AACA,gBAAI,CAAC,OAAI,CAAC3tC,QAAV,EAAoB;AAChB,qBAAI,CAAC2tC,QAAL,GAAgBA,QAAhB;AACH;AACJ,WALM,CAAP;AAMH;;;;;;AAELZ,oBAAgB,CAACvoC,IAAjB,GAAwB,SAASupC,wBAAT,CAAkCrpC,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAIqoC,gBAAV,EAA4B,gEAAyBV,aAAzB,EAAwC,EAAxC,CAA5B,EAAyE,gEAAyB,+DAAzB,CAAzE,EAA6H,gEAAyB,kFAAzB,CAA7H,CAAP;AAAkM,KAAjQ;;AACAU,oBAAgB,CAAC5K,IAAjB,GAAwB,gEAAyB;AAAE3pC,UAAI,EAAEu0C,gBAAR;AAA0B3K,eAAS,EAAE,CAAC,CAAC,oBAAD,CAAD,EAAyB,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAAzB,CAArC;AAA6FC,YAAM,EAAE;AAAEsL,gBAAQ,EAAE,UAAZ;AAAwB3tC,gBAAQ,EAAE;AAAlC,OAArG;AAAqJ6qC,aAAO,EAAE;AAAEuC,cAAM,EAAE,QAAV;AAAoBC,cAAM,EAAE,QAA5B;AAAsC5pB,iBAAS,EAAE,WAAjD;AAA8D6pB,sBAAc,EAAE;AAA9E,OAA9J;AAAgQhL,cAAQ,EAAE,CAAC,kBAAD,CAA1Q;AAAgSC,cAAQ,EAAE,CAAC,iEAA0B,CAC1W;AACA;AACA;AAAEoK,eAAO,EAAEN,aAAX;AAA0B2B,gBAAQ,EAAEtsC;AAApC,OAH0W,CAA1B,CAAD;AAA1S,KAAzB,CAAxB;;AAKAqrC,oBAAgB,CAAC5U,cAAjB,GAAkC;AAAA,aAAM,CACpC;AAAE3/B,YAAI,EAAE8zC,YAAR;AAAsBlU,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC4tB,aAAD;AAAtB,SAArB,EAA+D;AAAE7zC,cAAI,EAAE;AAAR,SAA/D;AAAlC,OADoC,EAEpC;AAAEA,YAAI,EAAE;AAAR,OAFoC,EAGpC;AAAEA,YAAI,EAAE;AAAR,OAHoC,CAAN;AAAA,KAAlC;;AAKAu0C,oBAAgB,CAACvK,cAAjB,GAAkC;AAC9B4K,YAAM,EAAE,CAAC;AAAE50C,YAAI,EAAE;AAAR,OAAD,CADsB;AAE9B60C,YAAM,EAAE,CAAC;AAAE70C,YAAI,EAAE;AAAR,OAAD,CAFsB;AAG9BirB,eAAS,EAAE,CAAC;AAAEjrB,YAAI,EAAE;AAAR,OAAD,CAHmB;AAI9B80C,oBAAc,EAAE,CAAC;AAAE90C,YAAI,EAAE;AAAR,OAAD,CAJc;AAK9Bm1C,cAAQ,EAAE,CAAC;AAAEn1C,YAAI,EAAE;AAAR,OAAD,CALoB;AAM9BwH,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE;AAAR,OAAD;AANoB,KAAlC;;AAQA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBioC,gBAAzB,EAA2C,CAAC;AACtGv0C,YAAI,EAAE,uDADgG;AAEtGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,wCADX;AAEC0oC,kBAAQ,EAAE,kBAFX;AAGCuK,mBAAS,EAAE,CACP;AACA;AACA;AAAEF,mBAAO,EAAEN,aAAX;AAA0B2B,oBAAQ,EAAEtsC;AAApC,WAHO;AAHZ,SAAD;AAFgG,OAAD,CAA3C,EAW1D,YAAY;AAAE,eAAO,CAAC;AAAElJ,cAAI,EAAE8zC,YAAR;AAAsBlU,oBAAU,EAAE,CAAC;AACjD5/B,gBAAI,EAAE;AAD2C,WAAD,EAEjD;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC4tB,aAAD;AAFP,WAFiD,EAKjD;AACC7zC,gBAAI,EAAE;AADP,WALiD;AAAlC,SAAD,EAOX;AAAEA,cAAI,EAAE;AAAR,SAPW,EAOyB;AAAEA,cAAI,EAAE;AAAR,SAPzB,CAAP;AAO8E,OAlBlC,EAkBoC;AAAE40C,cAAM,EAAE,CAAC;AACrG50C,cAAI,EAAE;AAD+F,SAAD,CAAV;AAE1F60C,cAAM,EAAE,CAAC;AACT70C,cAAI,EAAE;AADG,SAAD,CAFkF;AAI1FirB,iBAAS,EAAE,CAAC;AACZjrB,cAAI,EAAE;AADM,SAAD,CAJ+E;AAM1F80C,sBAAc,EAAE,CAAC;AACjB90C,cAAI,EAAE;AADW,SAAD,CAN0E;AAQ1Fm1C,gBAAQ,EAAE,CAAC;AACXn1C,cAAI,EAAE;AADK,SAAD,CARgF;AAU1FwH,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE;AADK,SAAD;AAVgF,OAlBpC,CAAnD;AA8BC,KA9BhB;AAgCA;;;;;;;;;QAOMy1C,kB;;;;AAENA,sBAAkB,CAACzpC,IAAnB,GAA0B,SAAS0pC,0BAAT,CAAoCxpC,CAApC,EAAuC;AAAE,aAAO,KAAKA,CAAC,IAAIupC,kBAAV,GAAP;AAAyC,KAA5G;;AACAA,sBAAkB,CAAClC,IAAnB,GAA0B,+DAAwB;AAAEvzC,UAAI,EAAEy1C;AAAR,KAAxB,CAA1B;AACAA,sBAAkB,CAACjC,IAAnB,GAA0B,+DAAwB,EAAxB,CAA1B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B+B,kBAA1B,EAA8C;AAAE9B,oBAAY,EAAE,CAACG,YAAD,EAAeS,gBAAf,CAAhB;AAAkDX,eAAO,EAAE,CAACE,YAAD,EAAeS,gBAAf;AAA3D,OAA9C,CAAnD;AAAkM,KAAjN;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOjoC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBmpC,kBAAzB,EAA6C,CAAC;AACxGz1C,YAAI,EAAE,sDADkG;AAExGimB,YAAI,EAAE,CAAC;AACC2tB,iBAAO,EAAE,CAACE,YAAD,EAAeS,gBAAf,CADV;AAECZ,sBAAY,EAAE,CAACG,YAAD,EAAeS,gBAAf;AAFf,SAAD;AAFkG,OAAD,CAA7C,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAQA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACjRA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAGA;;;;;;;;AAOA;;;;;;;;;;;;;;;;;AAgBA,QAAMoB,YAAY,GAAG,IAAI,4DAAJ,CAAmB,aAAnB,EAAkC;AACnDjW,gBAAU,EAAE,MADuC;AAEnDrzB,aAAO,EAAEupC;AAF0C,KAAlC,CAArB;AAIA;;AACA,aAASA,oBAAT,GAAgC;AAC5B,aAAO,6DAAO,wDAAP,CAAP;AACH;AAED;;;;;;;;AAOA;;;;;;QAIMC,c;;;AACF,8BAAYlY,SAAZ,EAAuB;AAAA;;AACnB;AACA,aAAKx1B,KAAL,GAAa,KAAb;AACA;;AACA,aAAKw4B,MAAL,GAAc,IAAI,0DAAJ,EAAd;;AACA,YAAIhD,SAAJ,EAAe;AACX;AACA;AACA;AACA;AACA,cAAMmY,OAAO,GAAGnY,SAAS,CAACxyB,IAAV,GAAiBwyB,SAAS,CAACxyB,IAAV,CAAe4qC,GAAhC,GAAsC,IAAtD;AACA,cAAMC,OAAO,GAAGrY,SAAS,CAACsY,eAAV,GAA4BtY,SAAS,CAACsY,eAAV,CAA0BF,GAAtD,GAA4D,IAA5E;AACA,cAAM5tC,KAAK,GAAG2tC,OAAO,IAAIE,OAAzB;AACA,eAAK7tC,KAAL,GAAcA,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,KAA9B,GAAuCA,KAAvC,GAA+C,KAA5D;AACH;AACJ;;;;eACD,uBAAc;AACV,eAAKw4B,MAAL,CAAY2P,QAAZ;AACH;;;;;;AAELuF,kBAAc,CAAC7pC,IAAf,GAAsB,SAASkqC,sBAAT,CAAgChqC,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI2pC,cAAV,EAA0B,uDAAgBF,YAAhB,EAA8B,CAA9B,CAA1B,CAAP;AAAqE,KAAhI;;AACAE,kBAAc,CAAC1pC,KAAf,GAAuB,yEAAmB;AAAEE,aAAO,EAAE,SAAS6pC,sBAAT,GAAkC;AAAE,eAAO,IAAIL,cAAJ,CAAmB,+DAASF,YAAT,EAAuB,CAAvB,CAAnB,CAAP;AAAuD,OAAtG;AAAwGvpC,WAAK,EAAEypC,cAA/G;AAA+HnW,gBAAU,EAAE;AAA3I,KAAnB,CAAvB;;AACAmW,kBAAc,CAAClW,cAAf,GAAgC;AAAA,aAAM,CAClC;AAAE3/B,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC0vB,YAAD;AAAtB,SAArB;AAA/B,OADkC,CAAN;AAAA,KAAhC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOrpC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBupC,cAAzB,EAAyC,CAAC;AACpG71C,YAAI,EAAE,wDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAF8F,OAAD,CAAzC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE;AADwC,WAAD,EAE9C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC0vB,YAAD;AAFP,WAF8C;AAA/B,SAAD,CAAP;AAKF,OAR8C,EAQ5C,IAR4C,CAAnD;AAQe,KAR9B;AAUA;;;;;;;;AAOA;;;;;;;;QAMMQ,G;;;AACF,qBAAc;AAAA;;AACV;AACA,aAAKC,IAAL,GAAY,KAAZ;AACA;;AACA,aAAKC,cAAL,GAAsB,KAAtB;AACA;;AACA,aAAK1V,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACH;AACD;;;;;aACA,eAAU;AAAE,iBAAO,KAAKyV,IAAZ;AAAmB,S;aAC/B,aAAQjuC,KAAR,EAAe;AACX,cAAMmuC,GAAG,GAAG,KAAKF,IAAjB;AACA,cAAMxvC,eAAe,GAAGuB,KAAK,GAAGA,KAAK,CAAC6I,WAAN,EAAH,GAAyB7I,KAAtD;AACA,eAAKouC,OAAL,GAAepuC,KAAf;AACA,eAAKiuC,IAAL,GAAaxvC,eAAe,KAAK,KAApB,IAA6BA,eAAe,KAAK,KAAlD,GAA2DA,eAA3D,GAA6E,KAAzF;;AACA,cAAI0vC,GAAG,KAAK,KAAKF,IAAb,IAAqB,KAAKC,cAA9B,EAA8C;AAC1C,iBAAK1V,MAAL,CAAYwR,IAAZ,CAAiB,KAAKiE,IAAtB;AACH;AACJ;AACD;;;;aACA,eAAY;AAAE,iBAAO,KAAKL,GAAZ;AAAkB;AAChC;;;;eACA,8BAAqB;AACjB,eAAKM,cAAL,GAAsB,IAAtB;AACH;;;eACD,uBAAc;AACV,eAAK1V,MAAL,CAAY2P,QAAZ;AACH;;;;;;AAEL6F,OAAG,CAACnqC,IAAJ,GAAW,SAASwqC,WAAT,CAAqBtqC,CAArB,EAAwB;AAAE,aAAO,KAAKA,CAAC,IAAIiqC,GAAV,GAAP;AAA0B,KAA/D;;AACAA,OAAG,CAACxM,IAAJ,GAAW,gEAAyB;AAAE3pC,UAAI,EAAEm2C,GAAR;AAAavM,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,KAAL,EAAY,EAAZ,CAAD,CAAxB;AAA2C6M,cAAQ,EAAE,CAArD;AAAwDC,kBAAY,EAAE,SAASC,gBAAT,CAA0BC,EAA1B,EAA8B76B,GAA9B,EAAmC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACnJ,oEAAmB,KAAnB,EAA0B76B,GAAG,CAACw6B,OAA9B;AACH;AAAE,OAF6B;AAE3B1M,YAAM,EAAE;AAAEkM,WAAG,EAAE;AAAP,OAFmB;AAEH1D,aAAO,EAAE;AAAE1R,cAAM,EAAE;AAAV,OAFN;AAE+BmJ,cAAQ,EAAE,CAAC,KAAD,CAFzC;AAEkDC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAE0B,cAAX;AAA2BzB,mBAAW,EAAE+B;AAAxC,OAAD,CAA1B,CAAD;AAF5D,KAAzB,CAAX;AAGAA,OAAG,CAACnM,cAAJ,GAAqB;AACjBrJ,YAAM,EAAE,CAAC;AAAE3gC,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,WAAD;AAAtB,OAAD,CADS;AAEjB8vB,SAAG,EAAE,CAAC;AAAE/1C,YAAI,EAAE;AAAR,OAAD;AAFY,KAArB;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB6pC,GAAzB,EAA8B,CAAC;AACzFn2C,YAAI,EAAE,uDADmF;AAEzFimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,OADX;AAECizC,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAE0B,cAAX;AAA2BzB,uBAAW,EAAE+B;AAAxC,WAAD,CAFZ;AAGCU,cAAI,EAAE;AAAE,0BAAc;AAAhB,WAHP;AAIC/M,kBAAQ,EAAE;AAJX,SAAD;AAFmF,OAAD,CAA9B,EAQ1D,YAAY;AAAE,eAAO,EAAP;AAAY,OARgC,EAQ9B;AAAEnJ,cAAM,EAAE,CAAC;AACnC3gC,cAAI,EAAE,oDAD6B;AAEnCimB,cAAI,EAAE,CAAC,WAAD;AAF6B,SAAD,CAAV;AAGxB8vB,WAAG,EAAE,CAAC;AACN/1C,cAAI,EAAE;AADA,SAAD;AAHmB,OAR8B,CAAnD;AAaC,KAbhB;AAeA;;;;;;;;;QAOM82C,U;;;;AAENA,cAAU,CAAC9qC,IAAX,GAAkB,SAAS+qC,kBAAT,CAA4B7qC,CAA5B,EAA+B;AAAE,aAAO,KAAKA,CAAC,IAAI4qC,UAAV,GAAP;AAAiC,KAApF;;AACAA,cAAU,CAACvD,IAAX,GAAkB,+DAAwB;AAAEvzC,UAAI,EAAE82C;AAAR,KAAxB,CAAlB;AACAA,cAAU,CAACtD,IAAX,GAAkB,+DAAwB,EAAxB,CAAlB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BoD,UAA1B,EAAsC;AAAEnD,oBAAY,EAAE,CAACwC,GAAD,CAAhB;AAAuBvC,eAAO,EAAE,CAACuC,GAAD;AAAhC,OAAtC,CAAnD;AAAoI,KAAnJ;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO7pC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBwqC,UAAzB,EAAqC,CAAC;AAChG92C,YAAI,EAAE,sDAD0F;AAEhGimB,YAAI,EAAE,CAAC;AACC2tB,iBAAO,EAAE,CAACuC,GAAD,CADV;AAECxC,sBAAY,EAAE,CAACwC,GAAD;AAFf,SAAD;AAF0F,OAAD,CAArC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAQA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACvLA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAGA;;;;;;;;;QAQMa,U;;;AAEN;;;AACA,aAASC,YAAT,CAAsB9uC,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,aAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC+uC,OAAb,KAAyB,UAAzC;AACH;AAED;;;;;;;;AAOA;;;QACMC,e;;;;;;;AACF,+BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACf;AACA,gBAAKA,KAAL,GAAaA,KAAb;AAFe;AAGlB;;;;eACD,mBAAU;AACN,iBAAO,0DAAa,KAAKA,KAAlB,IAA2B,KAAKA,KAAhC,GAAwC,gDAAG,KAAKA,KAAR,CAA/C;AACH;;;eACD,sBAAa,CAAG;;;;MARUJ,U;AAW9B;;;;;;;;AAQA;;;;;;;;AAOA;;;;;;;;;;;QASMK,4B;;;;;;;;;eACF,sBAAazW,OAAb,EAAsB0W,gBAAtB,EAAwCC,kBAAxC,EAA4DC,iBAA5D,EAA+EC,eAA/E,EAAgG;AAC5F7W,iBAAO,CAAC8W,gBAAR,CAAyB,UAACC,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,EAAiD;AACtE,gBAAIC,IAAJ;AACA,gBAAIC,SAAJ;;AACA,gBAAIJ,MAAM,CAACK,aAAP,IAAwB,IAA5B,EAAkC;AAC9B,kBAAMC,aAAa,GAAGV,kBAAkB,CAACI,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,CAAxC;AACAC,kBAAI,GAAGR,gBAAgB,CAACY,kBAAjB,CAAoCD,aAAa,CAACE,WAAlD,EAA+DF,aAAa,CAACtmC,OAA7E,EAAsFsmC,aAAa,CAAClyB,KAApG,CAAP;AACAgyB,uBAAS,GAAG;AAAE;AAAd;AACH,aAJD,MAKK,IAAIF,YAAY,IAAI,IAApB,EAA0B;AAC3BP,8BAAgB,CAACnjB,MAAjB,CAAwByjB,qBAAxB;AACAG,uBAAS,GAAG;AAAE;AAAd;AACH,aAHI,MAIA;AACDD,kBAAI,GAAGR,gBAAgB,CAACjvC,GAAjB,CAAqBuvC,qBAArB,CAAP;AACAN,8BAAgB,CAACc,IAAjB,CAAsBN,IAAtB,EAA4BD,YAA5B;AACAE,uBAAS,GAAG;AAAE;AAAd;AACH;;AACD,gBAAIN,eAAJ,EAAqB;AACjBA,6BAAe,CAAC;AACZ9lC,uBAAO,EAAEmmC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACnmC,OAD9C;AAEZomC,yBAAS,EAATA,SAFY;AAGZJ,sBAAM,EAANA;AAHY,eAAD,CAAf;AAKH;AACJ,WAxBD;AAyBH;;;eACD,kBAAS,CACR;;;;;AAGL;;;;;;;;AAOA;;;;;;;;;;;;;QAWMU,4B;;;AACF,8CAAc;AAAA;;AACV;;;;AAIA,aAAKC,aAAL,GAAqB,EAArB;AACA;;;;;;;;AAOA,aAAKC,UAAL,GAAkB,EAAlB;AACH;AACD;;;;;eACA,sBAAa3X,OAAb,EAAsB0W,gBAAtB,EAAwCC,kBAAxC,EAA4DC,iBAA5D,EAA+EC,eAA/E,EAAgG;AAAA;;AAC5F;AACA7W,iBAAO,CAAC8W,gBAAR,CAAyB,UAACC,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,EAAiD;AACtE,gBAAIC,IAAJ;AACA,gBAAIC,SAAJ;;AACA,gBAAIJ,MAAM,CAACK,aAAP,IAAwB,IAA5B,EAAkC;AAAE;AAChC,kBAAMQ,eAAe,GAAG,SAAlBA,eAAkB;AAAA,uBAAMjB,kBAAkB,CAACI,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,CAAxB;AAAA,eAAxB;;AACAC,kBAAI,GAAG,OAAI,CAACW,WAAL,CAAiBD,eAAjB,EAAkCX,YAAlC,EAAgDP,gBAAhD,EAAkEE,iBAAiB,CAACG,MAAD,CAAnF,CAAP;AACAI,uBAAS,GAAGD,IAAI,GAAG;AAAE;AAAL,gBAAsB;AAAE;AAAxC;AACH,aAJD,MAKK,IAAID,YAAY,IAAI,IAApB,EAA0B;AAAE;AAC7B,qBAAI,CAACa,mBAAL,CAAyBd,qBAAzB,EAAgDN,gBAAhD;;AACAS,uBAAS,GAAG;AAAE;AAAd;AACH,aAHI,MAIA;AAAE;AACHD,kBAAI,GAAG,OAAI,CAACa,SAAL,CAAef,qBAAf,EAAsCC,YAAtC,EAAoDP,gBAApD,EAAsEE,iBAAiB,CAACG,MAAD,CAAvF,CAAP;AACAI,uBAAS,GAAG;AAAE;AAAd;AACH;;AACD,gBAAIN,eAAJ,EAAqB;AACjBA,6BAAe,CAAC;AACZ9lC,uBAAO,EAAEmmC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACnmC,OAD9C;AAEZomC,yBAAS,EAATA,SAFY;AAGZJ,sBAAM,EAANA;AAHY,eAAD,CAAf;AAKH;AACJ,WAvBD;AAwBH;;;eACD,kBAAS;AAAA,sDACc,KAAKY,UADnB;AAAA;;AAAA;AACL,mEAAoC;AAAA,kBAAzBT,IAAyB;AAChCA,kBAAI,CAACvzC,OAAL;AACH;AAHI;AAAA;AAAA;AAAA;AAAA;;AAIL,eAAKg0C,UAAL,GAAkB,EAAlB;AACH;AACD;;;;;;;eAIA,qBAAYC,eAAZ,EAA6BX,YAA7B,EAA2CP,gBAA3C,EAA6DnvC,KAA7D,EAAoE;AAChE,cAAMywC,UAAU,GAAG,KAAKC,oBAAL,CAA0BhB,YAA1B,EAAwCP,gBAAxC,CAAnB;;AACA,cAAIsB,UAAJ,EAAgB;AACZA,sBAAU,CAACjnC,OAAX,CAAmBmnC,SAAnB,GAA+B3wC,KAA/B;AACA,mBAAON,SAAP;AACH;;AACD,cAAMkxC,QAAQ,GAAGP,eAAe,EAAhC;AACA,iBAAOlB,gBAAgB,CAACY,kBAAjB,CAAoCa,QAAQ,CAACZ,WAA7C,EAA0DY,QAAQ,CAACpnC,OAAnE,EAA4EonC,QAAQ,CAAChzB,KAArF,CAAP;AACH;AACD;;;;eACA,6BAAoBA,KAApB,EAA2BuxB,gBAA3B,EAA6C;AACzC,cAAM0B,YAAY,GAAG1B,gBAAgB,CAAC2B,MAAjB,CAAwBlzB,KAAxB,CAArB;;AACA,eAAKmzB,eAAL,CAAqBF,YAArB,EAAmC1B,gBAAnC;AACH;AACD;;;;eACA,mBAAUM,qBAAV,EAAiCC,YAAjC,EAA+CP,gBAA/C,EAAiEnvC,KAAjE,EAAwE;AACpE,cAAM2vC,IAAI,GAAGR,gBAAgB,CAACjvC,GAAjB,CAAqBuvC,qBAArB,CAAb;AACAN,0BAAgB,CAACc,IAAjB,CAAsBN,IAAtB,EAA4BD,YAA5B;AACAC,cAAI,CAACnmC,OAAL,CAAamnC,SAAb,GAAyB3wC,KAAzB;AACA,iBAAO2vC,IAAP;AACH;AACD;;;;;;;eAIA,yBAAgBA,IAAhB,EAAsBR,gBAAtB,EAAwC;AACpC,cAAI,KAAKiB,UAAL,CAAgBr1C,MAAhB,GAAyB,KAAKo1C,aAAlC,EAAiD;AAC7C,iBAAKC,UAAL,CAAgB91C,IAAhB,CAAqBq1C,IAArB;AACH,WAFD,MAGK;AACD,gBAAM/xB,KAAK,GAAGuxB,gBAAgB,CAAC5uC,OAAjB,CAAyBovC,IAAzB,CAAd,CADC,CAED;AACA;AACA;AACA;;AACA,gBAAI/xB,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd+xB,kBAAI,CAACvzC,OAAL;AACH,aAFD,MAGK;AACD+yC,8BAAgB,CAACnjB,MAAjB,CAAwBpO,KAAxB;AACH;AACJ;AACJ;AACD;;;;eACA,8BAAqBA,KAArB,EAA4BuxB,gBAA5B,EAA8C;AAC1C,cAAMsB,UAAU,GAAG,KAAKL,UAAL,CAAgBY,GAAhB,EAAnB;;AACA,cAAIP,UAAJ,EAAgB;AACZtB,4BAAgB,CAAC8B,MAAjB,CAAwBR,UAAxB,EAAoC7yB,KAApC;AACH;;AACD,iBAAO6yB,UAAU,IAAI,IAArB;AACH;;;;;AAGL;;;;;;;;AAOA;;;;;QAGMS,c;;;AACF,gCAA6E;AAAA;;AAAA,YAAjEC,SAAiE,uEAArD,KAAqD;;AAAA,YAA9CC,uBAA8C;;AAAA,YAArBC,YAAqB,uEAAN,IAAM;;AAAA;;AACzE,aAAKF,SAAL,GAAiBA,SAAjB;AACA,aAAKE,YAAL,GAAoBA,YAApB;AACA;;AACA,aAAKC,UAAL,GAAkB,IAAIlmC,GAAJ,EAAlB;AACA;;AACA,aAAKmmC,iBAAL,GAAyB,EAAzB;AACA;;AACA,aAAKC,eAAL,GAAuB,EAAvB;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,4CAAJ,EAAf;;AACA,YAAIL,uBAAuB,IAAIA,uBAAuB,CAACr2C,MAAvD,EAA+D;AAC3D,cAAIo2C,SAAJ,EAAe;AACXC,mCAAuB,CAACh3C,OAAxB,CAAgC,UAAA4F,KAAK;AAAA,qBAAI,OAAI,CAAC0xC,aAAL,CAAmB1xC,KAAnB,CAAJ;AAAA,aAArC;AACH,WAFD,MAGK;AACD,iBAAK0xC,aAAL,CAAmBN,uBAAuB,CAAC,CAAD,CAA1C;AACH,WAN0D,CAO3D;;;AACA,eAAKI,eAAL,CAAqBz2C,MAArB,GAA8B,CAA9B;AACH;AACJ;AACD;;;;;aACA,eAAe;AACX,cAAI,CAAC,KAAK42C,SAAV,EAAqB;AACjB,iBAAKA,SAAL,GAAiBrrC,KAAK,CAAC2f,IAAN,CAAW,KAAKqrB,UAAL,CAAgB3jC,MAAhB,EAAX,CAAjB;AACH;;AACD,iBAAO,KAAKgkC,SAAZ;AACH;AACD;;;;;;eAGA,kBAAkB;AAAA;;AAAA,6CAARhkC,MAAQ;AAARA,kBAAQ;AAAA;;AACd,eAAKikC,sBAAL,CAA4BjkC,MAA5B;;AACAA,gBAAM,CAACvT,OAAP,CAAe,UAAA4F,KAAK;AAAA,mBAAI,OAAI,CAAC0xC,aAAL,CAAmB1xC,KAAnB,CAAJ;AAAA,WAApB;;AACA,eAAK6xC,gBAAL;AACH;AACD;;;;;;eAGA,oBAAoB;AAAA;;AAAA,6CAARlkC,MAAQ;AAARA,kBAAQ;AAAA;;AAChB,eAAKikC,sBAAL,CAA4BjkC,MAA5B;;AACAA,gBAAM,CAACvT,OAAP,CAAe,UAAA4F,KAAK;AAAA,mBAAI,OAAI,CAAC8xC,eAAL,CAAqB9xC,KAArB,CAAJ;AAAA,WAApB;;AACA,eAAK6xC,gBAAL;AACH;AACD;;;;;;eAGA,gBAAO7xC,KAAP,EAAc;AACV,eAAK+xC,UAAL,CAAgB/xC,KAAhB,IAAyB,KAAKgyC,QAAL,CAAchyC,KAAd,CAAzB,GAAgD,KAAKiyC,MAAL,CAAYjyC,KAAZ,CAAhD;AACH;AACD;;;;;;eAGA,iBAAQ;AACJ,eAAKkyC,UAAL;;AACA,eAAKL,gBAAL;AACH;AACD;;;;;;eAGA,oBAAW7xC,KAAX,EAAkB;AACd,iBAAO,KAAKsxC,UAAL,CAAgB7lC,GAAhB,CAAoBzL,KAApB,CAAP;AACH;AACD;;;;;;eAGA,mBAAU;AACN,iBAAO,KAAKsxC,UAAL,CAAgB7jC,IAAhB,KAAyB,CAAhC;AACH;AACD;;;;;;eAGA,oBAAW;AACP,iBAAO,CAAC,KAAKa,OAAL,EAAR;AACH;AACD;;;;;;eAGA,cAAKyqB,SAAL,EAAgB;AACZ,cAAI,KAAKoY,SAAL,IAAkB,KAAKgB,QAA3B,EAAqC;AACjC,iBAAKR,SAAL,CAAe3uB,IAAf,CAAoB+V,SAApB;AACH;AACJ;AACD;;;;;;eAGA,+BAAsB;AAClB,iBAAO,KAAKoY,SAAZ;AACH;AACD;;;;eACA,4BAAmB;AACf;AACA,eAAKQ,SAAL,GAAiB,IAAjB;;AACA,cAAI,KAAKH,eAAL,CAAqBz2C,MAArB,IAA+B,KAAKw2C,iBAAL,CAAuBx2C,MAA1D,EAAkE;AAC9D,iBAAK02C,OAAL,CAAajpC,IAAb,CAAkB;AACds+B,oBAAM,EAAE,IADM;AAEdsL,mBAAK,EAAE,KAAKZ,eAFE;AAGda,qBAAO,EAAE,KAAKd;AAHA,aAAlB;AAKA,iBAAKA,iBAAL,GAAyB,EAAzB;AACA,iBAAKC,eAAL,GAAuB,EAAvB;AACH;AACJ;AACD;;;;eACA,uBAAcxxC,KAAd,EAAqB;AACjB,cAAI,CAAC,KAAK+xC,UAAL,CAAgB/xC,KAAhB,CAAL,EAA6B;AACzB,gBAAI,CAAC,KAAKmxC,SAAV,EAAqB;AACjB,mBAAKe,UAAL;AACH;;AACD,iBAAKZ,UAAL,CAAgB9jC,GAAhB,CAAoBxN,KAApB;;AACA,gBAAI,KAAKqxC,YAAT,EAAuB;AACnB,mBAAKG,eAAL,CAAqBl3C,IAArB,CAA0B0F,KAA1B;AACH;AACJ;AACJ;AACD;;;;eACA,yBAAgBA,KAAhB,EAAuB;AACnB,cAAI,KAAK+xC,UAAL,CAAgB/xC,KAAhB,CAAJ,EAA4B;AACxB,iBAAKsxC,UAAL,WAAuBtxC,KAAvB;;AACA,gBAAI,KAAKqxC,YAAT,EAAuB;AACnB,mBAAKE,iBAAL,CAAuBj3C,IAAvB,CAA4B0F,KAA5B;AACH;AACJ;AACJ;AACD;;;;eACA,sBAAa;AAAA;;AACT,cAAI,CAAC,KAAKsO,OAAL,EAAL,EAAqB;AACjB,iBAAKgjC,UAAL,CAAgBl3C,OAAhB,CAAwB,UAAA4F,KAAK;AAAA,qBAAI,OAAI,CAAC8xC,eAAL,CAAqB9xC,KAArB,CAAJ;AAAA,aAA7B;AACH;AACJ;AACD;;;;;;;eAIA,gCAAuB2N,MAAvB,EAA+B;AAC3B,cAAIA,MAAM,CAAC5S,MAAP,GAAgB,CAAhB,IAAqB,CAAC,KAAKo2C,SAA3B,KAAyC,OAAOhtC,SAAP,KAAqB,WAArB,IAAoCA,SAA7E,CAAJ,EAA6F;AACzF,kBAAMmuC,uCAAuC,EAA7C;AACH;AACJ;;;;;AAEL;;;;;;;AAKA,aAASA,uCAAT,GAAmD;AAC/C,aAAOzzC,KAAK,CAAC,yEAAD,CAAZ;AACH;AAED;;;;;;;;AAOA;;;;;;;;;;;QASM0zC,yB;;;AACF,2CAAc;AAAA;;AACV,aAAKC,UAAL,GAAkB,EAAlB;AACH;AACD;;;;;;;;;eAKA,gBAAOhyC,EAAP,EAAW7I,IAAX,EAAiB;AAAA,sDACQ,KAAK66C,UADb;AAAA;;AAAA;AACb,mEAAsC;AAAA,kBAA7B1wB,QAA6B;AAClCA,sBAAQ,CAACthB,EAAD,EAAK7I,IAAL,CAAR;AACH;AAHY;AAAA;AAAA;AAAA;AAAA;AAIhB;AACD;;;;;;;eAIA,gBAAOmqB,QAAP,EAAiB;AAAA;;AACb,eAAK0wB,UAAL,CAAgBl4C,IAAhB,CAAqBwnB,QAArB;;AACA,iBAAO,YAAM;AACT,mBAAI,CAAC0wB,UAAL,GAAkB,OAAI,CAACA,UAAL,CAAgB7/B,MAAhB,CAAuB,UAAC8/B,UAAD,EAAgB;AACrD,qBAAO3wB,QAAQ,KAAK2wB,UAApB;AACH,aAFiB,CAAlB;AAGH,WAJD;AAKH;;;eACD,uBAAc;AACV,eAAKD,UAAL,GAAkB,EAAlB;AACH;;;;;;AAELD,6BAAyB,CAAC1uC,IAA1B,GAAiC,SAAS6uC,iCAAT,CAA2C3uC,CAA3C,EAA8C;AAAE,aAAO,KAAKA,CAAC,IAAIwuC,yBAAV,GAAP;AAAgD,KAAjI;;AACAA,6BAAyB,CAACvuC,KAA1B,GAAkC,yEAAmB;AAAEE,aAAO,EAAE,SAASwuC,iCAAT,GAA6C;AAAE,eAAO,IAAIH,yBAAJ,EAAP;AAAyC,OAAnG;AAAqGtuC,WAAK,EAAEsuC,yBAA5G;AAAuIhb,gBAAU,EAAE;AAAnJ,KAAnB,CAAlC;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOpzB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBouC,yBAAzB,EAAoD,CAAC;AAC/G16C,YAAI,EAAE,wDADyG;AAE/GimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFyG,OAAD,CAApD,EAG1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAHgC,EAG9B,IAH8B,CAAnD;AAG6B,KAH5C;AAKA;;;;;;;;AAQA;;;;;;;;AAOA;;;;;;AAIA,QAAMob,uBAAuB,GAAG,IAAI,4DAAJ,CAAmB,eAAnB,CAAhC;AAEA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACtdA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;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;;;;;;;;AAOA;;;;;;AAOA,aAASC,YAAT,CAAsBr5B,IAAtB,EAA4ButB,MAA5B,EAAoC;AAChC,WAAK,IAAIhnC,GAAT,IAAgBgnC,MAAhB,EAAwB;AACpB,YAAIA,MAAM,CAACthC,cAAP,CAAsB1F,GAAtB,CAAJ,EAAgC;AAC5ByZ,cAAI,CAACzZ,GAAD,CAAJ,GAAYgnC,MAAM,CAAChnC,GAAD,CAAlB;AACH;AACJ;;AACD,aAAOyZ,IAAP;AACH;AACD;;;;;;;;AAMA,aAASs5B,4BAAT,CAAsCl1C,OAAtC,EAA+Cm1C,MAA/C,EAAuD;AACnD,UAAMC,UAAU,GAAGD,MAAM,GAAG,EAAH,GAAQ,MAAjC;AACAF,kBAAY,CAACj1C,OAAO,CAACtF,KAAT,EAAgB;AACxB26C,mBAAW,EAAEF,MAAM,GAAG,EAAH,GAAQ,MADH;AAExBG,sBAAc,EAAEH,MAAM,GAAG,EAAH,GAAQ,MAFN;AAGxBI,+BAAuB,EAAEJ,MAAM,GAAG,EAAH,GAAQ,aAHf;AAIxBC,kBAAU,EAAEA,UAJY;AAKxBI,oBAAY,EAAEJ,UALU;AAMxBK,wBAAgB,EAAEL,UANM;AAOxBM,qBAAa,EAAEN;AAPS,OAAhB,CAAZ;AASH;AACD;;;;;;;;AAMA,aAASO,gBAAT,CAA0B31C,OAA1B,EAAmCm1C,MAAnC,EAA2C;AACvC,UAAM76C,MAAM,GAAG0F,OAAO,CAACtF,KAAvB;AACAJ,YAAM,CAAC2C,QAAP,GAAkBk4C,MAAM,GAAG,EAAH,GAAQ,OAAhC;AACA76C,YAAM,CAACs7C,GAAP,GAAat7C,MAAM,CAACu7C,OAAP,GAAiBV,MAAM,GAAG,EAAH,GAAQ,GAA5C;AACA76C,YAAM,CAACw7C,IAAP,GAAcX,MAAM,GAAG,EAAH,GAAQ,QAA5B;AACH;AAED;;;;;;;;AAOA;;;AACA,aAASY,qBAAT,CAA+B1zC,KAA/B,EAAsC;AAClC;AACA,UAAM2zC,UAAU,GAAG3zC,KAAK,CAAC6I,WAAN,GAAoBtI,OAApB,CAA4B,IAA5B,IAAoC,CAAC,CAArC,GAAyC,CAAzC,GAA6C,IAAhE;AACA,aAAO6E,UAAU,CAACpF,KAAD,CAAV,GAAoB2zC,UAA3B;AACH;AACD;;;AACA,aAASC,kCAAT,CAA4Cj2C,OAA5C,EAAqD;AACjD,UAAM+sC,aAAa,GAAGpgC,gBAAgB,CAAC3M,OAAD,CAAtC;AACA,UAAMk2C,sBAAsB,GAAGC,qBAAqB,CAACpJ,aAAD,EAAgB,qBAAhB,CAApD;AACA,UAAM3d,QAAQ,GAAG8mB,sBAAsB,CAACrjC,IAAvB,CAA4B,UAAAjS,IAAI;AAAA,eAAIA,IAAI,KAAK,WAAT,IAAwBA,IAAI,KAAK,KAArC;AAAA,OAAhC,CAAjB,CAHiD,CAIjD;;AACA,UAAI,CAACwuB,QAAL,EAAe;AACX,eAAO,CAAP;AACH,OAPgD,CAQjD;AACA;;;AACA,UAAMgnB,aAAa,GAAGF,sBAAsB,CAACtzC,OAAvB,CAA+BwsB,QAA/B,CAAtB;AACA,UAAMinB,YAAY,GAAGF,qBAAqB,CAACpJ,aAAD,EAAgB,qBAAhB,CAA1C;AACA,UAAMuJ,SAAS,GAAGH,qBAAqB,CAACpJ,aAAD,EAAgB,kBAAhB,CAAvC;AACA,aAAOgJ,qBAAqB,CAACM,YAAY,CAACD,aAAD,CAAb,CAArB,GACHL,qBAAqB,CAACO,SAAS,CAACF,aAAD,CAAV,CADzB;AAEH;AACD;;;AACA,aAASD,qBAAT,CAA+BpJ,aAA/B,EAA8C/yC,IAA9C,EAAoD;AAChD,UAAMqI,KAAK,GAAG0qC,aAAa,CAAC5jC,gBAAd,CAA+BnP,IAA/B,CAAd;AACA,aAAOqI,KAAK,CAAC2K,KAAN,CAAY,GAAZ,EAAiB9K,GAAjB,CAAqB,UAAAq0C,IAAI;AAAA,eAAIA,IAAI,CAACn6B,IAAL,EAAJ;AAAA,OAAzB,CAAP;AACH;AAED;;;;;;;;AAOA;;;AACA,aAASo6B,oBAAT,CAA8Bx2C,OAA9B,EAAuC;AACnC,UAAMy2C,UAAU,GAAGz2C,OAAO,CAAC02C,qBAAR,EAAnB,CADmC,CAEnC;AACA;AACA;AACA;;AACA,aAAO;AACHd,WAAG,EAAEa,UAAU,CAACb,GADb;AAEHe,aAAK,EAAEF,UAAU,CAACE,KAFf;AAGHC,cAAM,EAAEH,UAAU,CAACG,MAHhB;AAIHd,YAAI,EAAEW,UAAU,CAACX,IAJd;AAKHe,aAAK,EAAEJ,UAAU,CAACI,KALf;AAMHC,cAAM,EAAEL,UAAU,CAACK;AANhB,OAAP;AAQH;AACD;;;;;;;;AAMA,aAASC,kBAAT,CAA4BN,UAA5B,EAAwCO,CAAxC,EAA2CC,CAA3C,EAA8C;AAC1C,UAAQrB,GAAR,GAAqCa,UAArC,CAAQb,GAAR;AAAA,UAAagB,MAAb,GAAqCH,UAArC,CAAaG,MAAb;AAAA,UAAqBd,IAArB,GAAqCW,UAArC,CAAqBX,IAArB;AAAA,UAA2Ba,KAA3B,GAAqCF,UAArC,CAA2BE,KAA3B;AACA,aAAOM,CAAC,IAAIrB,GAAL,IAAYqB,CAAC,IAAIL,MAAjB,IAA2BI,CAAC,IAAIlB,IAAhC,IAAwCkB,CAAC,IAAIL,KAApD;AACH;AACD;;;;;;;;AAMA,aAASO,gBAAT,CAA0BT,UAA1B,EAAsCb,GAAtC,EAA2CE,IAA3C,EAAiD;AAC7CW,gBAAU,CAACb,GAAX,IAAkBA,GAAlB;AACAa,gBAAU,CAACG,MAAX,GAAoBH,UAAU,CAACb,GAAX,GAAiBa,UAAU,CAACK,MAAhD;AACAL,gBAAU,CAACX,IAAX,IAAmBA,IAAnB;AACAW,gBAAU,CAACE,KAAX,GAAmBF,UAAU,CAACX,IAAX,GAAkBW,UAAU,CAACI,KAAhD;AACH;AACD;;;;;;;;;AAOA,aAASM,uBAAT,CAAiCC,IAAjC,EAAuCC,SAAvC,EAAkDC,QAAlD,EAA4DC,QAA5D,EAAsE;AAClE,UAAQ3B,GAAR,GAAoDwB,IAApD,CAAQxB,GAAR;AAAA,UAAae,KAAb,GAAoDS,IAApD,CAAaT,KAAb;AAAA,UAAoBC,MAApB,GAAoDQ,IAApD,CAAoBR,MAApB;AAAA,UAA4Bd,IAA5B,GAAoDsB,IAApD,CAA4BtB,IAA5B;AAAA,UAAkCe,KAAlC,GAAoDO,IAApD,CAAkCP,KAAlC;AAAA,UAAyCC,MAAzC,GAAoDM,IAApD,CAAyCN,MAAzC;AACA,UAAMU,UAAU,GAAGX,KAAK,GAAGQ,SAA3B;AACA,UAAMI,UAAU,GAAGX,MAAM,GAAGO,SAA5B;AACA,aAAOE,QAAQ,GAAG3B,GAAG,GAAG6B,UAAjB,IAA+BF,QAAQ,GAAGX,MAAM,GAAGa,UAAnD,IACHH,QAAQ,GAAGxB,IAAI,GAAG0B,UADf,IAC6BF,QAAQ,GAAGX,KAAK,GAAGa,UADvD;AAEH;AAED;;;;;;;;AAOA;;;QACME,qB;;;AACF,qCAAY7f,SAAZ,EAAuB8f,cAAvB,EAAuC;AAAA;;AACnC,aAAK9f,SAAL,GAAiBA,SAAjB;AACA,aAAK8f,cAAL,GAAsBA,cAAtB;AACA;;AACA,aAAKC,SAAL,GAAiB,IAAIt1C,GAAJ,EAAjB;AACH;AACD;;;;;eACA,iBAAQ;AACJ,eAAKs1C,SAAL,CAAe9jC,KAAf;AACH;AACD;;;;eACA,eAAM8E,QAAN,EAAgB;AAAA;;AACZ,eAAK9E,KAAL;AACA,eAAK8jC,SAAL,CAAep1C,GAAf,CAAmB,KAAKq1B,SAAxB,EAAmC;AAC/BggB,0BAAc,EAAE,KAAKF,cAAL,CAAoBG,yBAApB;AADe,WAAnC;AAGAl/B,kBAAQ,CAACnc,OAAT,CAAiB,UAAAuD,OAAO,EAAI;AACxB,mBAAI,CAAC43C,SAAL,CAAep1C,GAAf,CAAmBxC,OAAnB,EAA4B;AACxB63C,4BAAc,EAAE;AAAEjC,mBAAG,EAAE51C,OAAO,CAAC+3C,SAAf;AAA0BjC,oBAAI,EAAE91C,OAAO,CAACg4C;AAAxC,eADQ;AAExBvB,wBAAU,EAAED,oBAAoB,CAACx2C,OAAD;AAFR,aAA5B;AAIH,WALD;AAMH;AACD;;;;eACA,sBAAasB,KAAb,EAAoB;AAChB,cAAM+W,MAAM,GAAG/W,KAAK,CAAC+W,MAArB;AACA,cAAM4/B,cAAc,GAAG,KAAKL,SAAL,CAAer1C,GAAf,CAAmB8V,MAAnB,CAAvB;;AACA,cAAI,CAAC4/B,cAAL,EAAqB;AACjB,mBAAO,IAAP;AACH,WALe,CAMhB;AACA;AACA;;;AACA,cAAMC,kBAAkB,GAAG7/B,MAAM,KAAK,KAAKwf,SAAhB,GAA4Bxf,MAAM,CAAC83B,eAAnC,GAAqD93B,MAAhF;AACA,cAAMw/B,cAAc,GAAGI,cAAc,CAACJ,cAAtC;AACA,cAAIM,MAAJ;AACA,cAAIC,OAAJ;;AACA,cAAI//B,MAAM,KAAK,KAAKwf,SAApB,EAA+B;AAC3B,gBAAMwgB,sBAAsB,GAAG,KAAKV,cAAL,CAAoBG,yBAApB,EAA/B;;AACAK,kBAAM,GAAGE,sBAAsB,CAACzC,GAAhC;AACAwC,mBAAO,GAAGC,sBAAsB,CAACvC,IAAjC;AACH,WAJD,MAKK;AACDqC,kBAAM,GAAG9/B,MAAM,CAAC0/B,SAAhB;AACAK,mBAAO,GAAG//B,MAAM,CAAC2/B,UAAjB;AACH;;AACD,cAAMM,aAAa,GAAGT,cAAc,CAACjC,GAAf,GAAqBuC,MAA3C;AACA,cAAMI,cAAc,GAAGV,cAAc,CAAC/B,IAAf,GAAsBsC,OAA7C,CAvBgB,CAwBhB;AACA;;AACA,eAAKR,SAAL,CAAen7C,OAAf,CAAuB,UAACQ,QAAD,EAAW2O,IAAX,EAAoB;AACvC,gBAAI3O,QAAQ,CAACw5C,UAAT,IAAuBp+B,MAAM,KAAKzM,IAAlC,IAA0CssC,kBAAkB,CAACt0C,QAAnB,CAA4BgI,IAA5B,CAA9C,EAAiF;AAC7EsrC,8BAAgB,CAACj6C,QAAQ,CAACw5C,UAAV,EAAsB6B,aAAtB,EAAqCC,cAArC,CAAhB;AACH;AACJ,WAJD;AAKAV,wBAAc,CAACjC,GAAf,GAAqBuC,MAArB;AACAN,wBAAc,CAAC/B,IAAf,GAAsBsC,OAAtB;AACA,iBAAO;AAAExC,eAAG,EAAE0C,aAAP;AAAsBxC,gBAAI,EAAEyC;AAA5B,WAAP;AACH;;;;;AAGL;;;;;;;;AAOA;;;AACA,aAASC,aAAT,CAAuB5sC,IAAvB,EAA6B;AACzB,UAAM6sC,KAAK,GAAG7sC,IAAI,CAAC8sC,SAAL,CAAe,IAAf,CAAd;AACA,UAAMC,iBAAiB,GAAGF,KAAK,CAACj0C,gBAAN,CAAuB,MAAvB,CAA1B;AACA,UAAMm6B,QAAQ,GAAG/yB,IAAI,CAAC+yB,QAAL,CAAczzB,WAAd,EAAjB,CAHyB,CAIzB;;AACAutC,WAAK,CAACrhB,eAAN,CAAsB,IAAtB;;AACA,WAAK,IAAI3yB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk0C,iBAAiB,CAACv7C,MAAtC,EAA8CqH,CAAC,EAA/C,EAAmD;AAC/Ck0C,yBAAiB,CAACl0C,CAAD,CAAjB,CAAqB2yB,eAArB,CAAqC,IAArC;AACH;;AACD,UAAIuH,QAAQ,KAAK,QAAjB,EAA2B;AACvBia,0BAAkB,CAAChtC,IAAD,EAAO6sC,KAAP,CAAlB;AACH,OAFD,MAGK,IAAI9Z,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,QAArC,IAAiDA,QAAQ,KAAK,UAAlE,EAA8E;AAC/Eka,yBAAiB,CAACjtC,IAAD,EAAO6sC,KAAP,CAAjB;AACH;;AACDK,kBAAY,CAAC,QAAD,EAAWltC,IAAX,EAAiB6sC,KAAjB,EAAwBG,kBAAxB,CAAZ;AACAE,kBAAY,CAAC,yBAAD,EAA4BltC,IAA5B,EAAkC6sC,KAAlC,EAAyCI,iBAAzC,CAAZ;AACA,aAAOJ,KAAP;AACH;AACD;;;AACA,aAASK,YAAT,CAAsBx9C,QAAtB,EAAgCsQ,IAAhC,EAAsC6sC,KAAtC,EAA6Cl3C,QAA7C,EAAuD;AACnD,UAAMw3C,kBAAkB,GAAGntC,IAAI,CAACpH,gBAAL,CAAsBlJ,QAAtB,CAA3B;;AACA,UAAIy9C,kBAAkB,CAAC37C,MAAvB,EAA+B;AAC3B,YAAM47C,aAAa,GAAGP,KAAK,CAACj0C,gBAAN,CAAuBlJ,QAAvB,CAAtB;;AACA,aAAK,IAAImJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs0C,kBAAkB,CAAC37C,MAAvC,EAA+CqH,CAAC,EAAhD,EAAoD;AAChDlD,kBAAQ,CAACw3C,kBAAkB,CAACt0C,CAAD,CAAnB,EAAwBu0C,aAAa,CAACv0C,CAAD,CAArC,CAAR;AACH;AACJ;AACJ,K,CACD;;;AACA,QAAIw0C,aAAa,GAAG,CAApB;AACA;;AACA,aAASJ,iBAAT,CAA2B1P,MAA3B,EAAmCsP,KAAnC,EAA0C;AACtC;AACA,UAAIA,KAAK,CAACv+C,IAAN,KAAe,MAAnB,EAA2B;AACvBu+C,aAAK,CAACp2C,KAAN,GAAc8mC,MAAM,CAAC9mC,KAArB;AACH,OAJqC,CAKtC;AACA;AACA;;;AACA,UAAIo2C,KAAK,CAACv+C,IAAN,KAAe,OAAf,IAA0Bu+C,KAAK,CAACz+C,IAApC,EAA0C;AACtCy+C,aAAK,CAACz+C,IAAN,uBAA0By+C,KAAK,CAACz+C,IAAhC,cAAwCi/C,aAAa,EAArD;AACH;AACJ;AACD;;;AACA,aAASL,kBAAT,CAA4BzP,MAA5B,EAAoCsP,KAApC,EAA2C;AACvC,UAAM5sC,OAAO,GAAG4sC,KAAK,CAACS,UAAN,CAAiB,IAAjB,CAAhB;;AACA,UAAIrtC,OAAJ,EAAa;AACT;AACA;AACA,YAAI;AACAA,iBAAO,CAACstC,SAAR,CAAkBhQ,MAAlB,EAA0B,CAA1B,EAA6B,CAA7B;AACH,SAFD,CAGA,OAAO7J,EAAP,EAAW,CAAG;AACjB;AACJ;AAED;;;;;;;;AAOA;;;AACA,QAAM8Z,2BAA2B,GAAG,8FAAgC;AAAE5Q,aAAO,EAAE;AAAX,KAAhC,CAApC;AACA;;AACA,QAAM6Q,0BAA0B,GAAG,8FAAgC;AAAE7Q,aAAO,EAAE;AAAX,KAAhC,CAAnC;AACA;;;;;;;AAMA,QAAM8Q,uBAAuB,GAAG,GAAhC;AACA;;;;QAGMC,O;;;AACF,uBAAYv5C,OAAZ,EAAqBw5C,OAArB,EAA8B3hB,SAA9B,EAAyC0I,OAAzC,EAAkDoX,cAAlD,EAAkE8B,iBAAlE,EAAqF;AAAA;;AAAA;;AACjF,aAAKD,OAAL,GAAeA,OAAf;AACA,aAAK3hB,SAAL,GAAiBA,SAAjB;AACA,aAAK0I,OAAL,GAAeA,OAAf;AACA,aAAKoX,cAAL,GAAsBA,cAAtB;AACA,aAAK8B,iBAAL,GAAyBA,iBAAzB;AACA;;;;;;;AAMA,aAAKC,iBAAL,GAAyB;AAAE1C,WAAC,EAAE,CAAL;AAAQC,WAAC,EAAE;AAAX,SAAzB;AACA;;AACA,aAAK0C,gBAAL,GAAwB;AAAE3C,WAAC,EAAE,CAAL;AAAQC,WAAC,EAAE;AAAX,SAAxB;AACA;;AACA,aAAK2C,WAAL,GAAmB,IAAI,4CAAJ,EAAnB;AACA;;AACA,aAAKC,wBAAL,GAAgC,kDAAavf,KAA7C;AACA;;AACA,aAAKwf,sBAAL,GAA8B,kDAAaxf,KAA3C;AACA;;AACA,aAAKyf,mBAAL,GAA2B,kDAAazf,KAAxC;AACA;;AACA,aAAK0f,mBAAL,GAA2B,kDAAa1f,KAAxC;AACA;;AACA,aAAK2f,gBAAL,GAAwB,IAAxB;AACA;;AACA,aAAKC,0BAAL,GAAkC,IAAlC;AACA;;AACA,aAAKC,QAAL,GAAgB,EAAhB;AACA;;AACA,aAAKC,gBAAL,GAAwB,IAAI3sC,GAAJ,EAAxB;AACA;;AACA,aAAK4sC,UAAL,GAAkB,KAAlB;AACA;;;;;AAIA,aAAKC,cAAL,GAAsB,CAAtB;AACA,aAAKpL,SAAL,GAAiB,KAAjB;AACA;;AACA,aAAKqL,aAAL,GAAqB,IAAI,4CAAJ,EAArB;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,4CAAJ,EAAf;AACA;;AACA,aAAKC,QAAL,GAAgB,IAAI,4CAAJ,EAAhB;AACA;;AACA,aAAKC,KAAL,GAAa,IAAI,4CAAJ,EAAb;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,4CAAJ,EAAf;AACA;;AACA,aAAKC,MAAL,GAAc,IAAI,4CAAJ,EAAd;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,4CAAJ,EAAf;AACA;;;;;AAIA,aAAKC,KAAL,GAAa,KAAKlB,WAAlB;AACA;;AACA,aAAKmB,YAAL,GAAoB,UAACz5C,KAAD,EAAW;AAC3B,iBAAI,CAACi5C,aAAL,CAAmB1vC,IAAnB,GAD2B,CAE3B;;;AACA,cAAI,OAAI,CAACsvC,QAAL,CAAc/8C,MAAlB,EAA0B;AACtB,gBAAM49C,YAAY,GAAG,OAAI,CAACb,QAAL,CAActnC,IAAd,CAAmB,UAAAooC,MAAM,EAAI;AAC9C,kBAAM5iC,MAAM,GAAG/W,KAAK,CAAC+W,MAArB;AACA,qBAAO,CAAC,CAACA,MAAF,KAAaA,MAAM,KAAK4iC,MAAX,IAAqBA,MAAM,CAACr3C,QAAP,CAAgByU,MAAhB,CAAlC,CAAP;AACH,aAHoB,CAArB;;AAIA,gBAAI2iC,YAAY,IAAI,CAAC,OAAI,CAACZ,gBAAL,CAAsBtsC,GAAtB,CAA0BktC,YAA1B,CAAjB,IAA4D,CAAC,OAAI,CAACt5C,QAAtE,EAAgF;AAC5E,qBAAI,CAACw5C,uBAAL,CAA6BF,YAA7B,EAA2C15C,KAA3C;AACH;AACJ,WARD,MASK,IAAI,CAAC,OAAI,CAACI,QAAV,EAAoB;AACrB,mBAAI,CAACw5C,uBAAL,CAA6B,OAAI,CAACC,YAAlC,EAAgD75C,KAAhD;AACH;AACJ,SAfD;AAgBA;;;AACA,aAAK85C,YAAL,GAAoB,UAAC95C,KAAD,EAAW;AAC3B,cAAM+5C,eAAe,GAAG,OAAI,CAACC,yBAAL,CAA+Bh6C,KAA/B,CAAxB;;AACA,cAAI,CAAC,OAAI,CAACi6C,mBAAV,EAA+B;AAC3B,gBAAMC,SAAS,GAAGr9C,IAAI,CAACkZ,GAAL,CAASgkC,eAAe,CAACrE,CAAhB,GAAoB,OAAI,CAACyE,qBAAL,CAA2BzE,CAAxD,CAAlB;AACA,gBAAM0E,SAAS,GAAGv9C,IAAI,CAACkZ,GAAL,CAASgkC,eAAe,CAACpE,CAAhB,GAAoB,OAAI,CAACwE,qBAAL,CAA2BxE,CAAxD,CAAlB;AACA,gBAAM0E,eAAe,GAAGH,SAAS,GAAGE,SAAZ,IAAyB,OAAI,CAAClC,OAAL,CAAaoC,kBAA9D,CAH2B,CAI3B;AACA;AACA;AACA;;AACA,gBAAID,eAAJ,EAAqB;AACjB,kBAAME,cAAc,GAAGtqB,IAAI,CAACC,GAAL,MAAc,OAAI,CAACsqB,cAAL,GAAsB,OAAI,CAACC,kBAAL,CAAwBz6C,KAAxB,CAA3D;;AACA,kBAAM06C,SAAS,GAAG,OAAI,CAACC,cAAvB;;AACA,kBAAI,CAACJ,cAAL,EAAqB;AACjB,uBAAI,CAACK,gBAAL,CAAsB56C,KAAtB;;AACA;AACH,eANgB,CAOjB;AACA;AACA;;;AACA,kBAAI,CAAC06C,SAAD,IAAe,CAACA,SAAS,CAACG,UAAV,EAAD,IAA2B,CAACH,SAAS,CAACI,WAAV,EAA/C,EAAyE;AACrE;AACA;AACA96C,qBAAK,CAAC07B,cAAN;AACA,uBAAI,CAACue,mBAAL,GAA2B,IAA3B;;AACA,uBAAI,CAAChb,OAAL,CAAaoL,GAAb,CAAiB;AAAA,yBAAM,OAAI,CAAC0Q,kBAAL,CAAwB/6C,KAAxB,CAAN;AAAA,iBAAjB;AACH;AACJ;;AACD;AACH,WA7B0B,CA8B3B;;;AACA,cAAI,OAAI,CAAC24C,gBAAT,EAA2B;AACvB;AACA;AACA,gBAAI,CAAC,OAAI,CAACqC,YAAN,IAAuB,CAAC,OAAI,CAACA,YAAL,CAAkBzF,KAAnB,IAA4B,CAAC,OAAI,CAACyF,YAAL,CAAkBxF,MAA1E,EAAmF;AAC/E,qBAAI,CAACwF,YAAL,GAAoB,CAAC,OAAI,CAACC,QAAL,IAAiB,OAAI,CAACpB,YAAvB,EAAqCzE,qBAArC,EAApB;AACH;AACJ,WArC0B,CAsC3B;AACA;AACA;;;AACAp1C,eAAK,CAAC07B,cAAN;;AACA,cAAMwf,0BAA0B,GAAG,OAAI,CAACC,8BAAL,CAAoCpB,eAApC,CAAnC;;AACA,iBAAI,CAACqB,SAAL,GAAiB,IAAjB;AACA,iBAAI,CAACC,yBAAL,GAAiCtB,eAAjC;;AACA,iBAAI,CAACuB,4BAAL,CAAkCJ,0BAAlC;;AACA,cAAI,OAAI,CAACP,cAAT,EAAyB;AACrB,mBAAI,CAACY,0BAAL,CAAgCL,0BAAhC,EAA4DnB,eAA5D;AACH,WAFD,MAGK;AACD,gBAAMyB,eAAe,GAAG,OAAI,CAACnD,gBAA7B;AACAmD,2BAAe,CAAC9F,CAAhB,GACIwF,0BAA0B,CAACxF,CAA3B,GAA+B,OAAI,CAACyE,qBAAL,CAA2BzE,CAA1D,GAA8D,OAAI,CAAC0C,iBAAL,CAAuB1C,CADzF;AAEA8F,2BAAe,CAAC7F,CAAhB,GACIuF,0BAA0B,CAACvF,CAA3B,GAA+B,OAAI,CAACwE,qBAAL,CAA2BxE,CAA1D,GAA8D,OAAI,CAACyC,iBAAL,CAAuBzC,CADzF;;AAEA,mBAAI,CAAC8F,0BAAL,CAAgCD,eAAe,CAAC9F,CAAhD,EAAmD8F,eAAe,CAAC7F,CAAnE,EANC,CAOD;;;AACA,gBAAI,OAAO+F,UAAP,KAAsB,WAAtB,IAAqC,OAAI,CAAC7B,YAAL,YAA6B6B,UAAtE,EAAkF;AAC9E,kBAAMC,gBAAgB,uBAAgBH,eAAe,CAAC9F,CAAhC,cAAqC8F,eAAe,CAAC7F,CAArD,MAAtB;;AACA,qBAAI,CAACkE,YAAL,CAAkB5xC,YAAlB,CAA+B,WAA/B,EAA4C0zC,gBAA5C;AACH;AACJ,WA7D0B,CA8D3B;AACA;AACA;;;AACA,cAAI,OAAI,CAACrD,WAAL,CAAiBsD,SAAjB,CAA2B9/C,MAA/B,EAAuC;AACnC,mBAAI,CAACmjC,OAAL,CAAaoL,GAAb,CAAiB,YAAM;AACnB,qBAAI,CAACiO,WAAL,CAAiB/uC,IAAjB,CAAsB;AAClBs+B,sBAAM,EAAE,OADU;AAElBkS,+BAAe,EAAEmB,0BAFC;AAGlBl7C,qBAAK,EAALA,KAHkB;AAIlB67C,wBAAQ,EAAE,OAAI,CAACC,gBAAL,CAAsBZ,0BAAtB,CAJQ;AAKlBpf,qBAAK,EAAE,OAAI,CAACigB;AALM,eAAtB;AAOH,aARD;AASH;AACJ,SA5ED;AA6EA;;;AACA,aAAKC,UAAL,GAAkB,UAACh8C,KAAD,EAAW;AACzB,iBAAI,CAAC46C,gBAAL,CAAsB56C,KAAtB;AACH,SAFD;;AAGA,aAAKi8C,eAAL,CAAqBv9C,OAArB,EAA8Bw9C,UAA9B,CAAyChE,OAAO,CAACiE,aAAR,IAAyB,IAAlE;AACA,aAAKC,gBAAL,GAAwB,IAAIhG,qBAAJ,CAA0B7f,SAA1B,EAAqC8f,cAArC,CAAxB;;AACA8B,yBAAiB,CAACkE,gBAAlB,CAAmC,IAAnC;AACH;AACD;;;;;aACA,eAAe;AACX,iBAAO,KAAKzO,SAAL,IAAkB,CAAC,EAAE,KAAK+M,cAAL,IAAuB,KAAKA,cAAL,CAAoBv6C,QAA7C,CAA1B;AACH,S;aACD,aAAaW,KAAb,EAAoB;AAChB,cAAMkwB,QAAQ,GAAG,oFAAsBlwB,KAAtB,CAAjB;;AACA,cAAIkwB,QAAQ,KAAK,KAAK2c,SAAtB,EAAiC;AAC7B,iBAAKA,SAAL,GAAiB3c,QAAjB;;AACA,iBAAKqrB,6BAAL;;AACA,iBAAKzD,QAAL,CAAc19C,OAAd,CAAsB,UAAAw+C,MAAM;AAAA,qBAAI/F,4BAA4B,CAAC+F,MAAD,EAAS1oB,QAAT,CAAhC;AAAA,aAA5B;AACH;AACJ;AACD;;;;;;;eAIA,iCAAwB;AACpB,iBAAO,KAAKsrB,YAAZ;AACH;AACD;;;;eACA,0BAAiB;AACb,iBAAO,KAAK1C,YAAZ;AACH;AACD;;;;;;;eAIA,6BAAoB;AAChB,iBAAO,KAAKgB,UAAL,KAAoB,KAAK2B,qBAAL,EAApB,GAAmD,KAAKC,cAAL,EAA1D;AACH;AACD;;;;eACA,qBAAYC,OAAZ,EAAqB;AAAA;;AACjB,eAAK7D,QAAL,GAAgB6D,OAAO,CAAC97C,GAAR,CAAY,UAAA+4C,MAAM;AAAA,mBAAI,4EAAcA,MAAd,CAAJ;AAAA,WAAlB,CAAhB;;AACA,eAAKd,QAAL,CAAc19C,OAAd,CAAsB,UAAAw+C,MAAM;AAAA,mBAAI/F,4BAA4B,CAAC+F,MAAD,EAAS,OAAI,CAACv5C,QAAd,CAAhC;AAAA,WAA5B;;AACA,eAAKk8C,6BAAL,GAHiB,CAIjB;AACA;AACA;AACA;;;AACA,cAAMK,eAAe,GAAG,IAAIxwC,GAAJ,EAAxB;;AACA,eAAK2sC,gBAAL,CAAsB39C,OAAtB,CAA8B,UAAAw+C,MAAM,EAAI;AACpC,gBAAI,OAAI,CAACd,QAAL,CAAcv3C,OAAd,CAAsBq4C,MAAtB,IAAgC,CAAC,CAArC,EAAwC;AACpCgD,6BAAe,CAACpuC,GAAhB,CAAoBorC,MAApB;AACH;AACJ,WAJD;;AAKA,eAAKb,gBAAL,GAAwB6D,eAAxB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,6BAAoBC,QAApB,EAA8B;AAC1B,eAAKC,gBAAL,GAAwBD,QAAxB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,iCAAwBA,QAAxB,EAAkC;AAC9B,eAAKE,oBAAL,GAA4BF,QAA5B;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;;eAKA,yBAAgB7pC,WAAhB,EAA6B;AAAA;;AACzB,cAAMrU,OAAO,GAAG,4EAAcqU,WAAd,CAAhB;;AACA,cAAIrU,OAAO,KAAK,KAAKm7C,YAArB,EAAmC;AAC/B,gBAAI,KAAKA,YAAT,EAAuB;AACnB,mBAAKkD,2BAAL,CAAiC,KAAKlD,YAAtC;AACH;;AACD,iBAAK5a,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjCrhC,qBAAO,CAAC2yB,gBAAR,CAAyB,WAAzB,EAAsC,OAAI,CAACooB,YAA3C,EAAyD1B,0BAAzD;AACAr5C,qBAAO,CAAC2yB,gBAAR,CAAyB,YAAzB,EAAuC,OAAI,CAACooB,YAA5C,EAA0D3B,2BAA1D;AACH,aAHD;;AAIA,iBAAKkF,iBAAL,GAAyBv8C,SAAzB;AACA,iBAAKo5C,YAAL,GAAoBn7C,OAApB;AACH;;AACD,cAAI,OAAOg9C,UAAP,KAAsB,WAAtB,IAAqC,KAAK7B,YAAL,YAA6B6B,UAAtE,EAAkF;AAC9E,iBAAKuB,gBAAL,GAAwB,KAAKpD,YAAL,CAAkBqD,eAA1C;AACH;;AACD,iBAAO,IAAP;AACH;AACD;;;;;;eAGA,6BAAoBC,eAApB,EAAqC;AAAA;;AACjC,eAAKxE,gBAAL,GAAwBwE,eAAe,GAAG,4EAAcA,eAAd,CAAH,GAAoC,IAA3E;;AACA,eAAKzE,mBAAL,CAAyBre,WAAzB;;AACA,cAAI8iB,eAAJ,EAAqB;AACjB,iBAAKzE,mBAAL,GAA2B,KAAKrC,cAAL,CACtB9c,MADsB,CACf,EADe,EAEtBE,SAFsB,CAEZ;AAAA,qBAAM,OAAI,CAAC2jB,8BAAL,EAAN;AAAA,aAFY,CAA3B;AAGH;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,oBAAW/5B,MAAX,EAAmB;AACf,eAAKg6B,cAAL,GAAsBh6B,MAAtB;AACA,iBAAO,IAAP;AACH;AACD;;;;eACA,mBAAU;AACN,eAAK05B,2BAAL,CAAiC,KAAKlD,YAAtC,EADM,CAEN;AACA;;;AACA,cAAI,KAAKgB,UAAL,EAAJ,EAAuB;AACnB;AACA;AACAj1B,sBAAU,CAAC,KAAKi0B,YAAN,CAAV;AACH;;AACDj0B,oBAAU,CAAC,KAAK03B,OAAN,CAAV;;AACA,eAAKC,eAAL;;AACA,eAAKC,mBAAL;;AACA,eAAKrF,iBAAL,CAAuBsF,cAAvB,CAAsC,IAAtC;;AACA,eAAKC,oBAAL;;AACA,eAAKzE,aAAL,CAAmB/P,QAAnB;AACA,eAAKgQ,OAAL,CAAahQ,QAAb;AACA,eAAKiQ,QAAL,CAAcjQ,QAAd;AACA,eAAKkQ,KAAL,CAAWlQ,QAAX;AACA,eAAKmQ,OAAL,CAAanQ,QAAb;AACA,eAAKoQ,MAAL,CAAYpQ,QAAZ;AACA,eAAKqQ,OAAL,CAAarQ,QAAb;;AACA,eAAKoP,WAAL,CAAiBpP,QAAjB;;AACA,eAAK2P,QAAL,GAAgB,EAAhB;;AACA,eAAKC,gBAAL,CAAsBtmC,KAAtB;;AACA,eAAKmoC,cAAL,GAAsBl6C,SAAtB;;AACA,eAAKi4C,mBAAL,CAAyBre,WAAzB;;AACA,eAAK+hB,gBAAL,CAAsB5pC,KAAtB;;AACA,eAAKmmC,gBAAL,GAAwB,KAAKkB,YAAL,GAAoB,KAAKoD,gBAAL,GAAwB,KAAKH,oBAAL,GAChE,KAAKD,gBAAL,GAAwB,KAAKS,OAAL,GAAe,KAAKD,cAAL,GAAsB,IADjE;AAEH;AACD;;;;eACA,sBAAa;AACT,iBAAO,KAAKpD,mBAAL,IAA4B,KAAK9B,iBAAL,CAAuB0C,UAAvB,CAAkC,IAAlC,CAAnC;AACH;AACD;;;;eACA,iBAAQ;AACJ,eAAKhB,YAAL,CAAkBzgD,KAAlB,CAAwBukD,SAAxB,GAAoC,KAAKX,iBAAL,IAA0B,EAA9D;AACA,eAAK3E,gBAAL,GAAwB;AAAE3C,aAAC,EAAE,CAAL;AAAQC,aAAC,EAAE;AAAX,WAAxB;AACA,eAAKyC,iBAAL,GAAyB;AAAE1C,aAAC,EAAE,CAAL;AAAQC,aAAC,EAAE;AAAX,WAAzB;AACH;AACD;;;;;;;eAIA,uBAAcgE,MAAd,EAAsB;AAClB,cAAI,CAAC,KAAKb,gBAAL,CAAsBtsC,GAAtB,CAA0BmtC,MAA1B,CAAD,IAAsC,KAAKd,QAAL,CAAcv3C,OAAd,CAAsBq4C,MAAtB,IAAgC,CAAC,CAA3E,EAA8E;AAC1E,iBAAKb,gBAAL,CAAsBvqC,GAAtB,CAA0BorC,MAA1B;;AACA/F,wCAA4B,CAAC+F,MAAD,EAAS,IAAT,CAA5B;AACH;AACJ;AACD;;;;;;;eAIA,sBAAaA,MAAb,EAAqB;AACjB,cAAI,KAAKb,gBAAL,CAAsBtsC,GAAtB,CAA0BmtC,MAA1B,CAAJ,EAAuC;AACnC,iBAAKb,gBAAL,WAA6Ba,MAA7B;;AACA/F,wCAA4B,CAAC+F,MAAD,EAAS,KAAKv5C,QAAd,CAA5B;AACH;AACJ;AACD;;;;eACA,uBAAc65B,SAAd,EAAyB;AACrB,eAAK8e,UAAL,GAAkB9e,SAAlB;AACA,iBAAO,IAAP;AACH;AACD;;;;eACA,4BAAmBygB,SAAnB,EAA8B;AAC1B,eAAKC,cAAL,GAAsBD,SAAtB;AACH;AACD;;;;;;eAGA,+BAAsB;AAClB,cAAM/+C,QAAQ,GAAG,KAAKk/C,UAAL,KAAoB,KAAKxC,gBAAzB,GAA4C,KAAKD,iBAAlE;AACA,iBAAO;AAAE1C,aAAC,EAAE/5C,QAAQ,CAAC+5C,CAAd;AAAiBC,aAAC,EAAEh6C,QAAQ,CAACg6C;AAA7B,WAAP;AACH;AACD;;;;;;;eAIA,6BAAoB50C,KAApB,EAA2B;AACvB,eAAKs3C,gBAAL,GAAwB;AAAE3C,aAAC,EAAE,CAAL;AAAQC,aAAC,EAAE;AAAX,WAAxB;AACA,eAAKyC,iBAAL,CAAuB1C,CAAvB,GAA2B30C,KAAK,CAAC20C,CAAjC;AACA,eAAK0C,iBAAL,CAAuBzC,CAAvB,GAA2B50C,KAAK,CAAC40C,CAAjC;;AACA,cAAI,CAAC,KAAKgF,cAAV,EAA0B;AACtB,iBAAKc,0BAAL,CAAgC16C,KAAK,CAAC20C,CAAtC,EAAyC30C,KAAK,CAAC40C,CAA/C;AACH;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,wCAA+B;AAC3B,cAAMh6C,QAAQ,GAAG,KAAK0/C,yBAAtB;;AACA,cAAI1/C,QAAQ,IAAI,KAAKg/C,cAArB,EAAqC;AACjC,iBAAKY,0BAAL,CAAgC,KAAKJ,8BAAL,CAAoCx/C,QAApC,CAAhC,EAA+EA,QAA/E;AACH;AACJ;AACD;;;;eACA,gCAAuB;AACnB,eAAK48C,wBAAL,CAA8Ble,WAA9B;;AACA,eAAKme,sBAAL,CAA4Bne,WAA5B;;AACA,eAAKoe,mBAAL,CAAyBpe,WAAzB;AACH;AACD;;;;eACA,2BAAkB;AACd,cAAI,KAAK4gB,QAAT,EAAmB;AACfr1B,sBAAU,CAAC,KAAKq1B,QAAN,CAAV;AACH;;AACD,cAAI,KAAK2C,WAAT,EAAsB;AAClB,iBAAKA,WAAL,CAAiBzgD,OAAjB;AACH;;AACD,eAAK89C,QAAL,GAAgB,KAAK2C,WAAL,GAAmB,IAAnC;AACH;AACD;;;;eACA,+BAAsB;AAClB,cAAI,KAAKrB,YAAT,EAAuB;AACnB32B,sBAAU,CAAC,KAAK22B,YAAN,CAAV;AACH;;AACD,cAAI,KAAKsB,eAAT,EAA0B;AACtB,iBAAKA,eAAL,CAAqB1gD,OAArB;AACH;;AACD,eAAKo/C,YAAL,GAAoB,KAAKsB,eAAL,GAAuB,IAA3C;AACH;AACD;;;;;;;eAIA,0BAAiB79C,KAAjB,EAAwB;AAAA;;AACpB;AACA;AACA;AACA;AACA,cAAI,CAAC,KAAKm4C,iBAAL,CAAuB0C,UAAvB,CAAkC,IAAlC,CAAL,EAA8C;AAC1C;AACH;;AACD,eAAK6C,oBAAL;;AACA,eAAKvF,iBAAL,CAAuB2F,YAAvB,CAAoC,IAApC;;AACA,eAAKxB,6BAAL;;AACA,cAAI,KAAKzD,QAAT,EAAmB;AACf,iBAAKgB,YAAL,CAAkBzgD,KAAlB,CAAwB66C,uBAAxB,GAAkD,KAAK8J,wBAAvD;AACH;;AACD,cAAI,CAAC,KAAK9D,mBAAV,EAA+B;AAC3B;AACH;;AACD,eAAKd,QAAL,CAAc5vC,IAAd,CAAmB;AAAEs+B,kBAAM,EAAE;AAAV,WAAnB;;AACA,cAAI,KAAK8S,cAAT,EAAyB;AACrB;AACA,iBAAKA,cAAL,CAAoBqD,cAApB;;AACA,iBAAKC,4BAAL,GAAoC3jD,IAApC,CAAyC,YAAM;AAC3C,qBAAI,CAAC4jD,qBAAL,CAA2Bl+C,KAA3B;;AACA,qBAAI,CAACm+C,wBAAL;;AACA,qBAAI,CAAChG,iBAAL,CAAuB2F,YAAvB,CAAoC,OAApC;AACH,aAJD;AAKH,WARD,MASK;AACD;AACA;AACA;AACA,iBAAK1F,iBAAL,CAAuB1C,CAAvB,GAA2B,KAAK2C,gBAAL,CAAsB3C,CAAjD;AACA,iBAAK0C,iBAAL,CAAuBzC,CAAvB,GAA2B,KAAK0C,gBAAL,CAAsB1C,CAAjD;;AACA,iBAAK1W,OAAL,CAAaoL,GAAb,CAAiB,YAAM;AACnB,qBAAI,CAAC+O,KAAL,CAAW7vC,IAAX,CAAgB;AACZs+B,sBAAM,EAAE,OADI;AAEZgU,wBAAQ,EAAE,OAAI,CAACC,gBAAL,CAAsB,OAAI,CAAC9B,yBAAL,CAA+Bh6C,KAA/B,CAAtB;AAFE,eAAhB;AAIH,aALD;;AAMA,iBAAKm+C,wBAAL;;AACA,iBAAKhG,iBAAL,CAAuB2F,YAAvB,CAAoC,IAApC;AACH;AACJ;AACD;;;;eACA,4BAAmB99C,KAAnB,EAA0B;AACtB,cAAIo+C,YAAY,CAACp+C,KAAD,CAAhB,EAAyB;AACrB,iBAAKq+C,mBAAL,GAA2BpuB,IAAI,CAACC,GAAL,EAA3B;AACH;;AACD,eAAKosB,6BAAL;;AACA,cAAMgC,aAAa,GAAG,KAAK3D,cAA3B;;AACA,cAAI2D,aAAJ,EAAmB;AACf,gBAAM5/C,OAAO,GAAG,KAAKm7C,YAArB;AACA,gBAAMx2B,MAAM,GAAG3kB,OAAO,CAAC4kB,UAAvB;;AACA,gBAAMi7B,OAAO,GAAG,KAAKtD,QAAL,GAAgB,KAAKuD,qBAAL,EAAhC;;AACA,gBAAMC,WAAW,GAAG,KAAKlC,YAAL,GAAoB,KAAKmC,yBAAL,EAAxC;;AACA,gBAAM3d,MAAM,GAAG,KAAKuc,OAAL,GAAe,KAAKA,OAAL,IAAgB,KAAK/mB,SAAL,CAAeooB,aAAf,CAA6B,EAA7B,CAA9C,CALe,CAMf;;;AACA,gBAAMvc,UAAU,GAAG,KAAKwc,cAAL,EAAnB,CAPe,CAQf;;;AACAv7B,kBAAM,CAACmC,YAAP,CAAoBub,MAApB,EAA4BriC,OAA5B,EATe,CAUf;AACA;AACA;;AACA21C,4BAAgB,CAAC31C,OAAD,EAAU,KAAV,CAAhB;;AACA,iBAAK63B,SAAL,CAAexyB,IAAf,CAAoB0vB,WAApB,CAAgCpQ,MAAM,CAACw7B,YAAP,CAAoBJ,WAApB,EAAiC//C,OAAjC,CAAhC;;AACAogD,oCAAwB,CAAC,KAAKvoB,SAAN,EAAiB6L,UAAjB,CAAxB,CAAqD3O,WAArD,CAAiE8qB,OAAjE;AACA,iBAAKrF,OAAL,CAAa3vC,IAAb,CAAkB;AAAEs+B,oBAAM,EAAE;AAAV,aAAlB,EAhBe,CAgBsB;;AACrCyW,yBAAa,CAACjkC,KAAd;AACA,iBAAK0kC,iBAAL,GAAyBT,aAAzB;AACA,iBAAKU,aAAL,GAAqBV,aAAa,CAACW,YAAd,CAA2B,IAA3B,CAArB;AACH,WApBD,MAqBK;AACD,iBAAK/F,OAAL,CAAa3vC,IAAb,CAAkB;AAAEs+B,oBAAM,EAAE;AAAV,aAAlB;AACA,iBAAKkX,iBAAL,GAAyB,KAAKC,aAAL,GAAqBv+C,SAA9C;AACH,WA9BqB,CA+BtB;AACA;;;AACA,eAAK27C,gBAAL,CAAsB8C,KAAtB,CAA4BZ,aAAa,GAAGA,aAAa,CAACa,oBAAd,EAAH,GAA0C,EAAnF;AACH;AACD;;;;;;;;;eAMA,iCAAwBC,gBAAxB,EAA0Cp/C,KAA1C,EAAiD;AAAA;;AAC7C;AACA;AACA,cAAI,KAAKq9C,cAAT,EAAyB;AACrBr9C,iBAAK,CAACq/C,eAAN;AACH;;AACD,cAAMxE,UAAU,GAAG,KAAKA,UAAL,EAAnB;AACA,cAAMyE,eAAe,GAAGlB,YAAY,CAACp+C,KAAD,CAApC;AACA,cAAMu/C,sBAAsB,GAAG,CAACD,eAAD,IAAoBt/C,KAAK,CAACw/C,MAAN,KAAiB,CAApE;AACA,cAAMzsC,WAAW,GAAG,KAAK8mC,YAAzB;AACA,cAAM4F,gBAAgB,GAAG,CAACH,eAAD,IAAoB,KAAKjB,mBAAzB,IACrB,KAAKA,mBAAL,GAA2BrG,uBAA3B,GAAqD/nB,IAAI,CAACC,GAAL,EADzD,CAV6C,CAY7C;AACA;AACA;AACA;AACA;AACA;;AACA,cAAIlwB,KAAK,CAAC+W,MAAN,IAAgB/W,KAAK,CAAC+W,MAAN,CAAa2oC,SAA7B,IAA0C1/C,KAAK,CAACpH,IAAN,KAAe,WAA7D,EAA0E;AACtEoH,iBAAK,CAAC07B,cAAN;AACH,WApB4C,CAqB7C;;;AACA,cAAImf,UAAU,IAAI0E,sBAAd,IAAwCE,gBAA5C,EAA8D;AAC1D;AACH,WAxB4C,CAyB7C;AACA;AACA;;;AACA,cAAI,KAAK5G,QAAL,CAAc/8C,MAAlB,EAA0B;AACtB,iBAAKiiD,wBAAL,GAAgChrC,WAAW,CAAC3Z,KAAZ,CAAkB66C,uBAAlB,IAA6C,EAA7E;AACAlhC,uBAAW,CAAC3Z,KAAZ,CAAkB66C,uBAAlB,GAA4C,aAA5C;AACH;;AACD,eAAKgG,mBAAL,GAA2B,KAAKmB,SAAL,GAAiB,KAA5C,CAhC6C,CAiC7C;AACA;;AACA,eAAKsC,oBAAL;;AACA,eAAKnF,wBAAL,GAAgC,KAAKJ,iBAAL,CAAuBwH,WAAvB,CAAmClmB,SAAnC,CAA6C,KAAKqgB,YAAlD,CAAhC;AACA,eAAKtB,sBAAL,GAA8B,KAAKL,iBAAL,CAAuByH,SAAvB,CAAiCnmB,SAAjC,CAA2C,KAAKuiB,UAAhD,CAA9B;AACA,eAAKvD,mBAAL,GAA2B,KAAKN,iBAAL,CAAuB0H,MAAvB,CAA8BpmB,SAA9B,CAAwC,UAAAqmB,WAAW,EAAI;AAC9E,mBAAI,CAACC,eAAL,CAAqBD,WAArB;AACH,WAF0B,CAA3B;;AAGA,cAAI,KAAKnH,gBAAT,EAA2B;AACvB,iBAAKqH,aAAL,GAAqB9K,oBAAoB,CAAC,KAAKyD,gBAAN,CAAzC;AACH,WA3C4C,CA4C7C;AACA;AACA;;;AACA,cAAMsH,eAAe,GAAG,KAAKpD,gBAA7B;AACA,eAAKqD,wBAAL,GAAgCD,eAAe,IAAIA,eAAe,CAACrD,QAAnC,IAC5B,CAACqD,eAAe,CAACE,SADW,GACC;AAAEzK,aAAC,EAAE,CAAL;AAAQC,aAAC,EAAE;AAAX,WADD,GAE5B,KAAKyK,4BAAL,CAAkChB,gBAAlC,EAAoDp/C,KAApD,CAFJ;;AAGA,cAAM+5C,eAAe,GAAG,KAAKI,qBAAL,GAA6B,KAAKkB,yBAAL,GACjD,KAAKrB,yBAAL,CAA+Bh6C,KAA/B,CADJ;;AAEA,eAAK+7C,sBAAL,GAA8B;AAAErG,aAAC,EAAE,CAAL;AAAQC,aAAC,EAAE;AAAX,WAA9B;AACA,eAAK0K,qCAAL,GAA6C;AAAE3K,aAAC,EAAEqE,eAAe,CAACrE,CAArB;AAAwBC,aAAC,EAAEoE,eAAe,CAACpE;AAA3C,WAA7C;AACA,eAAK6E,cAAL,GAAsBvqB,IAAI,CAACC,GAAL,EAAtB;;AACA,eAAKioB,iBAAL,CAAuBmI,aAAvB,CAAqC,IAArC,EAA2CtgD,KAA3C;AACH;AACD;;;;eACA,+BAAsBA,KAAtB,EAA6B;AAAA;;AACzB;AACA;AACA;AACA;AACAq0C,0BAAgB,CAAC,KAAKwF,YAAN,EAAoB,IAApB,CAAhB;;AACA,eAAKyD,OAAL,CAAah6B,UAAb,CAAwBu7B,YAAxB,CAAqC,KAAKhF,YAA1C,EAAwD,KAAKyD,OAA7D;;AACA,eAAKC,eAAL;;AACA,eAAKC,mBAAL;;AACA,eAAKwC,aAAL,GAAqB,KAAKhF,YAAL,GAAoBv6C,SAAzC,CATyB,CAUzB;;AACA,eAAKw+B,OAAL,CAAaoL,GAAb,CAAiB,YAAM;AACnB,gBAAMqQ,SAAS,GAAG,OAAI,CAACC,cAAvB;AACA,gBAAMlK,YAAY,GAAGiK,SAAS,CAACuE,YAAV,CAAuB,OAAvB,CAArB;;AACA,gBAAMlF,eAAe,GAAG,OAAI,CAACC,yBAAL,CAA+Bh6C,KAA/B,CAAxB;;AACA,gBAAM67C,QAAQ,GAAG,OAAI,CAACC,gBAAL,CAAsB,OAAI,CAAC9B,yBAAL,CAA+Bh6C,KAA/B,CAAtB,CAAjB;;AACA,gBAAMugD,sBAAsB,GAAG7F,SAAS,CAAC8F,gBAAV,CAA2BzG,eAAe,CAACrE,CAA3C,EAA8CqE,eAAe,CAACpE,CAA9D,CAA/B;;AACA,mBAAI,CAACyD,KAAL,CAAW7vC,IAAX,CAAgB;AAAEs+B,oBAAM,EAAE,OAAV;AAAgBgU,sBAAQ,EAARA;AAAhB,aAAhB;;AACA,mBAAI,CAACtC,OAAL,CAAahwC,IAAb,CAAkB;AACd3B,kBAAI,EAAE,OADQ;AAEd6oC,0BAAY,EAAZA,YAFc;AAGdG,2BAAa,EAAE,OAAI,CAACoO,aAHN;AAIdtE,uBAAS,EAAEA,SAJG;AAKd+F,+BAAiB,EAAE,OAAI,CAAC1B,iBALV;AAMdwB,oCAAsB,EAAtBA,sBANc;AAOd1E,sBAAQ,EAARA;AAPc,aAAlB;;AASAnB,qBAAS,CAACgG,IAAV,CAAe,OAAf,EAAqBjQ,YAArB,EAAmC,OAAI,CAACuO,aAAxC,EAAuD,OAAI,CAACD,iBAA5D,EAA+EwB,sBAA/E,EAAuG1E,QAAvG;AACA,mBAAI,CAAClB,cAAL,GAAsB,OAAI,CAACoE,iBAA3B;AACH,WAlBD;AAmBH;AACD;;;;;;;eAIA,kDAA2D;AAAA;;AAAA,cAA9BrJ,CAA8B,SAA9BA,CAA8B;AAAA,cAA3BC,CAA2B,SAA3BA,CAA2B;AAAA,cAAjBgL,IAAiB,SAApBjL,CAAoB;AAAA,cAARkL,IAAQ,SAAXjL,CAAW;;AACvD;AACA,cAAIkL,YAAY,GAAG,KAAK9B,iBAAL,CAAuB+B,gCAAvB,CAAwD,IAAxD,EAA8DpL,CAA9D,EAAiEC,CAAjE,CAAnB,CAFuD,CAGvD;AACA;AACA;AACA;;;AACA,cAAI,CAACkL,YAAD,IAAiB,KAAKlG,cAAL,KAAwB,KAAKoE,iBAA9C,IACA,KAAKA,iBAAL,CAAuByB,gBAAvB,CAAwC9K,CAAxC,EAA2CC,CAA3C,CADJ,EACmD;AAC/CkL,wBAAY,GAAG,KAAK9B,iBAApB;AACH;;AACD,cAAI8B,YAAY,IAAIA,YAAY,KAAK,KAAKlG,cAA1C,EAA0D;AACtD,iBAAK1b,OAAL,CAAaoL,GAAb,CAAiB,YAAM;AACnB;AACA,qBAAI,CAACiP,MAAL,CAAY/vC,IAAZ,CAAiB;AAAE3B,oBAAI,EAAE,OAAR;AAAc8yC,yBAAS,EAAE,OAAI,CAACC;AAA9B,eAAjB;;AACA,qBAAI,CAACA,cAAL,CAAoBoG,IAApB,CAAyB,OAAzB,EAHmB,CAInB;;;AACA,qBAAI,CAACpG,cAAL,GAAsBkG,YAAtB;;AACA,qBAAI,CAAClG,cAAL,CAAoBqG,KAApB,CAA0B,OAA1B,EAAgCtL,CAAhC,EAAmCC,CAAnC,EAAsCkL,YAAY,KAAK,OAAI,CAAC9B,iBAAtB,IAClC;AACA;AACA8B,0BAAY,CAACI,eAHqB,GAGH,OAAI,CAACjC,aAHF,GAGkBv+C,SAHxD;;AAIA,qBAAI,CAAC44C,OAAL,CAAa9vC,IAAb,CAAkB;AACd3B,oBAAI,EAAE,OADQ;AAEd8yC,yBAAS,EAAEmG,YAFG;AAGdpQ,4BAAY,EAAEoQ,YAAY,CAAC5B,YAAb,CAA0B,OAA1B;AAHA,eAAlB;AAKH,aAfD;AAgBH;;AACD,eAAKtE,cAAL,CAAoBuG,0BAApB,CAA+CP,IAA/C,EAAqDC,IAArD;;AACA,eAAKjG,cAAL,CAAoBwG,SAApB,CAA8B,IAA9B,EAAoCzL,CAApC,EAAuCC,CAAvC,EAA0C,KAAKoG,sBAA/C;;AACA,eAAKd,QAAL,CAAc7hD,KAAd,CAAoBukD,SAApB,GACIyD,YAAY,CAAC1L,CAAC,GAAG,KAAKwK,wBAAL,CAA8BxK,CAAnC,EAAsCC,CAAC,GAAG,KAAKuK,wBAAL,CAA8BvK,CAAxE,CADhB;AAEH;AACD;;;;;;;eAIA,iCAAwB;AACpB,cAAM0L,aAAa,GAAG,KAAKxE,gBAA3B;AACA,cAAMyE,YAAY,GAAG,KAAKA,YAA1B;AACA,cAAMrB,eAAe,GAAGoB,aAAa,GAAGA,aAAa,CAACzE,QAAjB,GAA4B,IAAjE;AACA,cAAI2B,OAAJ;;AACA,cAAI0B,eAAe,IAAIoB,aAAvB,EAAsC;AAClC;AACA;AACA,gBAAME,QAAQ,GAAGF,aAAa,CAAClB,SAAd,GAA0B,KAAKtG,YAAL,CAAkBzE,qBAAlB,EAA1B,GAAsE,IAAvF;AACA,gBAAMoM,OAAO,GAAGH,aAAa,CAACI,aAAd,CAA4B3Q,kBAA5B,CAA+CmP,eAA/C,EAAgEoB,aAAa,CAAC92C,OAA9E,CAAhB;AACAi3C,mBAAO,CAACE,aAAR;AACAnD,mBAAO,GAAGoD,WAAW,CAACH,OAAD,EAAU,KAAKjrB,SAAf,CAArB;AACA,iBAAKqnB,WAAL,GAAmB4D,OAAnB;;AACA,gBAAIH,aAAa,CAAClB,SAAlB,EAA6B;AACzByB,8BAAgB,CAACrD,OAAD,EAAUgD,QAAV,CAAhB;AACH,aAFD,MAGK;AACDhD,qBAAO,CAACnlD,KAAR,CAAcukD,SAAd,GACIyD,YAAY,CAAC,KAAKjH,qBAAL,CAA2BzE,CAA5B,EAA+B,KAAKyE,qBAAL,CAA2BxE,CAA1D,CADhB;AAEH;AACJ,WAfD,MAgBK;AACD,gBAAMj3C,OAAO,GAAG,KAAKm7C,YAArB;AACA0E,mBAAO,GAAGrH,aAAa,CAACx4C,OAAD,CAAvB;AACAkjD,4BAAgB,CAACrD,OAAD,EAAU7/C,OAAO,CAAC02C,qBAAR,EAAV,CAAhB;AACH;;AACDzB,sBAAY,CAAC4K,OAAO,CAACnlD,KAAT,EAAgB;AACxB;AACA;AACAyoD,yBAAa,EAAE,MAHS;AAIxB;AACAC,kBAAM,EAAE,GALgB;AAMxBnmD,oBAAQ,EAAE,OANc;AAOxB24C,eAAG,EAAE,GAPmB;AAQxBE,gBAAI,EAAE,GARkB;AASxBuN,kBAAM,YAAK,KAAK7J,OAAL,CAAa6J,MAAb,IAAuB,IAA5B;AATkB,WAAhB,CAAZ;AAWAnO,sCAA4B,CAAC2K,OAAD,EAAU,KAAV,CAA5B;AACAA,iBAAO,CAAC1xB,SAAR,CAAkBte,GAAlB,CAAsB,kBAAtB;AACAgwC,iBAAO,CAACt2C,YAAR,CAAqB,KAArB,EAA4B,KAAK8wC,UAAjC;;AACA,cAAIuI,YAAJ,EAAkB;AACd,gBAAIj6C,KAAK,CAACC,OAAN,CAAcg6C,YAAd,CAAJ,EAAiC;AAC7BA,0BAAY,CAACnmD,OAAb,CAAqB,UAAAmsB,SAAS;AAAA,uBAAIi3B,OAAO,CAAC1xB,SAAR,CAAkBte,GAAlB,CAAsB+Y,SAAtB,CAAJ;AAAA,eAA9B;AACH,aAFD,MAGK;AACDi3B,qBAAO,CAAC1xB,SAAR,CAAkBte,GAAlB,CAAsB+yC,YAAtB;AACH;AACJ;;AACD,iBAAO/C,OAAP;AACH;AACD;;;;;;;eAIA,wCAA+B;AAAA;;AAC3B;AACA,cAAI,CAAC,KAAKnD,SAAV,EAAqB;AACjB,mBAAOhhD,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,cAAM2nD,eAAe,GAAG,KAAKzF,YAAL,CAAkBnH,qBAAlB,EAAxB,CAL2B,CAM3B;;;AACA,eAAK6F,QAAL,CAAcpuB,SAAd,CAAwBte,GAAxB,CAA4B,oBAA5B,EAP2B,CAQ3B;;;AACA,eAAK0sC,QAAL,CAAc7hD,KAAd,CAAoBukD,SAApB,GAAgCyD,YAAY,CAACY,eAAe,CAACxN,IAAjB,EAAuBwN,eAAe,CAAC1N,GAAvC,CAA5C,CAT2B,CAU3B;AACA;AACA;AACA;;AACA,cAAM95C,QAAQ,GAAGm6C,kCAAkC,CAAC,KAAKsG,QAAN,CAAnD;;AACA,cAAIzgD,QAAQ,KAAK,CAAjB,EAAoB;AAChB,mBAAOJ,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,iBAAO,KAAK4kC,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACxC,mBAAO,IAAI3lC,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC1B,kBAAM+tC,OAAO,GAAI,SAAXA,OAAW,CAACpoC,KAAD,EAAW;AACxB,oBAAI,CAACA,KAAD,IAAWA,KAAK,CAAC+W,MAAN,KAAiB,OAAI,CAACkkC,QAAtB,IAAkCj7C,KAAK,CAACya,YAAN,KAAuB,WAAxE,EAAsF;AAClF,yBAAI,CAACwgC,QAAL,CAAc7pB,mBAAd,CAAkC,eAAlC,EAAmDgX,OAAnD;;AACA/tC,yBAAO;AACPgrC,8BAAY,CAAC4c,OAAD,CAAZ;AACH;AACJ,eAND,CAD0B,CAQ1B;AACA;AACA;;;AACA,kBAAMA,OAAO,GAAGne,UAAU,CAACsE,OAAD,EAAU5tC,QAAQ,GAAG,GAArB,CAA1B;;AACA,qBAAI,CAACygD,QAAL,CAAc5pB,gBAAd,CAA+B,eAA/B,EAAgD+W,OAAhD;AACH,aAbM,CAAP;AAcH,WAfM,CAAP;AAgBH;AACD;;;;eACA,qCAA4B;AACxB,cAAM8Z,iBAAiB,GAAG,KAAKpF,oBAA/B;AACA,cAAMqF,mBAAmB,GAAGD,iBAAiB,GAAGA,iBAAiB,CAACtF,QAArB,GAAgC,IAA7E;AACA,cAAI6B,WAAJ;;AACA,cAAI0D,mBAAJ,EAAyB;AACrB,iBAAKtE,eAAL,GAAuBqE,iBAAiB,CAACT,aAAlB,CAAgC3Q,kBAAhC,CAAmDqR,mBAAnD,EAAwED,iBAAiB,CAAC33C,OAA1F,CAAvB;;AACA,iBAAKszC,eAAL,CAAqB6D,aAArB;;AACAjD,uBAAW,GAAGkD,WAAW,CAAC,KAAK9D,eAAN,EAAuB,KAAKtnB,SAA5B,CAAzB;AACH,WAJD,MAKK;AACDkoB,uBAAW,GAAGvH,aAAa,CAAC,KAAK2C,YAAN,CAA3B;AACH;;AACD4E,qBAAW,CAAC5xB,SAAZ,CAAsBte,GAAtB,CAA0B,sBAA1B;AACA,iBAAOkwC,WAAP;AACH;AACD;;;;;;;;eAKA,sCAA6BW,gBAA7B,EAA+Cp/C,KAA/C,EAAsD;AAClD,cAAMoiD,WAAW,GAAG,KAAKvI,YAAL,CAAkBzE,qBAAlB,EAApB;;AACA,cAAMiN,aAAa,GAAGjD,gBAAgB,KAAK,KAAKvF,YAA1B,GAAyC,IAAzC,GAAgDuF,gBAAtE;AACA,cAAMkD,aAAa,GAAGD,aAAa,GAAGA,aAAa,CAACjN,qBAAd,EAAH,GAA2CgN,WAA9E;AACA,cAAMG,KAAK,GAAGnE,YAAY,CAACp+C,KAAD,CAAZ,GAAsBA,KAAK,CAACwiD,aAAN,CAAoB,CAApB,CAAtB,GAA+CxiD,KAA7D;;AACA,cAAMu2C,cAAc,GAAG,KAAKkM,0BAAL,EAAvB;;AACA,cAAM/M,CAAC,GAAG6M,KAAK,CAACG,KAAN,GAAcJ,aAAa,CAAC9N,IAA5B,GAAmC+B,cAAc,CAAC/B,IAA5D;AACA,cAAMmB,CAAC,GAAG4M,KAAK,CAACI,KAAN,GAAcL,aAAa,CAAChO,GAA5B,GAAkCiC,cAAc,CAACjC,GAA3D;AACA,iBAAO;AACHoB,aAAC,EAAE4M,aAAa,CAAC9N,IAAd,GAAqB4N,WAAW,CAAC5N,IAAjC,GAAwCkB,CADxC;AAEHC,aAAC,EAAE2M,aAAa,CAAChO,GAAd,GAAoB8N,WAAW,CAAC9N,GAAhC,GAAsCqB;AAFtC,WAAP;AAIH;AACD;;;;eACA,mCAA0B31C,KAA1B,EAAiC;AAC7B,cAAMu2C,cAAc,GAAG,KAAKkM,0BAAL,EAAvB;;AACA,cAAMF,KAAK,GAAGnE,YAAY,CAACp+C,KAAD,CAAZ,GAQTA,KAAK,CAAC0mC,OAAN,CAAc,CAAd,KAAoB1mC,KAAK,CAAC2mC,cAAN,CAAqB,CAArB,CAApB,IAA+C;AAAE+b,iBAAK,EAAE,CAAT;AAAYC,iBAAK,EAAE;AAAnB,WARtC,GAQgE3iD,KAR9E;AASA,cAAM01C,CAAC,GAAG6M,KAAK,CAACG,KAAN,GAAcnM,cAAc,CAAC/B,IAAvC;AACA,cAAMmB,CAAC,GAAG4M,KAAK,CAACI,KAAN,GAAcpM,cAAc,CAACjC,GAAvC,CAZ6B,CAa7B;AACA;;AACA,cAAI,KAAK2I,gBAAT,EAA2B;AACvB,gBAAM2F,SAAS,GAAG,KAAK3F,gBAAL,CAAsB4F,YAAtB,EAAlB;;AACA,gBAAID,SAAJ,EAAe;AACX,kBAAME,QAAQ,GAAG,KAAK7F,gBAAL,CAAsB8F,cAAtB,EAAjB;;AACAD,sBAAQ,CAACpN,CAAT,GAAaA,CAAb;AACAoN,sBAAQ,CAACnN,CAAT,GAAaA,CAAb;AACA,qBAAOmN,QAAQ,CAACE,eAAT,CAAyBJ,SAAS,CAACK,OAAV,EAAzB,CAAP;AACH;AACJ;;AACD,iBAAO;AAAEvN,aAAC,EAADA,CAAF;AAAKC,aAAC,EAADA;AAAL,WAAP;AACH;AACD;;;;eACA,wCAA+B4M,KAA/B,EAAsC;AAClC,cAAMW,iBAAiB,GAAG,KAAKvI,cAAL,GAAsB,KAAKA,cAAL,CAAoBwI,QAA1C,GAAqD,IAA/E;;AACA,sBAAe,KAAKC,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBb,KAAvB,EAA8B,IAA9B,CAAzB,GAA+DA,KAA9E;AAAA,cAAM7M,CAAN,SAAMA,CAAN;AAAA,cAASC,CAAT,SAASA,CAAT;;AACA,cAAI,KAAKwN,QAAL,KAAkB,GAAlB,IAAyBD,iBAAiB,KAAK,GAAnD,EAAwD;AACpDvN,aAAC,GAAG,KAAKwE,qBAAL,CAA2BxE,CAA/B;AACH,WAFD,MAGK,IAAI,KAAKwN,QAAL,KAAkB,GAAlB,IAAyBD,iBAAiB,KAAK,GAAnD,EAAwD;AACzDxN,aAAC,GAAG,KAAKyE,qBAAL,CAA2BzE,CAA/B;AACH;;AACD,cAAI,KAAKsK,aAAT,EAAwB;AACpB,wCAAmC,KAAKE,wBAAxC;AAAA,gBAAWmD,OAAX,yBAAQ3N,CAAR;AAAA,gBAAuB4N,OAAvB,yBAAoB3N,CAApB;AACA,gBAAM4N,YAAY,GAAG,KAAKvD,aAA1B;AACA,gBAAMwD,WAAW,GAAG,KAAKxI,YAAzB;AACA,gBAAMyI,IAAI,GAAGF,YAAY,CAACjP,GAAb,GAAmBgP,OAAhC;AACA,gBAAMI,IAAI,GAAGH,YAAY,CAACjO,MAAb,IAAuBkO,WAAW,CAAChO,MAAZ,GAAqB8N,OAA5C,CAAb;AACA,gBAAMK,IAAI,GAAGJ,YAAY,CAAC/O,IAAb,GAAoB6O,OAAjC;AACA,gBAAMO,IAAI,GAAGL,YAAY,CAAClO,KAAb,IAAsBmO,WAAW,CAACjO,KAAZ,GAAoB8N,OAA1C,CAAb;AACA3N,aAAC,GAAGmO,KAAK,CAACnO,CAAD,EAAIiO,IAAJ,EAAUC,IAAV,CAAT;AACAjO,aAAC,GAAGkO,KAAK,CAAClO,CAAD,EAAI8N,IAAJ,EAAUC,IAAV,CAAT;AACH;;AACD,iBAAO;AAAEhO,aAAC,EAADA,CAAF;AAAKC,aAAC,EAADA;AAAL,WAAP;AACH;AACD;;;;eACA,sCAA6BmO,qBAA7B,EAAoD;AAChD,cAAQpO,CAAR,GAAiBoO,qBAAjB,CAAQpO,CAAR;AAAA,cAAWC,CAAX,GAAiBmO,qBAAjB,CAAWnO,CAAX;AACA,cAAM7Z,KAAK,GAAG,KAAKigB,sBAAnB;AACA,cAAMgI,uBAAuB,GAAG,KAAK1D,qCAArC,CAHgD,CAIhD;;AACA,cAAM2D,OAAO,GAAGnnD,IAAI,CAACkZ,GAAL,CAAS2/B,CAAC,GAAGqO,uBAAuB,CAACrO,CAArC,CAAhB;AACA,cAAMuO,OAAO,GAAGpnD,IAAI,CAACkZ,GAAL,CAAS4/B,CAAC,GAAGoO,uBAAuB,CAACpO,CAArC,CAAhB,CANgD,CAOhD;AACA;AACA;AACA;;AACA,cAAIqO,OAAO,GAAG,KAAK9L,OAAL,CAAagM,+BAA3B,EAA4D;AACxDpoB,iBAAK,CAAC4Z,CAAN,GAAUA,CAAC,GAAGqO,uBAAuB,CAACrO,CAA5B,GAAgC,CAAhC,GAAoC,CAAC,CAA/C;AACAqO,mCAAuB,CAACrO,CAAxB,GAA4BA,CAA5B;AACH;;AACD,cAAIuO,OAAO,GAAG,KAAK/L,OAAL,CAAagM,+BAA3B,EAA4D;AACxDpoB,iBAAK,CAAC6Z,CAAN,GAAUA,CAAC,GAAGoO,uBAAuB,CAACpO,CAA5B,GAAgC,CAAhC,GAAoC,CAAC,CAA/C;AACAoO,mCAAuB,CAACpO,CAAxB,GAA4BA,CAA5B;AACH;;AACD,iBAAO7Z,KAAP;AACH;AACD;;;;eACA,yCAAgC;AAC5B,cAAI,CAAC,KAAK+d,YAAN,IAAsB,CAAC,KAAKhB,QAAhC,EAA0C;AACtC;AACH;;AACD,cAAMsL,YAAY,GAAG,KAAKtL,QAAL,CAAc/8C,MAAd,GAAuB,CAAvB,IAA4B,CAAC,KAAK++C,UAAL,EAAlD;;AACA,cAAIsJ,YAAY,KAAK,KAAKvL,0BAA1B,EAAsD;AAClD,iBAAKA,0BAAL,GAAkCuL,YAAlC;AACAvQ,wCAA4B,CAAC,KAAKiG,YAAN,EAAoBsK,YAApB,CAA5B;AACH;AACJ;AACD;;;;eACA,qCAA4BzlD,OAA5B,EAAqC;AACjCA,iBAAO,CAAC0yB,mBAAR,CAA4B,WAA5B,EAAyC,KAAKqoB,YAA9C,EAA4D1B,0BAA5D;AACAr5C,iBAAO,CAAC0yB,mBAAR,CAA4B,YAA5B,EAA0C,KAAKqoB,YAA/C,EAA6D3B,2BAA7D;AACH;AACD;;;;;;;;eAKA,oCAA2BpC,CAA3B,EAA8BC,CAA9B,EAAiC;AAC7B,cAAMgI,SAAS,GAAGyD,YAAY,CAAC1L,CAAD,EAAIC,CAAJ,CAA9B,CAD6B,CAE7B;AACA;;AACA,cAAI,KAAKqH,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,iBAAKA,iBAAL,GAAyB,KAAKnD,YAAL,CAAkBzgD,KAAlB,CAAwBukD,SAAxB,IAAqC,EAA9D;AACH,WAN4B,CAO7B;AACA;AACA;;;AACA,eAAK9D,YAAL,CAAkBzgD,KAAlB,CAAwBukD,SAAxB,GAAoC,KAAKX,iBAAL,GAChCW,SAAS,GAAG,GAAZ,GAAkB,KAAKX,iBADS,GACWW,SAD/C;AAEH;AACD;;;;;;;eAIA,0BAAiByG,eAAjB,EAAkC;AAC9B,cAAMC,cAAc,GAAG,KAAKlK,qBAA5B;;AACA,cAAIkK,cAAJ,EAAoB;AAChB,mBAAO;AAAE3O,eAAC,EAAE0O,eAAe,CAAC1O,CAAhB,GAAoB2O,cAAc,CAAC3O,CAAxC;AAA2CC,eAAC,EAAEyO,eAAe,CAACzO,CAAhB,GAAoB0O,cAAc,CAAC1O;AAAjF,aAAP;AACH;;AACD,iBAAO;AAAED,aAAC,EAAE,CAAL;AAAQC,aAAC,EAAE;AAAX,WAAP;AACH;AACD;;;;eACA,oCAA2B;AACvB,eAAKqK,aAAL,GAAqB,KAAKhF,YAAL,GAAoBv6C,SAAzC;;AACA,eAAK27C,gBAAL,CAAsB5pC,KAAtB;AACH;AACD;;;;;;;eAIA,0CAAiC;AAC7B,sCAAe,KAAK4lC,iBAApB;AAAA,cAAM1C,CAAN,yBAAMA,CAAN;AAAA,cAASC,CAAT,yBAASA,CAAT;;AACA,cAAKD,CAAC,KAAK,CAAN,IAAWC,CAAC,KAAK,CAAlB,IAAwB,KAAKkF,UAAL,EAAxB,IAA6C,CAAC,KAAKlC,gBAAvD,EAAyE;AACrE;AACH;;AACD,cAAM4K,YAAY,GAAG,KAAK5K,gBAAL,CAAsBvD,qBAAtB,EAArB;;AACA,cAAMgN,WAAW,GAAG,KAAKvI,YAAL,CAAkBzE,qBAAlB,EAApB,CAN6B,CAO7B;AACA;;;AACA,cAAKmO,YAAY,CAAChO,KAAb,KAAuB,CAAvB,IAA4BgO,YAAY,CAAC/N,MAAb,KAAwB,CAArD,IACC4M,WAAW,CAAC7M,KAAZ,KAAsB,CAAtB,IAA2B6M,WAAW,CAAC5M,MAAZ,KAAuB,CADvD,EAC2D;AACvD;AACH;;AACD,cAAM8O,YAAY,GAAGf,YAAY,CAAC/O,IAAb,GAAoB4N,WAAW,CAAC5N,IAArD;AACA,cAAM+P,aAAa,GAAGnC,WAAW,CAAC/M,KAAZ,GAAoBkO,YAAY,CAAClO,KAAvD;AACA,cAAMmP,WAAW,GAAGjB,YAAY,CAACjP,GAAb,GAAmB8N,WAAW,CAAC9N,GAAnD;AACA,cAAMmQ,cAAc,GAAGrC,WAAW,CAAC9M,MAAZ,GAAqBiO,YAAY,CAACjO,MAAzD,CAhB6B,CAiB7B;AACA;;AACA,cAAIiO,YAAY,CAAChO,KAAb,GAAqB6M,WAAW,CAAC7M,KAArC,EAA4C;AACxC,gBAAI+O,YAAY,GAAG,CAAnB,EAAsB;AAClB5O,eAAC,IAAI4O,YAAL;AACH;;AACD,gBAAIC,aAAa,GAAG,CAApB,EAAuB;AACnB7O,eAAC,IAAI6O,aAAL;AACH;AACJ,WAPD,MAQK;AACD7O,aAAC,GAAG,CAAJ;AACH,WA7B4B,CA8B7B;AACA;;;AACA,cAAI6N,YAAY,CAAC/N,MAAb,GAAsB4M,WAAW,CAAC5M,MAAtC,EAA8C;AAC1C,gBAAIgP,WAAW,GAAG,CAAlB,EAAqB;AACjB7O,eAAC,IAAI6O,WAAL;AACH;;AACD,gBAAIC,cAAc,GAAG,CAArB,EAAwB;AACpB9O,eAAC,IAAI8O,cAAL;AACH;AACJ,WAPD,MAQK;AACD9O,aAAC,GAAG,CAAJ;AACH;;AACD,cAAID,CAAC,KAAK,KAAK0C,iBAAL,CAAuB1C,CAA7B,IAAkCC,CAAC,KAAK,KAAKyC,iBAAL,CAAuBzC,CAAnE,EAAsE;AAClE,iBAAK+O,mBAAL,CAAyB;AAAE/O,eAAC,EAADA,CAAF;AAAKD,eAAC,EAADA;AAAL,aAAzB;AACH;AACJ;AACD;;;;eACA,4BAAmB11C,KAAnB,EAA0B;AACtB,cAAMe,KAAK,GAAG,KAAKi4C,cAAnB;;AACA,cAAI,OAAOj4C,KAAP,KAAiB,QAArB,EAA+B;AAC3B,mBAAOA,KAAP;AACH,WAFD,MAGK,IAAIq9C,YAAY,CAACp+C,KAAD,CAAhB,EAAyB;AAC1B,mBAAOe,KAAK,CAAC0lC,KAAb;AACH;;AACD,iBAAO1lC,KAAK,GAAGA,KAAK,CAAC4jD,KAAT,GAAiB,CAA7B;AACH;AACD;;;;eACA,yBAAgB3kD,KAAhB,EAAuB;AACnB,cAAM4kD,gBAAgB,GAAG,KAAKxI,gBAAL,CAAsByI,YAAtB,CAAmC7kD,KAAnC,CAAzB;;AACA,cAAI4kD,gBAAJ,EAAsB;AAClB,gBAAM7tC,MAAM,GAAG/W,KAAK,CAAC+W,MAArB,CADkB,CAElB;AACA;AACA;;AACA,gBAAI,KAAKipC,aAAL,KAAuBjpC,MAAM,KAAK,KAAKwf,SAAhB,IACtBxf,MAAM,KAAK,KAAK4hC,gBAAhB,IAAoC5hC,MAAM,CAACzU,QAAP,CAAgB,KAAKq2C,gBAArB,CADrC,CAAJ,EACmF;AAC/E/C,8BAAgB,CAAC,KAAKoK,aAAN,EAAqB4E,gBAAgB,CAACtQ,GAAtC,EAA2CsQ,gBAAgB,CAACpQ,IAA5D,CAAhB;AACH;;AACD,iBAAK2F,qBAAL,CAA2BzE,CAA3B,IAAgCkP,gBAAgB,CAACpQ,IAAjD;AACA,iBAAK2F,qBAAL,CAA2BxE,CAA3B,IAAgCiP,gBAAgB,CAACtQ,GAAjD,CAVkB,CAWlB;AACA;;AACA,gBAAI,CAAC,KAAKqG,cAAV,EAA0B;AACtB,mBAAKtC,gBAAL,CAAsB3C,CAAtB,IAA2BkP,gBAAgB,CAACpQ,IAA5C;AACA,mBAAK6D,gBAAL,CAAsB1C,CAAtB,IAA2BiP,gBAAgB,CAACtQ,GAA5C;;AACA,mBAAKmH,0BAAL,CAAgC,KAAKpD,gBAAL,CAAsB3C,CAAtD,EAAyD,KAAK2C,gBAAL,CAAsB1C,CAA/E;AACH;AACJ;AACJ;AACD;;;;eACA,sCAA6B;AACzB,cAAMgB,cAAc,GAAG,KAAKyF,gBAAL,CAAsB9F,SAAtB,CAAgCr1C,GAAhC,CAAoC,KAAKs1B,SAAzC,CAAvB;;AACA,iBAAOogB,cAAc,GAAGA,cAAc,CAACJ,cAAlB,GACjB,KAAKF,cAAL,CAAoBG,yBAApB,EADJ;AAEH;AACD;;;;;;;;;eAMA,0BAAiB;AACb,cAAI,KAAKsO,iBAAL,KAA2BrkD,SAA/B,EAA0C;AACtC,iBAAKqkD,iBAAL,GAAyB,6EAAe,KAAKjL,YAApB,CAAzB;AACH;;AACD,iBAAO,KAAKiL,iBAAZ;AACH;;;;;AAEL;;;;;;;AAKA,aAAS1D,YAAT,CAAsB1L,CAAtB,EAAyBC,CAAzB,EAA4B;AACxB;AACA;AACA,mCAAsB94C,IAAI,CAACid,KAAL,CAAW47B,CAAX,CAAtB,iBAA0C74C,IAAI,CAACid,KAAL,CAAW67B,CAAX,CAA1C;AACH;AACD;;;AACA,aAASkO,KAAT,CAAe9iD,KAAf,EAAsBxD,GAAtB,EAA2BT,GAA3B,EAAgC;AAC5B,aAAOD,IAAI,CAACC,GAAL,CAASS,GAAT,EAAcV,IAAI,CAACU,GAAL,CAAST,GAAT,EAAciE,KAAd,CAAd,CAAP;AACH;AACD;;;;;;AAIA,aAAS6kB,UAAT,CAAoBtb,IAApB,EAA0B;AACtB,UAAIA,IAAI,IAAIA,IAAI,CAACgZ,UAAjB,EAA6B;AACzBhZ,YAAI,CAACgZ,UAAL,CAAgBwQ,WAAhB,CAA4BxpB,IAA5B;AACH;AACJ;AACD;;;AACA,aAAS8zC,YAAT,CAAsBp+C,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,aAAOA,KAAK,CAACpH,IAAN,CAAW,CAAX,MAAkB,GAAzB;AACH;AACD;;;AACA,aAASkmD,wBAAT,CAAkCiG,WAAlC,EAA+C3iB,UAA/C,EAA2D;AACvD;AACA;AACA;AACA,aAAOA,UAAU,IACb2iB,WAAW,CAACC,iBADT,IAEHD,WAAW,CAACE,uBAFT,IAGHF,WAAW,CAACG,oBAHT,IAIHH,WAAW,CAACI,mBAJT,IAKHJ,WAAW,CAAChhD,IALhB;AAMH;AACD;;;;;;AAIA,aAAS49C,WAAT,CAAqBH,OAArB,EAA8BjrB,SAA9B,EAAyC;AACrC,UAAM6uB,SAAS,GAAG5D,OAAO,CAAC4D,SAA1B;;AACA,UAAIA,SAAS,CAACtpD,MAAV,KAAqB,CAArB,IAA0BspD,SAAS,CAAC,CAAD,CAAT,CAAajtB,QAAb,KAA0B5B,SAAS,CAAC6B,YAAlE,EAAgF;AAC5E,eAAOgtB,SAAS,CAAC,CAAD,CAAhB;AACH;;AACD,UAAMC,OAAO,GAAG9uB,SAAS,CAACpD,aAAV,CAAwB,KAAxB,CAAhB;;AACAiyB,eAAS,CAACjqD,OAAV,CAAkB,UAAAmP,IAAI;AAAA,eAAI+6C,OAAO,CAAC5xB,WAAR,CAAoBnpB,IAApB,CAAJ;AAAA,OAAtB;AACA,aAAO+6C,OAAP;AACH;AACD;;;;;;;AAKA,aAASzD,gBAAT,CAA0B7qC,MAA1B,EAAkCuuC,UAAlC,EAA8C;AAC1CvuC,YAAM,CAAC3d,KAAP,CAAam8C,KAAb,aAAwB+P,UAAU,CAAC/P,KAAnC;AACAx+B,YAAM,CAAC3d,KAAP,CAAao8C,MAAb,aAAyB8P,UAAU,CAAC9P,MAApC;AACAz+B,YAAM,CAAC3d,KAAP,CAAaukD,SAAb,GAAyByD,YAAY,CAACkE,UAAU,CAAC9Q,IAAZ,EAAkB8Q,UAAU,CAAChR,GAA7B,CAArC;AACH;AAED;;;;;;;;AAOA;;;;;;;;AAMA,aAASiR,eAAT,CAAyBC,KAAzB,EAAgCC,SAAhC,EAA2CC,OAA3C,EAAoD;AAChD,UAAM1+B,IAAI,GAAG2+B,OAAO,CAACF,SAAD,EAAYD,KAAK,CAAC1pD,MAAN,GAAe,CAA3B,CAApB;AACA,UAAM8pD,EAAE,GAAGD,OAAO,CAACD,OAAD,EAAUF,KAAK,CAAC1pD,MAAN,GAAe,CAAzB,CAAlB;;AACA,UAAIkrB,IAAI,KAAK4+B,EAAb,EAAiB;AACb;AACH;;AACD,UAAM7uC,MAAM,GAAGyuC,KAAK,CAACx+B,IAAD,CAApB;AACA,UAAM8U,KAAK,GAAG8pB,EAAE,GAAG5+B,IAAL,GAAY,CAAC,CAAb,GAAiB,CAA/B;;AACA,WAAK,IAAI7jB,CAAC,GAAG6jB,IAAb,EAAmB7jB,CAAC,KAAKyiD,EAAzB,EAA6BziD,CAAC,IAAI24B,KAAlC,EAAyC;AACrC0pB,aAAK,CAACriD,CAAD,CAAL,GAAWqiD,KAAK,CAACriD,CAAC,GAAG24B,KAAL,CAAhB;AACH;;AACD0pB,WAAK,CAACI,EAAD,CAAL,GAAY7uC,MAAZ;AACH;AACD;;;;;;;;;AAOA,aAAS8uC,iBAAT,CAA2BC,YAA3B,EAAyCC,WAAzC,EAAsDtV,YAAtD,EAAoEuV,WAApE,EAAiF;AAC7E,UAAMh/B,IAAI,GAAG2+B,OAAO,CAAClV,YAAD,EAAeqV,YAAY,CAAChqD,MAAb,GAAsB,CAArC,CAApB;AACA,UAAM8pD,EAAE,GAAGD,OAAO,CAACK,WAAD,EAAcD,WAAW,CAACjqD,MAA1B,CAAlB;;AACA,UAAIgqD,YAAY,CAAChqD,MAAjB,EAAyB;AACrBiqD,mBAAW,CAACh/C,MAAZ,CAAmB6+C,EAAnB,EAAuB,CAAvB,EAA0BE,YAAY,CAAC/+C,MAAb,CAAoBigB,IAApB,EAA0B,CAA1B,EAA6B,CAA7B,CAA1B;AACH;AACJ;AACD;;;;;;;;;;;AASA,aAASi/B,aAAT,CAAuBH,YAAvB,EAAqCC,WAArC,EAAkDtV,YAAlD,EAAgEuV,WAAhE,EAA6E;AACzE,UAAMJ,EAAE,GAAGD,OAAO,CAACK,WAAD,EAAcD,WAAW,CAACjqD,MAA1B,CAAlB;;AACA,UAAIgqD,YAAY,CAAChqD,MAAjB,EAAyB;AACrBiqD,mBAAW,CAACh/C,MAAZ,CAAmB6+C,EAAnB,EAAuB,CAAvB,EAA0BE,YAAY,CAACrV,YAAD,CAAtC;AACH;AACJ;AACD;;;AACA,aAASkV,OAAT,CAAiB5kD,KAAjB,EAAwBjE,GAAxB,EAA6B;AACzB,aAAOD,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACU,GAAL,CAAST,GAAT,EAAciE,KAAd,CAAZ,CAAP;AACH;AAED;;;;;;;;AAOA;;;;;;AAIA,QAAMmlD,wBAAwB,GAAG,IAAjC;AACA;;;;;AAIA,QAAMC,0BAA0B,GAAG,IAAnC;AACA;;;;QAGMC,W;;;AACF,2BAAY1nD,OAAZ,EAAqBy5C,iBAArB,EAAwC5hB,SAAxC,EAAmD0I,OAAnD,EAA4DoX,cAA5D,EAA4E;AAAA;;AAAA;;AACxE,aAAK8B,iBAAL,GAAyBA,iBAAzB;AACA,aAAKlZ,OAAL,GAAeA,OAAf;AACA,aAAKoX,cAAL,GAAsBA,cAAtB;AACA;;AACA,aAAKj2C,QAAL,GAAgB,KAAhB;AACA;;AACA,aAAK6gD,eAAL,GAAuB,KAAvB;AACA;;;;;AAIA,aAAKoF,kBAAL,GAA0B,KAA1B;AACA;;AACA,aAAKC,cAAL,GAAsB,CAAtB;AACA;;;;;AAIA,aAAKC,cAAL,GAAsB;AAAA,iBAAM,IAAN;AAAA,SAAtB;AACA;;;AACA,aAAKC,aAAL,GAAqB;AAAA,iBAAM,IAAN;AAAA,SAArB;AACA;;;AACA,aAAKvN,aAAL,GAAqB,IAAI,4CAAJ,EAArB;AACA;;;;AAGA,aAAKI,OAAL,GAAe,IAAI,4CAAJ,EAAf;AACA;;;;;AAIA,aAAKC,MAAL,GAAc,IAAI,4CAAJ,EAAd;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,4CAAJ,EAAf;AACA;;AACA,aAAKkN,MAAL,GAAc,IAAI,4CAAJ,EAAd;AACA;;AACA,aAAKC,WAAL,GAAmB,KAAnB;AACA;;AACA,aAAKC,cAAL,GAAsB,EAAtB;AACA;;;;;;AAKA,aAAKC,aAAL,GAAqB;AAAEC,cAAI,EAAE,IAAR;AAAc/qB,eAAK,EAAE,CAArB;AAAwBgrB,kBAAQ,EAAE;AAAlC,SAArB;AACA;;AACA,aAAKC,WAAL,GAAmB,EAAnB;AACA;;AACA,aAAKC,SAAL,GAAiB,EAAjB;AACA;;AACA,aAAKC,YAAL,GAAoB,UAApB;AACA;;AACA,aAAKC,eAAL,GAAuB,IAAI/6C,GAAJ,EAAvB;AACA;;AACA,aAAK4sC,UAAL,GAAkB,KAAlB;AACA;;AACA,aAAKoO,2BAAL,GAAmC,kDAAanuB,KAAhD;AACA;;AACA,aAAKouB,wBAAL,GAAgC;AAAE;AAAlC;AACA;;AACA,aAAKC,0BAAL,GAAkC;AAAE;AAApC;AACA;;AACA,aAAKC,iBAAL,GAAyB,IAAI,4CAAJ,EAAzB;AACA;;AACA,aAAKxC,iBAAL,GAAyB,IAAzB;AACA;;AACA,aAAKyC,oBAAL,GAA4B,YAAM;AAC9B,iBAAI,CAACvJ,cAAL;;AACA,gEAAS,CAAT,EAAY,4DAAZ,EACK1jB,IADL,CACU,iEAAU,OAAI,CAACgtB,iBAAf,CADV,EAEK7tB,SAFL,CAEe,YAAM;AACjB,gBAAMnvB,IAAI,GAAG,OAAI,CAACk9C,WAAlB;AACA,gBAAMC,UAAU,GAAG,OAAI,CAACnB,cAAxB;;AACA,gBAAI,OAAI,CAACc,wBAAL,KAAkC;AAAE;AAAxC,cAAkD;AAC9CM,qCAAuB,CAACp9C,IAAD,EAAO,CAACm9C,UAAR,CAAvB;AACH,aAFD,MAGK,IAAI,OAAI,CAACL,wBAAL,KAAkC;AAAE;AAAxC,cAAoD;AACrDM,qCAAuB,CAACp9C,IAAD,EAAOm9C,UAAP,CAAvB;AACH;;AACD,gBAAI,OAAI,CAACJ,0BAAL,KAAoC;AAAE;AAA1C,cAAsD;AAClDM,uCAAyB,CAACr9C,IAAD,EAAO,CAACm9C,UAAR,CAAzB;AACH,aAFD,MAGK,IAAI,OAAI,CAACJ,0BAAL,KAAoC;AAAE;AAA1C,cAAuD;AACxDM,uCAAyB,CAACr9C,IAAD,EAAOm9C,UAAP,CAAzB;AACH;AACJ,WAjBD;AAkBH,SApBD;;AAqBA,aAAK/oD,OAAL,GAAe,4EAAcA,OAAd,CAAf;AACA,aAAK63B,SAAL,GAAiBA,SAAjB;AACA,aAAKqxB,qBAAL,CAA2B,CAAC,KAAKlpD,OAAN,CAA3B;;AACAy5C,yBAAiB,CAAC0P,qBAAlB,CAAwC,IAAxC;;AACA,aAAKzL,gBAAL,GAAwB,IAAIhG,qBAAJ,CAA0B7f,SAA1B,EAAqC8f,cAArC,CAAxB;AACH;AACD;;;;;eACA,mBAAU;AACN,eAAK2H,cAAL;;AACA,eAAKsJ,iBAAL,CAAuBpe,QAAvB;;AACA,eAAKie,2BAAL,CAAiC9sB,WAAjC;;AACA,eAAK4e,aAAL,CAAmB/P,QAAnB;AACA,eAAKmQ,OAAL,CAAanQ,QAAb;AACA,eAAKoQ,MAAL,CAAYpQ,QAAZ;AACA,eAAKqQ,OAAL,CAAarQ,QAAb;AACA,eAAKud,MAAL,CAAYvd,QAAZ;;AACA,eAAKge,eAAL,CAAqB10C,KAArB;;AACA,eAAKg1C,WAAL,GAAmB,IAAnB;;AACA,eAAKpL,gBAAL,CAAsB5pC,KAAtB;;AACA,eAAK2lC,iBAAL,CAAuB2P,mBAAvB,CAA2C,IAA3C;AACH;AACD;;;;eACA,sBAAa;AACT,iBAAO,KAAKpB,WAAZ;AACH;AACD;;;;eACA,iBAAQ;AACJ,eAAKqB,gBAAL;;AACA,eAAKC,wBAAL;AACH;AACD;;;;;;;;;;;eAQA,eAAMpgD,IAAN,EAAYouC,QAAZ,EAAsBC,QAAtB,EAAgCt3B,KAAhC,EAAuC;AACnC,eAAKopC,gBAAL,GADmC,CAEnC;AACA;;;AACA,cAAIluB,QAAJ;;AACA,cAAIlb,KAAK,IAAI,IAAb,EAAmB;AACfkb,oBAAQ,GAAG,KAAKonB,eAAL,GAAuB,KAAK8F,WAAL,CAAiBzlD,OAAjB,CAAyBsG,IAAzB,CAAvB,GAAwD,CAAC,CAApE;;AACA,gBAAIiyB,QAAQ,KAAK,CAAC,CAAlB,EAAqB;AACjB;AACA;AACAA,sBAAQ,GAAG,KAAKouB,gCAAL,CAAsCrgD,IAAtC,EAA4CouC,QAA5C,EAAsDC,QAAtD,CAAX;AACH;AACJ,WAPD,MAQK;AACDpc,oBAAQ,GAAGlb,KAAX;AACH;;AACD,cAAMupC,gBAAgB,GAAG,KAAKC,iBAA9B;AACA,cAAM1X,YAAY,GAAGyX,gBAAgB,CAAC5mD,OAAjB,CAAyBsG,IAAzB,CAArB;AACA,cAAM62C,WAAW,GAAG72C,IAAI,CAAC40C,qBAAL,EAApB;AACA,cAAI4L,oBAAoB,GAAGF,gBAAgB,CAACruB,QAAD,CAA3C,CAnBmC,CAoBnC;AACA;AACA;;AACA,cAAIuuB,oBAAoB,KAAKxgD,IAA7B,EAAmC;AAC/BwgD,gCAAoB,GAAGF,gBAAgB,CAACruB,QAAQ,GAAG,CAAZ,CAAvC;AACH,WAzBkC,CA0BnC;AACA;;;AACA,cAAI4W,YAAY,GAAG,CAAC,CAApB,EAAuB;AACnByX,4BAAgB,CAACnhD,MAAjB,CAAwB0pC,YAAxB,EAAsC,CAAtC;AACH,WA9BkC,CA+BnC;AACA;;;AACA,cAAI2X,oBAAoB,IAAI,CAAC,KAAKjQ,iBAAL,CAAuB0C,UAAvB,CAAkCuN,oBAAlC,CAA7B,EAAsF;AAClF,gBAAM1pD,OAAO,GAAG0pD,oBAAoB,CAAC3L,cAArB,EAAhB;AACA/9C,mBAAO,CAAC6pC,aAAR,CAAsB/iB,YAAtB,CAAmCi5B,WAAnC,EAAgD//C,OAAhD;AACAwpD,4BAAgB,CAACnhD,MAAjB,CAAwB8yB,QAAxB,EAAkC,CAAlC,EAAqCjyB,IAArC;AACH,WAJD,MAKK,IAAI,KAAKygD,wBAAL,CAA8BrS,QAA9B,EAAwCC,QAAxC,CAAJ,EAAuD;AACxD,gBAAMqS,SAAS,GAAGJ,gBAAgB,CAAC,CAAD,CAAhB,CAAoBzL,cAApB,EAAlB;AACA6L,qBAAS,CAAChlC,UAAV,CAAqBkC,YAArB,CAAkCi5B,WAAlC,EAA+C6J,SAA/C;AACAJ,4BAAgB,CAACK,OAAjB,CAAyB3gD,IAAzB;AACH,WAJI,MAKA;AACD,wFAAc,KAAKlJ,OAAnB,EAA4B+0B,WAA5B,CAAwCgrB,WAAxC;AACAyJ,4BAAgB,CAAC7sD,IAAjB,CAAsBuM,IAAtB;AACH,WA9CkC,CA+CnC;;;AACA62C,qBAAW,CAACrlD,KAAZ,CAAkBukD,SAAlB,GAA8B,EAA9B,CAhDmC,CAiDnC;AACA;;AACA,eAAK6K,mBAAL;;AACA,eAAKC,qBAAL,GApDmC,CAqDnC;;;AACA,eAAKT,wBAAL;;AACA,eAAK3O,OAAL,CAAa9vC,IAAb,CAAkB;AAAE3B,gBAAI,EAAJA,IAAF;AAAQ8yC,qBAAS,EAAE,IAAnB;AAAyBjK,wBAAY,EAAE,KAAKwO,YAAL,CAAkBr3C,IAAlB;AAAvC,WAAlB;AACH;AACD;;;;;;;eAIA,cAAKA,IAAL,EAAW;AACP,eAAK8gD,MAAL;;AACA,eAAKpP,MAAL,CAAY/vC,IAAZ,CAAiB;AAAE3B,gBAAI,EAAJA,IAAF;AAAQ8yC,qBAAS,EAAE;AAAnB,WAAjB;AACH;AACD;;;;;;;;;;;;;eAUA,cAAK9yC,IAAL,EAAW6oC,YAAX,EAAyBG,aAAzB,EAAwC6P,iBAAxC,EAA2DF,sBAA3D,EAAmF1E,QAAnF,EAA6F;AACzF,eAAK6M,MAAL;;AACA,eAAKnP,OAAL,CAAahwC,IAAb,CAAkB;AACd3B,gBAAI,EAAJA,IADc;AAEd6oC,wBAAY,EAAZA,YAFc;AAGdG,yBAAa,EAAbA,aAHc;AAId8J,qBAAS,EAAE,IAJG;AAKd+F,6BAAiB,EAAjBA,iBALc;AAMdF,kCAAsB,EAAtBA,sBANc;AAOd1E,oBAAQ,EAARA;AAPc,WAAlB;AASH;AACD;;;;;;;eAIA,mBAAUphB,KAAV,EAAiB;AAAA;;AACb,cAAMkuB,aAAa,GAAG,KAAK5B,WAA3B;AACA,eAAKA,WAAL,GAAmBtsB,KAAnB;AACAA,eAAK,CAACt/B,OAAN,CAAc,UAAAyM,IAAI;AAAA,mBAAIA,IAAI,CAACghD,kBAAL,CAAwB,OAAxB,CAAJ;AAAA,WAAlB;;AACA,cAAI,KAAK/N,UAAL,EAAJ,EAAuB;AACnB,gBAAMgO,YAAY,GAAGF,aAAa,CAACj1C,MAAd,CAAqB,UAAA9L,IAAI;AAAA,qBAAIA,IAAI,CAACizC,UAAL,EAAJ;AAAA,aAAzB,CAArB,CADmB,CAEnB;AACA;;AACA,gBAAIgO,YAAY,CAAC5tB,KAAb,CAAmB,UAAArzB,IAAI;AAAA,qBAAI6yB,KAAK,CAACn5B,OAAN,CAAcsG,IAAd,MAAwB,CAAC,CAA7B;AAAA,aAAvB,CAAJ,EAA4D;AACxD,mBAAK8gD,MAAL;AACH,aAFD,MAGK;AACD,mBAAKI,WAAL;AACH;AACJ;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,uBAAc7uB,SAAd,EAAyB;AACrB,eAAK8e,UAAL,GAAkB9e,SAAlB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;;eAKA,qBAAY8uB,YAAZ,EAAyB;AACrB,eAAK/B,SAAL,GAAiB+B,YAAW,CAACxxC,KAAZ,EAAjB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,yBAAgByxC,WAAhB,EAA6B;AACzB,eAAK/B,YAAL,GAAoB+B,WAApB;AACA,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,+BAAsB1xC,QAAtB,EAAgC;AAC5B,cAAM5Y,OAAO,GAAG,4EAAc,KAAKA,OAAnB,CAAhB,CAD4B,CAE5B;AACA;;AACA,eAAKuqD,mBAAL,GACI3xC,QAAQ,CAAChW,OAAT,CAAiB5C,OAAjB,MAA8B,CAAC,CAA/B,IAAoCA,OAApC,4BAAgD4Y,QAAhD,KAA4DA,QAAQ,CAACC,KAAT,EADhE;AAEA,iBAAO,IAAP;AACH;AACD;;;;eACA,gCAAuB;AACnB,iBAAO,KAAK0xC,mBAAZ;AACH;AACD;;;;;;;eAIA,sBAAarhD,IAAb,EAAmB;AACf,cAAI,CAAC,KAAK8+C,WAAV,EAAuB;AACnB,mBAAO,KAAKK,WAAL,CAAiBzlD,OAAjB,CAAyBsG,IAAzB,CAAP;AACH,WAHc,CAIf;AACA;AACA;;;AACA,cAAM6yB,KAAK,GAAG,KAAKwsB,YAAL,KAAsB,YAAtB,IAAsC,KAAKlO,UAAL,KAAoB,KAA1D,GACV,KAAK4N,cAAL,CAAoBpvC,KAApB,GAA4B2xC,OAA5B,EADU,GAC8B,KAAKvC,cADjD;AAEA,iBAAOwC,SAAS,CAAC1uB,KAAD,EAAQ,UAAA2uB,WAAW;AAAA,mBAAIA,WAAW,CAACvC,IAAZ,KAAqBj/C,IAAzB;AAAA,WAAnB,CAAhB;AACH;AACD;;;;;;;eAIA,uBAAc;AACV,iBAAO,KAAKs/C,eAAL,CAAqB14C,IAArB,GAA4B,CAAnC;AACH;AACD;;;;;;;;;;eAOA,mBAAU5G,IAAV,EAAgBouC,QAAhB,EAA0BC,QAA1B,EAAoCoT,YAApC,EAAkD;AAC9C;AACA,cAAI,KAAKpI,eAAL,IAAwB,CAAC,KAAKqI,WAA9B,IACA,CAACzT,uBAAuB,CAAC,KAAKyT,WAAN,EAAmBpD,wBAAnB,EAA6ClQ,QAA7C,EAAuDC,QAAvD,CAD5B,EAC8F;AAC1F;AACH;;AACD,cAAMsT,QAAQ,GAAG,KAAK5C,cAAtB;;AACA,cAAM9sB,QAAQ,GAAG,KAAKouB,gCAAL,CAAsCrgD,IAAtC,EAA4CouC,QAA5C,EAAsDC,QAAtD,EAAgEoT,YAAhE,CAAjB;;AACA,cAAIxvB,QAAQ,KAAK,CAAC,CAAd,IAAmB0vB,QAAQ,CAACztD,MAAT,GAAkB,CAAzC,EAA4C;AACxC;AACH;;AACD,cAAM0tD,YAAY,GAAG,KAAKvC,YAAL,KAAsB,YAA3C;AACA,cAAMxW,YAAY,GAAG0Y,SAAS,CAACI,QAAD,EAAW,UAAAH,WAAW;AAAA,mBAAIA,WAAW,CAACvC,IAAZ,KAAqBj/C,IAAzB;AAAA,WAAtB,CAA9B;AACA,cAAM6hD,oBAAoB,GAAGF,QAAQ,CAAC1vB,QAAD,CAArC;AACA,cAAMuqB,eAAe,GAAGmF,QAAQ,CAAC9Y,YAAD,CAAR,CAAuB0E,UAA/C;AACA,cAAMuU,WAAW,GAAGD,oBAAoB,CAACtU,UAAzC;AACA,cAAMrZ,KAAK,GAAG2U,YAAY,GAAG5W,QAAf,GAA0B,CAA1B,GAA8B,CAAC,CAA7C,CAhB8C,CAiB9C;;AACA,cAAM8vB,UAAU,GAAG,KAAKC,gBAAL,CAAsBxF,eAAtB,EAAuCsF,WAAvC,EAAoD5tB,KAApD,CAAnB,CAlB8C,CAmB9C;;;AACA,cAAM+tB,aAAa,GAAG,KAAKC,mBAAL,CAAyBrZ,YAAzB,EAAuC8Y,QAAvC,EAAiDztB,KAAjD,CAAtB,CApB8C,CAqB9C;AACA;;;AACA,cAAMiuB,QAAQ,GAAGR,QAAQ,CAAChyC,KAAT,EAAjB,CAvB8C,CAwB9C;;AACAguC,yBAAe,CAACgE,QAAD,EAAW9Y,YAAX,EAAyB5W,QAAzB,CAAf;AACA,eAAK4sB,MAAL,CAAYl9C,IAAZ,CAAiB;AACbqnC,yBAAa,EAAEH,YADF;AAEbA,wBAAY,EAAE5W,QAFD;AAGb6gB,qBAAS,EAAE,IAHE;AAIb9yC,gBAAI,EAAJA;AAJa,WAAjB;AAMA2hD,kBAAQ,CAACpuD,OAAT,CAAiB,UAAC6uD,OAAD,EAAUrrC,KAAV,EAAoB;AACjC;AACA,gBAAIorC,QAAQ,CAACprC,KAAD,CAAR,KAAoBqrC,OAAxB,EAAiC;AAC7B;AACH;;AACD,gBAAMC,aAAa,GAAGD,OAAO,CAACnD,IAAR,KAAiBj/C,IAAvC;AACA,gBAAMtO,MAAM,GAAG2wD,aAAa,GAAGN,UAAH,GAAgBE,aAA5C;AACA,gBAAMK,eAAe,GAAGD,aAAa,GAAGriD,IAAI,CAAC40C,qBAAL,EAAH,GACjCwN,OAAO,CAACnD,IAAR,CAAapK,cAAb,EADJ,CAPiC,CASjC;;AACAuN,mBAAO,CAAC1wD,MAAR,IAAkBA,MAAlB,CAViC,CAWjC;AACA;AACA;AACA;;AACA,gBAAIkwD,YAAJ,EAAkB;AACd;AACA;AACAU,6BAAe,CAAC9wD,KAAhB,CAAsBukD,SAAtB,yBAAiD9gD,IAAI,CAACid,KAAL,CAAWkwC,OAAO,CAAC1wD,MAAnB,CAAjD;AACAs8C,8BAAgB,CAACoU,OAAO,CAAC7U,UAAT,EAAqB,CAArB,EAAwB77C,MAAxB,CAAhB;AACH,aALD,MAMK;AACD4wD,6BAAe,CAAC9wD,KAAhB,CAAsBukD,SAAtB,4BAAoD9gD,IAAI,CAACid,KAAL,CAAWkwC,OAAO,CAAC1wD,MAAnB,CAApD;AACAs8C,8BAAgB,CAACoU,OAAO,CAAC7U,UAAT,EAAqB77C,MAArB,EAA6B,CAA7B,CAAhB;AACH;AACJ,WAzBD,EAhC8C,CA0D9C;;AACA,eAAKstD,aAAL,CAAmBE,QAAnB,GAA8BrR,kBAAkB,CAACiU,WAAD,EAAc1T,QAAd,EAAwBC,QAAxB,CAAhD;AACA,eAAK2Q,aAAL,CAAmBC,IAAnB,GAA0B4C,oBAAoB,CAAC5C,IAA/C;AACA,eAAKD,aAAL,CAAmB9qB,KAAnB,GAA2B0tB,YAAY,GAAGH,YAAY,CAAC3T,CAAhB,GAAoB2T,YAAY,CAAC1T,CAAxE;AACH;AACD;;;;;;;;;eAMA,oCAA2BK,QAA3B,EAAqCC,QAArC,EAA+C;AAAA;;AAC3C,cAAI,KAAKoQ,kBAAT,EAA6B;AACzB;AACH;;AACD,cAAI8D,UAAJ;AACA,cAAIC,uBAAuB,GAAG;AAAE;AAAhC;AACA,cAAIC,yBAAyB,GAAG;AAAE;AAAlC,WAN2C,CAO3C;;AACA,eAAKjO,gBAAL,CAAsB9F,SAAtB,CAAgCn7C,OAAhC,CAAwC,UAACQ,QAAD,EAAW+C,OAAX,EAAuB;AAC3D;AACA;AACA,gBAAIA,OAAO,KAAK,OAAI,CAAC63B,SAAjB,IAA8B,CAAC56B,QAAQ,CAACw5C,UAAxC,IAAsDgV,UAA1D,EAAsE;AAClE;AACH;;AACD,gBAAItU,uBAAuB,CAACl6C,QAAQ,CAACw5C,UAAV,EAAsB+Q,wBAAtB,EAAgDlQ,QAAhD,EAA0DC,QAA1D,CAA3B,EAAgG;AAAA,0CACrCqU,0BAA0B,CAAC5rD,OAAD,EAAU/C,QAAQ,CAACw5C,UAAnB,EAA+Ba,QAA/B,EAAyCC,QAAzC,CADW;;AAAA;;AAC3FmU,qCAD2F;AAClEC,uCADkE;;AAE5F,kBAAID,uBAAuB,IAAIC,yBAA/B,EAA0D;AACtDF,0BAAU,GAAGzrD,OAAb;AACH;AACJ;AACJ,WAZD,EAR2C,CAqB3C;;;AACA,cAAI,CAAC0rD,uBAAD,IAA4B,CAACC,yBAAjC,EAA4D;AACxD,wCAA0B,KAAKhU,cAAL,CAAoBkU,eAApB,EAA1B;AAAA,gBAAQhV,KAAR,yBAAQA,KAAR;AAAA,gBAAeC,MAAf,yBAAeA,MAAf;;AACA,gBAAML,UAAU,GAAG;AAAEI,mBAAK,EAALA,KAAF;AAASC,oBAAM,EAANA,MAAT;AAAiBlB,iBAAG,EAAE,CAAtB;AAAyBe,mBAAK,EAAEE,KAAhC;AAAuCD,oBAAM,EAAEE,MAA/C;AAAuDhB,kBAAI,EAAE;AAA7D,aAAnB;AACA4V,mCAAuB,GAAGI,0BAA0B,CAACrV,UAAD,EAAac,QAAb,CAApD;AACAoU,qCAAyB,GAAGI,4BAA4B,CAACtV,UAAD,EAAaa,QAAb,CAAxD;AACAmU,sBAAU,GAAGnsD,MAAb;AACH;;AACD,cAAImsD,UAAU,KAAKC,uBAAuB,KAAK,KAAKhD,wBAAjC,IACfiD,yBAAyB,KAAK,KAAKhD,0BADpB,IAEf8C,UAAU,KAAK,KAAK3C,WAFV,CAAd,EAEsC;AAClC,iBAAKJ,wBAAL,GAAgCgD,uBAAhC;AACA,iBAAK/C,0BAAL,GAAkCgD,yBAAlC;AACA,iBAAK7C,WAAL,GAAmB2C,UAAnB;;AACA,gBAAI,CAACC,uBAAuB,IAAIC,yBAA5B,KAA0DF,UAA9D,EAA0E;AACtE,mBAAKlrB,OAAL,CAAac,iBAAb,CAA+B,KAAKwnB,oBAApC;AACH,aAFD,MAGK;AACD,mBAAKvJ,cAAL;AACH;AACJ;AACJ;AACD;;;;eACA,0BAAiB;AACb,eAAKsJ,iBAAL,CAAuB/9C,IAAvB;AACH;AACD;;;;eACA,4BAAmB;AACf,cAAMvQ,MAAM,GAAG,4EAAc,KAAK0F,OAAnB,EAA4BtF,KAA3C;AACA,eAAK6/C,aAAL,CAAmB1vC,IAAnB;AACA,eAAKm9C,WAAL,GAAmB,IAAnB,CAHe,CAIf;AACA;AACA;;AACA,eAAKgE,kBAAL,GAA0B1xD,MAAM,CAAC2xD,gBAAP,IAA2B3xD,MAAM,CAAC4xD,cAAlC,IAAoD,EAA9E;AACA5xD,gBAAM,CAAC4xD,cAAP,GAAwB5xD,MAAM,CAAC2xD,gBAAP,GAA0B,MAAlD;;AACA,eAAK7B,WAAL;;AACA,eAAK3B,2BAAL,CAAiC9sB,WAAjC;;AACA,eAAKwwB,qBAAL;AACH;AACD;;;;eACA,iCAAwB;AACpB,cAAMnsD,OAAO,GAAG,4EAAc,KAAKA,OAAnB,CAAhB;;AACA,eAAK09C,gBAAL,CAAsB8C,KAAtB,CAA4B,KAAK+J,mBAAjC,EAFoB,CAGpB;AACA;;;AACA,eAAKK,WAAL,GAAmB,KAAKlN,gBAAL,CAAsB9F,SAAtB,CAAgCr1C,GAAhC,CAAoCvC,OAApC,EAA6Cy2C,UAAhE;AACH;AACD;;;;eACA,+BAAsB;AAClB,cAAMqU,YAAY,GAAG,KAAKvC,YAAL,KAAsB,YAA3C;AACA,eAAKN,cAAL,GAAsB,KAAKwB,iBAAL,CAAuBvnD,GAAvB,CAA2B,UAAAimD,IAAI,EAAI;AACrD,gBAAMiE,gBAAgB,GAAGjE,IAAI,CAACkE,iBAAL,EAAzB;AACA,mBAAO;AAAElE,kBAAI,EAAJA,IAAF;AAAQvtD,oBAAM,EAAE,CAAhB;AAAmB67C,wBAAU,EAAED,oBAAoB,CAAC4V,gBAAD;AAAnD,aAAP;AACH,WAHqB,EAGnB/mC,IAHmB,CAGd,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACd,mBAAOulC,YAAY,GAAGxlC,CAAC,CAACmxB,UAAF,CAAaX,IAAb,GAAoBvwB,CAAC,CAACkxB,UAAF,CAAaX,IAApC,GACfxwB,CAAC,CAACmxB,UAAF,CAAab,GAAb,GAAmBrwB,CAAC,CAACkxB,UAAF,CAAab,GADpC;AAEH,WANqB,CAAtB;AAOH;AACD;;;;eACA,kBAAS;AAAA;;AACL,eAAKoS,WAAL,GAAmB,KAAnB;AACA,cAAM1tD,MAAM,GAAG,4EAAc,KAAK0F,OAAnB,EAA4BtF,KAA3C;AACAJ,gBAAM,CAAC4xD,cAAP,GAAwB5xD,MAAM,CAAC2xD,gBAAP,GAA0B,KAAKD,kBAAvD,CAHK,CAIL;;AACA,eAAKvC,iBAAL,CAAuBhtD,OAAvB,CAA+B,UAAAyM,IAAI,EAAI;AACnC,gBAAMmL,WAAW,GAAGnL,IAAI,CAAC60C,cAAL,EAApB;;AACA,gBAAI1pC,WAAJ,EAAiB;AACbA,yBAAW,CAAC3Z,KAAZ,CAAkBukD,SAAlB,GAA8B,EAA9B;AACH;AACJ,WALD;;AAMA,eAAKqJ,SAAL,CAAe7rD,OAAf,CAAuB,UAAA6uD,OAAO;AAAA,mBAAIA,OAAO,CAACgB,cAAR,CAAuB,OAAvB,CAAJ;AAAA,WAA9B;;AACA,eAAK7C,iBAAL,GAAyB,EAAzB;AACA,eAAKxB,cAAL,GAAsB,EAAtB;AACA,eAAKC,aAAL,CAAmBC,IAAnB,GAA0B,IAA1B;AACA,eAAKD,aAAL,CAAmB9qB,KAAnB,GAA2B,CAA3B;AACA,eAAK8qB,aAAL,CAAmBE,QAAnB,GAA8B,KAA9B;;AACA,eAAK9I,cAAL;;AACA,eAAKmJ,2BAAL,CAAiC9sB,WAAjC;;AACA,eAAK+hB,gBAAL,CAAsB5pC,KAAtB;AACH;AACD;;;;;;;;;eAMA,6BAAoBi+B,YAApB,EAAkC8Y,QAAlC,EAA4CztB,KAA5C,EAAmD;AAC/C,cAAM0tB,YAAY,GAAG,KAAKvC,YAAL,KAAsB,YAA3C;AACA,cAAM7C,eAAe,GAAGmF,QAAQ,CAAC9Y,YAAD,CAAR,CAAuB0E,UAA/C;AACA,cAAM8V,gBAAgB,GAAG1B,QAAQ,CAAC9Y,YAAY,GAAG3U,KAAK,GAAG,CAAC,CAAzB,CAAjC;AACA,cAAI+tB,aAAa,GAAGzF,eAAe,CAACoF,YAAY,GAAG,OAAH,GAAa,QAA1B,CAAf,GAAqD1tB,KAAzE;;AACA,cAAImvB,gBAAJ,EAAsB;AAClB,gBAAM5wC,KAAK,GAAGmvC,YAAY,GAAG,MAAH,GAAY,KAAtC;AACA,gBAAM0B,GAAG,GAAG1B,YAAY,GAAG,OAAH,GAAa,QAArC,CAFkB,CAGlB;AACA;AACA;AACA;;AACA,gBAAI1tB,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd+tB,2BAAa,IAAIoB,gBAAgB,CAAC9V,UAAjB,CAA4B96B,KAA5B,IAAqC+pC,eAAe,CAAC8G,GAAD,CAArE;AACH,aAFD,MAGK;AACDrB,2BAAa,IAAIzF,eAAe,CAAC/pC,KAAD,CAAf,GAAyB4wC,gBAAgB,CAAC9V,UAAjB,CAA4B+V,GAA5B,CAA1C;AACH;AACJ;;AACD,iBAAOrB,aAAP;AACH;AACD;;;;;;;;;eAMA,0BAAiBzF,eAAjB,EAAkCsF,WAAlC,EAA+C5tB,KAA/C,EAAsD;AAClD,cAAM0tB,YAAY,GAAG,KAAKvC,YAAL,KAAsB,YAA3C;AACA,cAAI0C,UAAU,GAAGH,YAAY,GAAGE,WAAW,CAAClV,IAAZ,GAAmB4P,eAAe,CAAC5P,IAAtC,GACzBkV,WAAW,CAACpV,GAAZ,GAAkB8P,eAAe,CAAC9P,GADtC,CAFkD,CAIlD;;AACA,cAAIxY,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd6tB,sBAAU,IAAIH,YAAY,GAAGE,WAAW,CAACnU,KAAZ,GAAoB6O,eAAe,CAAC7O,KAAvC,GACtBmU,WAAW,CAAClU,MAAZ,GAAqB4O,eAAe,CAAC5O,MADzC;AAEH;;AACD,iBAAOmU,UAAP;AACH;AACD;;;;;;;;eAKA,kCAAyB3T,QAAzB,EAAmCC,QAAnC,EAA6C;AACzC,cAAI,CAAC,KAAKkS,iBAAL,CAAuBrsD,MAA5B,EAAoC;AAChC,mBAAO,KAAP;AACH;;AACD,cAAMqvD,aAAa,GAAG,KAAKxE,cAA3B;AACA,cAAM6C,YAAY,GAAG,KAAKvC,YAAL,KAAsB,YAA3C,CALyC,CAMzC;AACA;;AACA,cAAMmE,QAAQ,GAAGD,aAAa,CAAC,CAAD,CAAb,CAAiBtE,IAAjB,KAA0B,KAAKsB,iBAAL,CAAuB,CAAvB,CAA3C;;AACA,cAAIiD,QAAJ,EAAc;AACV,gBAAMC,YAAY,GAAGF,aAAa,CAACA,aAAa,CAACrvD,MAAd,GAAuB,CAAxB,CAAb,CAAwCq5C,UAA7D;AACA,mBAAOqU,YAAY,GAAGxT,QAAQ,IAAIqV,YAAY,CAAChW,KAA5B,GAAoCY,QAAQ,IAAIoV,YAAY,CAAC/V,MAAhF;AACH,WAHD,MAIK;AACD,gBAAMgW,aAAa,GAAGH,aAAa,CAAC,CAAD,CAAb,CAAiBhW,UAAvC;AACA,mBAAOqU,YAAY,GAAGxT,QAAQ,IAAIsV,aAAa,CAAC9W,IAA7B,GAAoCyB,QAAQ,IAAIqV,aAAa,CAAChX,GAAjF;AACH;AACJ;AACD;;;;;;;;;;eAOA,0CAAiC1sC,IAAjC,EAAuCouC,QAAvC,EAAiDC,QAAjD,EAA2Dna,KAA3D,EAAkE;AAAA;;AAC9D,cAAM0tB,YAAY,GAAG,KAAKvC,YAAL,KAAsB,YAA3C;AACA,cAAMtoC,KAAK,GAAGwqC,SAAS,CAAC,KAAKxC,cAAN,EAAsB,iBAAuBz9C,CAAvB,EAA0Bs8C,KAA1B,EAAoC;AAAA,gBAAjCqB,IAAiC,SAAjCA,IAAiC;AAAA,gBAA3B1R,UAA2B,SAA3BA,UAA2B;;AAC7E,gBAAI0R,IAAI,KAAKj/C,IAAb,EAAmB;AACf;AACA;AACA,qBAAO49C,KAAK,CAAC1pD,MAAN,GAAe,CAAtB;AACH;;AACD,gBAAIggC,KAAJ,EAAW;AACP,kBAAM7B,SAAS,GAAGuvB,YAAY,GAAG1tB,KAAK,CAAC4Z,CAAT,GAAa5Z,KAAK,CAAC6Z,CAAjD,CADO,CAEP;AACA;AACA;;AACA,kBAAIkR,IAAI,KAAK,OAAI,CAACD,aAAL,CAAmBC,IAA5B,IAAoC,OAAI,CAACD,aAAL,CAAmBE,QAAvD,IACA7sB,SAAS,KAAK,OAAI,CAAC2sB,aAAL,CAAmB9qB,KADrC,EAC4C;AACxC,uBAAO,KAAP;AACH;AACJ;;AACD,mBAAO0tB,YAAY,GACf;AACA;AACAxT,oBAAQ,IAAIn5C,IAAI,CAAC0uD,KAAL,CAAWpW,UAAU,CAACX,IAAtB,CAAZ,IAA2CwB,QAAQ,GAAGn5C,IAAI,CAAC0uD,KAAL,CAAWpW,UAAU,CAACE,KAAtB,CAHvC,GAIfY,QAAQ,IAAIp5C,IAAI,CAAC0uD,KAAL,CAAWpW,UAAU,CAACb,GAAtB,CAAZ,IAA0C2B,QAAQ,GAAGp5C,IAAI,CAAC0uD,KAAL,CAAWpW,UAAU,CAACG,MAAtB,CAJzD;AAKH,WArBsB,CAAvB;AAsBA,iBAAQ32B,KAAK,KAAK,CAAC,CAAX,IAAgB,CAAC,KAAK6nC,aAAL,CAAmB7nC,KAAnB,EAA0B/W,IAA1B,EAAgC,IAAhC,CAAlB,GAA2D,CAAC,CAA5D,GAAgE+W,KAAvE;AACH;AACD;;;;eACA,uBAAc;AACV,eAAKwpC,iBAAL,GAAyB,KAAKpB,WAAL,CAAiBxvC,KAAjB,EAAzB;;AACA,eAAKixC,mBAAL;;AACA,eAAKC,qBAAL;AACH;AACD;;;;;;;;eAKA,0BAAiB/S,CAAjB,EAAoBC,CAApB,EAAuB;AACnB,iBAAO,KAAK2T,WAAL,IAAoB,IAApB,IAA4B7T,kBAAkB,CAAC,KAAK6T,WAAN,EAAmB5T,CAAnB,EAAsBC,CAAtB,CAArD;AACH;AACD;;;;;;;;;;eAOA,0CAAiC/tC,IAAjC,EAAuC8tC,CAAvC,EAA0CC,CAA1C,EAA6C;AACzC,iBAAO,KAAKqR,SAAL,CAAez1C,IAAf,CAAoB,UAAAy4C,OAAO;AAAA,mBAAIA,OAAO,CAACwB,WAAR,CAAoB5jD,IAApB,EAA0B8tC,CAA1B,EAA6BC,CAA7B,CAAJ;AAAA,WAA3B,CAAP;AACH;AACD;;;;;;;;;eAMA,qBAAY/tC,IAAZ,EAAkB8tC,CAAlB,EAAqBC,CAArB,EAAwB;AACpB,cAAI,CAAC,KAAK2T,WAAN,IAAqB,CAAC7T,kBAAkB,CAAC,KAAK6T,WAAN,EAAmB5T,CAAnB,EAAsBC,CAAtB,CAAxC,IACA,CAAC,KAAK4Q,cAAL,CAAoB3+C,IAApB,EAA0B,IAA1B,CADL,EACsC;AAClC,mBAAO,KAAP;AACH;;AACD,cAAM6jD,gBAAgB,GAAG,KAAK7M,cAAL,GAAsB6M,gBAAtB,CAAuC/V,CAAvC,EAA0CC,CAA1C,CAAzB,CALoB,CAMpB;AACA;;;AACA,cAAI,CAAC8V,gBAAL,EAAuB;AACnB,mBAAO,KAAP;AACH;;AACD,cAAM9pB,aAAa,GAAG,4EAAc,KAAKjjC,OAAnB,CAAtB,CAXoB,CAYpB;AACA;AACA;AACA;AACA;AACA;;AACA,iBAAO+sD,gBAAgB,KAAK9pB,aAArB,IAAsCA,aAAa,CAACr/B,QAAd,CAAuBmpD,gBAAvB,CAA7C;AACH;AACD;;;;;;;eAIA,yBAAgBzB,OAAhB,EAAyBvvB,KAAzB,EAAgC;AAAA;;AAC5B,cAAMixB,cAAc,GAAG,KAAKxE,eAA5B;;AACA,cAAI,CAACwE,cAAc,CAACl/C,GAAf,CAAmBw9C,OAAnB,CAAD,IAAgCvvB,KAAK,CAACQ,KAAN,CAAY,UAAArzB,IAAI,EAAI;AACpD;AACA;AACA;AACA;AACA,mBAAO,OAAI,CAAC2+C,cAAL,CAAoB3+C,IAApB,EAA0B,OAA1B,KAAmC,OAAI,CAACm/C,WAAL,CAAiBzlD,OAAjB,CAAyBsG,IAAzB,IAAiC,CAAC,CAA5E;AACH,WANmC,CAApC,EAMI;AACA8jD,0BAAc,CAACn9C,GAAf,CAAmBy7C,OAAnB;;AACA,iBAAKvB,qBAAL;;AACA,iBAAKoC,qBAAL;AACH;AACJ;AACD;;;;;;;eAIA,wBAAeb,OAAf,EAAwB;AACpB,eAAK9C,eAAL,WAA4B8C,OAA5B;;AACA,eAAK7C,2BAAL,CAAiC9sB,WAAjC;AACH;AACD;;;;;;;eAIA,iCAAwB;AAAA;;AACpB,eAAK8sB,2BAAL,GAAmC,KAAKhP,iBAAL,CAAuB0H,MAAvB,CAA8BpmB,SAA9B,CAAwC,UAAAz5B,KAAK,EAAI;AAChF,gBAAI,OAAI,CAAC66C,UAAL,EAAJ,EAAuB;AACnB,kBAAM+J,gBAAgB,GAAG,OAAI,CAACxI,gBAAL,CAAsByI,YAAtB,CAAmC7kD,KAAnC,CAAzB;;AACA,kBAAI4kD,gBAAJ,EAAsB;AAClB;AACA;AACA;AACA;AACA,uBAAI,CAAC+B,cAAL,CAAoBxrD,OAApB,CAA4B,iBAAoB;AAAA,sBAAjBg6C,UAAiB,SAAjBA,UAAiB;AAC5CS,kCAAgB,CAACT,UAAD,EAAayP,gBAAgB,CAACtQ,GAA9B,EAAmCsQ,gBAAgB,CAACpQ,IAApD,CAAhB;AACH,iBAFD,EALkB,CAQlB;AACA;;;AACA,uBAAI,CAACmS,cAAL,CAAoBxrD,OAApB,CAA4B,iBAAc;AAAA,sBAAX0rD,IAAW,SAAXA,IAAW;;AACtC,sBAAI,OAAI,CAAC1O,iBAAL,CAAuB0C,UAAvB,CAAkCgM,IAAlC,CAAJ,EAA6C;AACzC;AACA;AACAA,wBAAI,CAAC8E,4BAAL;AACH;AACJ,iBAND;AAOH;AACJ,aApBD,MAqBK,IAAI,OAAI,CAAC7Q,WAAL,EAAJ,EAAwB;AACzB,qBAAI,CAAC2N,qBAAL;AACH;AACJ,WAzBkC,CAAnC;AA0BH;AACD;;;;;;;;;eAMA,0BAAiB;AACb,cAAI,CAAC,KAAK3D,iBAAV,EAA6B;AACzB,gBAAM1iB,UAAU,GAAG,6EAAe,4EAAc,KAAK1jC,OAAnB,CAAf,CAAnB;AACA,iBAAKomD,iBAAL,GAAyB1iB,UAAU,IAAI,KAAK7L,SAA5C;AACH;;AACD,iBAAO,KAAKuuB,iBAAZ;AACH;AACD;;;;eACA,oCAA2B;AAAA;;AACvB,cAAM+D,YAAY,GAAG,KAAKV,iBAAL,CAAuBz0C,MAAvB,CAA8B,UAAA9L,IAAI;AAAA,mBAAIA,IAAI,CAACizC,UAAL,EAAJ;AAAA,WAAlC,CAArB;;AACA,eAAKmM,SAAL,CAAe7rD,OAAf,CAAuB,UAAA6uD,OAAO;AAAA,mBAAIA,OAAO,CAAC4B,eAAR,CAAwB,OAAxB,EAA8B/C,YAA9B,CAAJ;AAAA,WAA9B;AACH;;;;;AAEL;;;;;;;;AAMA,aAASM,SAAT,CAAmB3D,KAAnB,EAA0B1rB,SAA1B,EAAqC;AACjC,WAAK,IAAI32B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqiD,KAAK,CAAC1pD,MAA1B,EAAkCqH,CAAC,EAAnC,EAAuC;AACnC,YAAI22B,SAAS,CAAC0rB,KAAK,CAACriD,CAAD,CAAN,EAAWA,CAAX,EAAcqiD,KAAd,CAAb,EAAmC;AAC/B,iBAAOriD,CAAP;AACH;AACJ;;AACD,aAAO,CAAC,CAAR;AACH;AACD;;;;;;;AAKA,aAASukD,uBAAT,CAAiCp9C,IAAjC,EAAuCuhD,MAAvC,EAA+C;AAC3C,UAAIvhD,IAAI,KAAKtM,MAAb,EAAqB;AACjBsM,YAAI,CAACwhD,QAAL,CAAc,CAAd,EAAiBD,MAAjB;AACH,OAFD,MAGK;AACD;AACAvhD,YAAI,CAACmsC,SAAL,IAAkBoV,MAAlB;AACH;AACJ;AACD;;;;;;;AAKA,aAASlE,yBAAT,CAAmCr9C,IAAnC,EAAyCuhD,MAAzC,EAAiD;AAC7C,UAAIvhD,IAAI,KAAKtM,MAAb,EAAqB;AACjBsM,YAAI,CAACwhD,QAAL,CAAcD,MAAd,EAAsB,CAAtB;AACH,OAFD,MAGK;AACD;AACAvhD,YAAI,CAACosC,UAAL,IAAmBmV,MAAnB;AACH;AACJ;AACD;;;;;;;AAKA,aAASrB,0BAAT,CAAoCrV,UAApC,EAAgDc,QAAhD,EAA0D;AACtD,UAAQ3B,GAAR,GAAgCa,UAAhC,CAAQb,GAAR;AAAA,UAAagB,MAAb,GAAgCH,UAAhC,CAAaG,MAAb;AAAA,UAAqBE,MAArB,GAAgCL,UAAhC,CAAqBK,MAArB;AACA,UAAMW,UAAU,GAAGX,MAAM,GAAG2Q,0BAA5B;;AACA,UAAIlQ,QAAQ,IAAI3B,GAAG,GAAG6B,UAAlB,IAAgCF,QAAQ,IAAI3B,GAAG,GAAG6B,UAAtD,EAAkE;AAC9D,eAAO;AAAE;AAAT;AACH,OAFD,MAGK,IAAIF,QAAQ,IAAIX,MAAM,GAAGa,UAArB,IAAmCF,QAAQ,IAAIX,MAAM,GAAGa,UAA5D,EAAwE;AACzE,eAAO;AAAE;AAAT;AACH;;AACD,aAAO;AAAE;AAAT;AACH;AACD;;;;;;;AAKA,aAASsU,4BAAT,CAAsCtV,UAAtC,EAAkDa,QAAlD,EAA4D;AACxD,UAAQxB,IAAR,GAA+BW,UAA/B,CAAQX,IAAR;AAAA,UAAca,KAAd,GAA+BF,UAA/B,CAAcE,KAAd;AAAA,UAAqBE,KAArB,GAA+BJ,UAA/B,CAAqBI,KAArB;AACA,UAAMW,UAAU,GAAGX,KAAK,GAAG4Q,0BAA3B;;AACA,UAAInQ,QAAQ,IAAIxB,IAAI,GAAG0B,UAAnB,IAAiCF,QAAQ,IAAIxB,IAAI,GAAG0B,UAAxD,EAAoE;AAChE,eAAO;AAAE;AAAT;AACH,OAFD,MAGK,IAAIF,QAAQ,IAAIX,KAAK,GAAGa,UAApB,IAAkCF,QAAQ,IAAIX,KAAK,GAAGa,UAA1D,EAAsE;AACvE,eAAO;AAAE;AAAT;AACH;;AACD,aAAO;AAAE;AAAT;AACH;AACD;;;;;;;;;;AAQA,aAASoU,0BAAT,CAAoC5rD,OAApC,EAA6Cy2C,UAA7C,EAAyDa,QAAzD,EAAmEC,QAAnE,EAA6E;AACzE,UAAM8V,gBAAgB,GAAGvB,0BAA0B,CAACrV,UAAD,EAAac,QAAb,CAAnD;AACA,UAAM+V,kBAAkB,GAAGvB,4BAA4B,CAACtV,UAAD,EAAaa,QAAb,CAAvD;AACA,UAAIoU,uBAAuB,GAAG;AAAE;AAAhC;AACA,UAAIC,yBAAyB,GAAG;AAAE;AAAlC,OAJyE,CAKzE;AACA;AACA;AACA;;AACA,UAAI0B,gBAAJ,EAAsB;AAClB,YAAMtV,SAAS,GAAG/3C,OAAO,CAAC+3C,SAA1B;;AACA,YAAIsV,gBAAgB,KAAK;AAAE;AAA3B,UAAqC;AACjC,cAAItV,SAAS,GAAG,CAAhB,EAAmB;AACf2T,mCAAuB,GAAG;AAAE;AAA5B;AACH;AACJ,SAJD,MAKK,IAAI1rD,OAAO,CAACutD,YAAR,GAAuBxV,SAAvB,GAAmC/3C,OAAO,CAACwtD,YAA/C,EAA6D;AAC9D9B,iCAAuB,GAAG;AAAE;AAA5B;AACH;AACJ;;AACD,UAAI4B,kBAAJ,EAAwB;AACpB,YAAMtV,UAAU,GAAGh4C,OAAO,CAACg4C,UAA3B;;AACA,YAAIsV,kBAAkB,KAAK;AAAE;AAA7B,UAAyC;AACrC,cAAItV,UAAU,GAAG,CAAjB,EAAoB;AAChB2T,qCAAyB,GAAG;AAAE;AAA9B;AACH;AACJ,SAJD,MAKK,IAAI3rD,OAAO,CAACytD,WAAR,GAAsBzV,UAAtB,GAAmCh4C,OAAO,CAAC0tD,WAA/C,EAA4D;AAC7D/B,mCAAyB,GAAG;AAAE;AAA9B;AACH;AACJ;;AACD,aAAO,CAACD,uBAAD,EAA0BC,yBAA1B,CAAP;AACH;AAED;;;;;;;;AAOA;;;AACA,QAAMgC,2BAA2B,GAAG,8FAAgC;AAChEnlB,aAAO,EAAE,KADuD;AAEhEC,aAAO,EAAE;AAFuD,KAAhC,CAApC;AAIA;;;;;AAKA;AACA;AACA;;QACMmlB,gB;;;AACF,gCAAYrtB,OAAZ,EAAqB1I,SAArB,EAAgC;AAAA;;AAAA;;AAC5B,aAAK0I,OAAL,GAAeA,OAAf;AACA;;AACA,aAAKstB,cAAL,GAAsB,IAAIpgD,GAAJ,EAAtB;AACA;;AACA,aAAKqgD,cAAL,GAAsB,IAAIrgD,GAAJ,EAAtB;AACA;;AACA,aAAKsgD,oBAAL,GAA4B,EAA5B;AACA;;AACA,aAAKC,gBAAL,GAAwB,IAAI1rD,GAAJ,EAAxB;AACA;;;;;AAIA,aAAK2rD,kBAAL,GAA0B,UAAC/kD,IAAD;AAAA,iBAAUA,IAAI,CAACizC,UAAL,EAAV;AAAA,SAA1B;AACA;;;;;;AAIA,aAAK8E,WAAL,GAAmB,IAAI,4CAAJ,EAAnB;AACA;;;;;AAIA,aAAKC,SAAL,GAAiB,IAAI,4CAAJ,EAAjB;AACA;;AACA,aAAKC,MAAL,GAAc,IAAI,4CAAJ,EAAd;AACA;;;;;AAIA,aAAK+M,4BAAL,GAAoC,UAAC5sD,KAAD,EAAW;AAC3C,cAAI,OAAI,CAACysD,oBAAL,CAA0B3wD,MAA1B,GAAmC,CAAvC,EAA0C;AACtCkE,iBAAK,CAAC07B,cAAN;AACH;AACJ,SAJD;AAKA;;;AACA,aAAKmxB,4BAAL,GAAoC,UAAC7sD,KAAD,EAAW;AAC3C,cAAI,OAAI,CAACysD,oBAAL,CAA0B3wD,MAA1B,GAAmC,CAAvC,EAA0C;AACtC;AACA;AACA;AACA,gBAAI,OAAI,CAAC2wD,oBAAL,CAA0B56C,IAA1B,CAA+B,OAAI,CAAC86C,kBAApC,CAAJ,EAA6D;AACzD3sD,mBAAK,CAAC07B,cAAN;AACH;;AACD,mBAAI,CAACikB,WAAL,CAAiBp2C,IAAjB,CAAsBvJ,KAAtB;AACH;AACJ,SAVD;;AAWA,aAAKu2B,SAAL,GAAiBA,SAAjB;AACH;AACD;;;;;eACA,+BAAsBmqB,IAAtB,EAA4B;AACxB,cAAI,CAAC,KAAK6L,cAAL,CAAoB//C,GAApB,CAAwBk0C,IAAxB,CAAL,EAAoC;AAChC,iBAAK6L,cAAL,CAAoBh+C,GAApB,CAAwBmyC,IAAxB;AACH;AACJ;AACD;;;;eACA,0BAAiBmG,IAAjB,EAAuB;AAAA;;AACnB,eAAK2F,cAAL,CAAoBj+C,GAApB,CAAwBs4C,IAAxB,EADmB,CAEnB;AACA;AACA;;;AACA,cAAI,KAAK2F,cAAL,CAAoBh+C,IAApB,KAA6B,CAAjC,EAAoC;AAChC,iBAAKywB,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC;AACA;AACA,qBAAI,CAACxJ,SAAL,CAAelF,gBAAf,CAAgC,WAAhC,EAA6C,OAAI,CAACw7B,4BAAlD,EAAgFR,2BAAhF;AACH,aAJD;AAKH;AACJ;AACD;;;;eACA,6BAAoB3L,IAApB,EAA0B;AACtB,eAAK6L,cAAL,WAA2B7L,IAA3B;AACH;AACD;;;;eACA,wBAAemG,IAAf,EAAqB;AACjB,eAAK2F,cAAL,WAA2B3F,IAA3B;;AACA,eAAK/I,YAAL,CAAkB+I,IAAlB;;AACA,cAAI,KAAK2F,cAAL,CAAoBh+C,IAApB,KAA6B,CAAjC,EAAoC;AAChC,iBAAK+nB,SAAL,CAAenF,mBAAf,CAAmC,WAAnC,EAAgD,KAAKy7B,4BAArD,EAAmFR,2BAAnF;AACH;AACJ;AACD;;;;;;;;eAKA,uBAAcxF,IAAd,EAAoB7mD,KAApB,EAA2B;AAAA;;AACvB;AACA,cAAI,KAAKysD,oBAAL,CAA0BnrD,OAA1B,CAAkCulD,IAAlC,IAA0C,CAAC,CAA/C,EAAkD;AAC9C;AACH;;AACD,eAAK4F,oBAAL,CAA0BpxD,IAA1B,CAA+BwrD,IAA/B;;AACA,cAAI,KAAK4F,oBAAL,CAA0B3wD,MAA1B,KAAqC,CAAzC,EAA4C;AACxC,gBAAMsiD,aAAY,GAAGp+C,KAAK,CAACpH,IAAN,CAAWkP,UAAX,CAAsB,OAAtB,CAArB,CADwC,CAExC;AACA;AACA;;;AACA,iBAAK4kD,gBAAL,CACKxrD,GADL,CACSk9C,aAAY,GAAG,UAAH,GAAgB,SADrC,EACgD;AAC5ChW,qBAAO,EAAE,iBAACjoC,CAAD;AAAA,uBAAO,OAAI,CAACy/C,SAAL,CAAer2C,IAAf,CAAoBpJ,CAApB,CAAP;AAAA,eADmC;AAE5CtH,qBAAO,EAAE;AAFmC,aADhD,EAKKqI,GALL,CAKS,QALT,EAKmB;AACfknC,qBAAO,EAAE,iBAACjoC,CAAD;AAAA,uBAAO,OAAI,CAAC0/C,MAAL,CAAYt2C,IAAZ,CAAiBpJ,CAAjB,CAAP;AAAA,eADM;AAEf;AACA;AACAtH,qBAAO,EAAE;AAJM,aALnB,EAWI;AACA;AACA;AACA;AAdJ,aAeKqI,GAfL,CAeS,aAfT,EAewB;AACpBknC,qBAAO,EAAE,KAAKwkB,4BADM;AAEpB/zD,qBAAO,EAAEwzD;AAFW,aAfxB,EALwC,CAwBxC;AACA;;;AACA,gBAAI,CAACjO,aAAL,EAAmB;AACf,mBAAKsO,gBAAL,CAAsBxrD,GAAtB,CAA0B,WAA1B,EAAuC;AACnCknC,uBAAO,EAAE,iBAACjoC,CAAD;AAAA,yBAAO,OAAI,CAACw/C,WAAL,CAAiBp2C,IAAjB,CAAsBpJ,CAAtB,CAAP;AAAA,iBAD0B;AAEnCtH,uBAAO,EAAEwzD;AAF0B,eAAvC;AAIH;;AACD,iBAAKptB,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC,qBAAI,CAAC2sB,gBAAL,CAAsBvxD,OAAtB,CAA8B,UAACyiC,MAAD,EAASllC,IAAT,EAAkB;AAC5C,uBAAI,CAAC69B,SAAL,CAAelF,gBAAf,CAAgC34B,IAAhC,EAAsCklC,MAAM,CAACwK,OAA7C,EAAsDxK,MAAM,CAAC/kC,OAA7D;AACH,eAFD;AAGH,aAJD;AAKH;AACJ;AACD;;;;eACA,sBAAaguD,IAAb,EAAmB;AACf,cAAMloC,KAAK,GAAG,KAAK8tC,oBAAL,CAA0BnrD,OAA1B,CAAkCulD,IAAlC,CAAd;;AACA,cAAIloC,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,iBAAK8tC,oBAAL,CAA0B1lD,MAA1B,CAAiC4X,KAAjC,EAAwC,CAAxC;;AACA,gBAAI,KAAK8tC,oBAAL,CAA0B3wD,MAA1B,KAAqC,CAAzC,EAA4C;AACxC,mBAAKgxD,qBAAL;AACH;AACJ;AACJ;AACD;;;;eACA,oBAAWjG,IAAX,EAAiB;AACb,iBAAO,KAAK4F,oBAAL,CAA0BnrD,OAA1B,CAAkCulD,IAAlC,IAA0C,CAAC,CAAlD;AACH;;;eACD,uBAAc;AAAA;;AACV,eAAK2F,cAAL,CAAoBrxD,OAApB,CAA4B,UAAA4xD,QAAQ;AAAA,mBAAI,OAAI,CAACtP,cAAL,CAAoBsP,QAApB,CAAJ;AAAA,WAApC;;AACA,eAAKR,cAAL,CAAoBpxD,OAApB,CAA4B,UAAA4xD,QAAQ;AAAA,mBAAI,OAAI,CAACjF,mBAAL,CAAyBiF,QAAzB,CAAJ;AAAA,WAApC;;AACA,eAAKD,qBAAL;;AACA,eAAKnN,WAAL,CAAiBzW,QAAjB;AACA,eAAK0W,SAAL,CAAe1W,QAAf;AACH;AACD;;;;eACA,iCAAwB;AAAA;;AACpB,eAAKwjB,gBAAL,CAAsBvxD,OAAtB,CAA8B,UAACyiC,MAAD,EAASllC,IAAT,EAAkB;AAC5C,oBAAI,CAAC69B,SAAL,CAAenF,mBAAf,CAAmC14B,IAAnC,EAAyCklC,MAAM,CAACwK,OAAhD,EAAyDxK,MAAM,CAAC/kC,OAAhE;AACH,WAFD;;AAGA,eAAK6zD,gBAAL,CAAsBl6C,KAAtB;AACH;;;;;;AAEL85C,oBAAgB,CAAC1nD,IAAjB,GAAwB,SAASooD,wBAAT,CAAkCloD,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAIwnD,gBAAV,EAA4B,uDAAgB,oDAAhB,CAA5B,EAA4D,uDAAgB,wDAAhB,CAA5D,CAAP;AAAgG,KAA/J;;AACAA,oBAAgB,CAACvnD,KAAjB,GAAyB,yEAAmB;AAAEE,aAAO,EAAE,SAAS+nD,wBAAT,GAAoC;AAAE,eAAO,IAAIV,gBAAJ,CAAqB,+DAAS,oDAAT,CAArB,EAAuC,+DAAS,wDAAT,CAAvC,CAAP;AAAoE,OAArH;AAAuHtnD,WAAK,EAAEsnD,gBAA9H;AAAgJh0B,gBAAU,EAAE;AAA5J,KAAnB,CAAzB;;AACAg0B,oBAAgB,CAAC/zB,cAAjB,GAAkC;AAAA,aAAM,CACpC;AAAE3/B,YAAI,EAAE;AAAR,OADoC,EAEpC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAFoC,CAAN;AAAA,KAAlC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBonD,gBAAzB,EAA2C,CAAC;AACtG1zD,YAAI,EAAE,wDADgG;AAEtGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFgG,OAAD,CAA3C,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE;AAAR,SAAD,EAA0B;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AACvE5/B,gBAAI,EAAE,oDADiE;AAEvEimB,gBAAI,EAAE,CAAC,wDAAD;AAFiE,WAAD;AAA/B,SAA1B,CAAP;AAGF,OAN8C,EAM5C,IAN4C,CAAnD;AAMe,KAN9B;AAQA;;;;;;;;AAOA;;;AACA,QAAMouC,cAAc,GAAG;AACnB3S,wBAAkB,EAAE,CADD;AAEnB4J,qCAA+B,EAAE;AAFd,KAAvB;AAIA;;;;QAGMgJ,Q;;;AACF,wBAAY32B,SAAZ,EAAuB0I,OAAvB,EAAgCoX,cAAhC,EAAgD8B,iBAAhD,EAAmE;AAAA;;AAC/D,aAAK5hB,SAAL,GAAiBA,SAAjB;AACA,aAAK0I,OAAL,GAAeA,OAAf;AACA,aAAKoX,cAAL,GAAsBA,cAAtB;AACA,aAAK8B,iBAAL,GAAyBA,iBAAzB;AACH;AACD;;;;;;;;;eAKA,oBAAWz5C,OAAX,EAA6C;AAAA,cAAzBk/B,MAAyB,uEAAhBqvB,cAAgB;AACzC,iBAAO,IAAIhV,OAAJ,CAAYv5C,OAAZ,EAAqBk/B,MAArB,EAA6B,KAAKrH,SAAlC,EAA6C,KAAK0I,OAAlD,EAA2D,KAAKoX,cAAhE,EAAgF,KAAK8B,iBAArF,CAAP;AACH;AACD;;;;;;;eAIA,wBAAez5C,OAAf,EAAwB;AACpB,iBAAO,IAAI0nD,WAAJ,CAAgB1nD,OAAhB,EAAyB,KAAKy5C,iBAA9B,EAAiD,KAAK5hB,SAAtD,EAAiE,KAAK0I,OAAtE,EAA+E,KAAKoX,cAApF,CAAP;AACH;;;;;;AAEL6W,YAAQ,CAACtoD,IAAT,GAAgB,SAASuoD,gBAAT,CAA0BroD,CAA1B,EAA6B;AAAE,aAAO,KAAKA,CAAC,IAAIooD,QAAV,EAAoB,uDAAgB,wDAAhB,CAApB,EAA+C,uDAAgB,oDAAhB,CAA/C,EAA+E,uDAAgB,oEAAhB,CAA/E,EAAsH,uDAAgBZ,gBAAhB,CAAtH,CAAP;AAAkK,KAAjN;;AACAY,YAAQ,CAACnoD,KAAT,GAAiB,yEAAmB;AAAEE,aAAO,EAAE,SAASkoD,gBAAT,GAA4B;AAAE,eAAO,IAAID,QAAJ,CAAa,+DAAS,wDAAT,CAAb,EAAiC,+DAAS,oDAAT,CAAjC,EAAmD,+DAAS,oEAAT,CAAnD,EAA4E,+DAASZ,gBAAT,CAA5E,CAAP;AAAiH,OAA1J;AAA4JtnD,WAAK,EAAEkoD,QAAnK;AAA6K50B,gBAAU,EAAE;AAAzL,KAAnB,CAAjB;;AACA40B,YAAQ,CAAC30B,cAAT,GAA0B;AAAA,aAAM,CAC5B;AAAE3/B,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAD4B,EAE5B;AAAEjmB,YAAI,EAAE;AAAR,OAF4B,EAG5B;AAAEA,YAAI,EAAE;AAAR,OAH4B,EAI5B;AAAEA,YAAI,EAAE0zD;AAAR,OAJ4B,CAAN;AAAA,KAA1B;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAOpnD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBgoD,QAAzB,EAAmC,CAAC;AAC9Ft0D,YAAI,EAAE,wDADwF;AAE9FimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFwF,OAAD,CAAnC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1/B,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE,oDADwC;AAE9CimB,gBAAI,EAAE,CAAC,wDAAD;AAFwC,WAAD;AAA/B,SAAD,EAGX;AAAEjmB,cAAI,EAAE;AAAR,SAHW,EAGc;AAAEA,cAAI,EAAE;AAAR,SAHd,EAG8C;AAAEA,cAAI,EAAE0zD;AAAR,SAH9C,CAAP;AAGmF,OANvC,EAMyC,IANzC,CAAnD;AAMoG,KANnH;AAQA;;;;;;;;AAOA;;;;;;;;AAMA,QAAMc,eAAe,GAAG,IAAI,4DAAJ,CAAmB,iBAAnB,CAAxB;AAEA;;;;;;;;AAQA;;;;;;;;AAOA;;;;;;AAKA,QAAMC,mBAAmB,GAAG,IAAI,4DAAJ,CAAmB,kBAAnB,CAA5B;AACA;;;;;;;QAMMC,gB;;;AACF,kCAAc;AAAA;;AACV;AACA,aAAK50B,MAAL,GAAc,IAAIvsB,GAAJ,EAAd;AACA,aAAKyhC,SAAL,GAAiB,KAAjB;AACH;AACD;;;;;aACA,eAAe;AAAE,iBAAO,KAAKA,SAAZ;AAAwB,S;aACzC,aAAa7sC,KAAb,EAAoB;AAChB,eAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;AACH;;;eACD,uBAAc;AACV,eAAK23B,MAAL,CAAYlmB,KAAZ;AACH;;;;;;AAEL86C,oBAAgB,CAAC1oD,IAAjB,GAAwB,SAAS2oD,wBAAT,CAAkCzoD,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAIwoD,gBAAV,GAAP;AAAuC,KAAtG;;AACAA,oBAAgB,CAAC/qB,IAAjB,GAAwB,gEAAyB;AAAE3pC,UAAI,EAAE00D,gBAAR;AAA0B9qB,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAAD,CAArC;AAAqEC,YAAM,EAAE;AAAEriC,gBAAQ,EAAE,CAAC,0BAAD,EAA6B,UAA7B;AAAZ,OAA7E;AAAqIsiC,cAAQ,EAAE,CAAC,kBAAD,CAA/I;AAAqKC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAEsgB,mBAAX;AAAgCrgB,mBAAW,EAAEsgB;AAA7C,OAAD,CAA1B,CAAD;AAA/K,KAAzB,CAAxB;AACAA,oBAAgB,CAAC1qB,cAAjB,GAAkC;AAC9BxiC,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,0BAAD;AAArB,OAAD;AADoB,KAAlC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBooD,gBAAzB,EAA2C,CAAC;AACtG10D,YAAI,EAAE,uDADgG;AAEtGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,oBADX;AAEC0oC,kBAAQ,EAAE,kBAFX;AAGCuK,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEsgB,mBAAX;AAAgCrgB,uBAAW,EAAEsgB;AAA7C,WAAD;AAHZ,SAAD;AAFgG,OAAD,CAA3C,EAO1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAPgC,EAO9B;AAAEltD,gBAAQ,EAAE,CAAC;AACrCxH,cAAI,EAAE,mDAD+B;AAErCimB,cAAI,EAAE,CAAC,0BAAD;AAF+B,SAAD;AAAZ,OAP8B,CAAnD;AAUC,KAVhB;AAYA;;;;;;;;AAOA;;;;;;AAIA,QAAM2uC,eAAe,GAAG,IAAI,4DAAJ,CAAmB,iBAAnB,CAAxB;AAEA;;;;;;;;AAOA;;;;;;AAKA,aAASC,iBAAT,CAA2BnjD,IAA3B,EAAiC5R,IAAjC,EAAuC;AACnC,UAAI4R,IAAI,CAAC6tB,QAAL,KAAkB,CAAtB,EAAyB;AACrB,cAAMv4B,KAAK,CAAC,UAAGlH,IAAH,gFACkB4R,IAAI,CAAC+yB,QADvB,QAAD,CAAX;AAEH;AACJ;AAED;;;;;;;;AAOA;;;AACA,QAAIqwB,gBAAgB,GAAG,CAAvB;AACA;;;;;;AAKA,QAAMC,aAAa,GAAG,IAAI,4DAAJ,CAAmB,aAAnB,CAAtB;AACA,QAAM7rD,EAAE,GAAGrB,SAAX;AACA;;QACMmtD,W;;;AACF;AACA;AACAlvD,aAFA,EAESmvD,QAFT,EAEmBxgB,kBAFnB,EAEuCygB,iBAFvC,EAE0D9e,IAF1D,EAEgE+e,MAFhE,EAEwEnwB,MAFxE,EAEgF;AAAA;;AAAA;;AAC5E,aAAKl/B,OAAL,GAAeA,OAAf;AACA,aAAK2uC,kBAAL,GAA0BA,kBAA1B;AACA,aAAKygB,iBAAL,GAAyBA,iBAAzB;AACA,aAAK9e,IAAL,GAAYA,IAAZ;AACA,aAAK+e,MAAL,GAAcA,MAAd;AACA;;AACA,aAAKjzD,UAAL,GAAkB,IAAI,4CAAJ,EAAlB;AACA;;;;;;AAKA,aAAKiuD,WAAL,GAAmB,EAAnB;AACA;;;;;AAIA,aAAKxnD,EAAL,2BAA2BmsD,gBAAgB,EAA3C;AACA;;;;;AAIA,aAAKnH,cAAL,GAAsB;AAAA,iBAAM,IAAN;AAAA,SAAtB;AACA;;;AACA,aAAKC,aAAL,GAAqB;AAAA,iBAAM,IAAN;AAAA,SAArB;AACA;;;AACA,aAAKjN,OAAL,GAAe,IAAI,0DAAJ,EAAf;AACA;;;;AAGA,aAAKF,OAAL,GAAe,IAAI,0DAAJ,EAAf;AACA;;;;;AAIA,aAAKC,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;AACA,aAAKmN,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;;;;;;;AAOA,aAAKuH,cAAL,GAAsB,IAAI7hD,GAAJ,EAAtB;;AACA,YAAI,OAAOjH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CuoD,2BAAiB,CAAC/uD,OAAO,CAACijC,aAAT,EAAwB,aAAxB,CAAjB;AACH;;AACD,aAAKssB,YAAL,GAAoBJ,QAAQ,CAACK,cAAT,CAAwBxvD,OAAxB,CAApB;AACA,aAAKuvD,YAAL,CAAkBvtD,IAAlB,GAAyB,IAAzB;;AACA,YAAIk9B,MAAJ,EAAY;AACR,eAAKuwB,eAAL,CAAqBvwB,MAArB;AACH;;AACD,aAAKqwB,YAAL,CAAkB1H,cAAlB,GAAmC,UAACM,IAAD,EAAOnG,IAAP,EAAgB;AAC/C,iBAAO,QAAI,CAAC6F,cAAL,CAAoBM,IAAI,CAACnmD,IAAzB,EAA+BggD,IAAI,CAAChgD,IAApC,CAAP;AACH,SAFD;;AAGA,aAAKutD,YAAL,CAAkBzH,aAAlB,GACI,UAAC7nC,KAAD,EAAQkoC,IAAR,EAAcnG,IAAd,EAAuB;AACnB,iBAAO,QAAI,CAAC8F,aAAL,CAAmB7nC,KAAnB,EAA0BkoC,IAAI,CAACnmD,IAA/B,EAAqCggD,IAAI,CAAChgD,IAA1C,CAAP;AACH,SAHL;;AAIA,aAAK0tD,2BAAL,CAAiC,KAAKH,YAAtC;;AACA,aAAKI,aAAL,CAAmB,KAAKJ,YAAxB;;AACAL,mBAAW,CAACU,UAAZ,CAAuBjzD,IAAvB,CAA4B,IAA5B;;AACA,YAAI0yD,MAAJ,EAAY;AACRA,gBAAM,CAACr1B,MAAP,CAAcnqB,GAAd,CAAkB,IAAlB;AACH;AACJ;AACD;;;;;aACA,eAAe;AACX,iBAAO,KAAKq/B,SAAL,IAAmB,CAAC,CAAC,KAAKmgB,MAAP,IAAiB,KAAKA,MAAL,CAAY3tD,QAAvD;AACH,S;aACD,aAAaW,KAAb,EAAoB;AAChB;AACA;AACA;AACA;AACA,eAAKktD,YAAL,CAAkB7tD,QAAlB,GAA6B,KAAKwtC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAA9C;AACH;AACD;;;;eACA,iBAAQ6G,IAAR,EAAc;AACV,eAAKomD,cAAL,CAAoBz/C,GAApB,CAAwB3G,IAAxB;;AACA,cAAI,KAAKqmD,YAAL,CAAkBpT,UAAlB,EAAJ,EAAoC;AAChC,iBAAK0T,iBAAL;AACH;AACJ;AACD;;;;eACA,oBAAW3mD,IAAX,EAAiB;AACb,eAAKomD,cAAL,WAA2BpmD,IAA3B;;AACA,cAAI,KAAKqmD,YAAL,CAAkBpT,UAAlB,EAAJ,EAAoC;AAChC,iBAAK0T,iBAAL;AACH;AACJ;AACD;;;;eACA,0BAAiB;AACb,iBAAOlnD,KAAK,CAAC2f,IAAN,CAAW,KAAKgnC,cAAhB,EAAgCjqC,IAAhC,CAAqC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAClD,gBAAMuqC,gBAAgB,GAAGxqC,CAAC,CAACyqC,QAAF,CAAW1D,iBAAX,GAA+B2D,uBAA/B,CAAuDzqC,CAAC,CAACwqC,QAAF,CAAW1D,iBAAX,EAAvD,CAAzB,CADkD,CAElD;AACA;AACA;;;AACA,mBAAOyD,gBAAgB,GAAGlrB,IAAI,CAACqrB,2BAAxB,GAAsD,CAAC,CAAvD,GAA2D,CAAlE;AACH,WANM,CAAP;AAOH;;;eACD,uBAAc;AACV,cAAMhwC,KAAK,GAAGivC,WAAW,CAACU,UAAZ,CAAuBhtD,OAAvB,CAA+B,IAA/B,CAAd;;AACA,cAAIqd,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZivC,uBAAW,CAACU,UAAZ,CAAuBvnD,MAAvB,CAA8B4X,KAA9B,EAAqC,CAArC;AACH;;AACD,cAAI,KAAKovC,MAAT,EAAiB;AACb,iBAAKA,MAAL,CAAYr1B,MAAZ,WAA0B,IAA1B;AACH;;AACD,eAAKs1B,cAAL,CAAoBx7C,KAApB;;AACA,eAAKy7C,YAAL,CAAkBW,OAAlB;;AACA,eAAK9zD,UAAL,CAAgByO,IAAhB;;AACA,eAAKzO,UAAL,CAAgBouC,QAAhB;AACH;AACD;;;;eACA,qCAA4B2lB,GAA5B,EAAiC;AAAA;;AAC7B,cAAI,KAAK7f,IAAT,EAAe;AACX,iBAAKA,IAAL,CAAUzV,MAAV,CACKe,IADL,CACU,iEAAU,KAAK0U,IAAL,CAAUjuC,KAApB,CADV,EACsC,iEAAU,KAAKjG,UAAf,CADtC,EAEK2+B,SAFL,CAEe,UAAA14B,KAAK;AAAA,qBAAI8tD,GAAG,CAACC,aAAJ,CAAkB/tD,KAAlB,CAAJ;AAAA,aAFpB;AAGH;;AACD8tD,aAAG,CAAC5V,aAAJ,CAAkBxf,SAAlB,CAA4B,YAAM;AAC9B,gBAAM8vB,QAAQ,GAAG,0EAAY,QAAI,CAACR,WAAjB,EAA8BnoD,GAA9B,CAAkC,UAAA8/C,IAAI,EAAI;AACvD,kBAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1B,oBAAMqO,qBAAqB,GAAGnB,WAAW,CAACU,UAAZ,CAAuB/8C,IAAvB,CAA4B,UAAAy9C,IAAI;AAAA,yBAAIA,IAAI,CAACztD,EAAL,KAAYm/C,IAAhB;AAAA,iBAAhC,CAA9B;;AACA,oBAAI,CAACqO,qBAAD,KAA2B,OAAO7pD,SAAP,KAAqB,WAArB,IAAoCA,SAA/D,CAAJ,EAA+E;AAC3E8uB,yBAAO,CAACC,IAAR,oEAAwEysB,IAAxE;AACH;;AACD,uBAAOqO,qBAAP;AACH;;AACD,qBAAOrO,IAAP;AACH,aATgB,CAAjB;;AAUA,gBAAI,QAAI,CAACqN,MAAT,EAAiB;AACb,sBAAI,CAACA,MAAL,CAAYr1B,MAAZ,CAAmBv9B,OAAnB,CAA2B,UAAAulD,IAAI,EAAI;AAC/B,oBAAI6I,QAAQ,CAACjoD,OAAT,CAAiBo/C,IAAjB,MAA2B,CAAC,CAAhC,EAAmC;AAC/B6I,0BAAQ,CAACluD,IAAT,CAAcqlD,IAAd;AACH;AACJ,eAJD;AAKH,aAjB6B,CAkB9B;AACA;;;AACA,gBAAI,CAAC,QAAI,CAACuO,0BAAV,EAAsC;AAClC,kBAAMC,iBAAiB,GAAG,QAAI,CAACpB,iBAAL,CACrBqB,2BADqB,CACO,QAAI,CAACzwD,OADZ,EAErBkC,GAFqB,CAEjB,UAAAwuD,UAAU;AAAA,uBAAIA,UAAU,CAACC,aAAX,GAA2B1tB,aAA/B;AAAA,eAFO,CAA1B;;AAGA,sBAAI,CAACssB,YAAL,CAAkBrG,qBAAlB,CAAwCsH,iBAAxC,EAJkC,CAKlC;AACA;;;AACA,sBAAI,CAACD,0BAAL,GAAkC,IAAlC;AACH;;AACDJ,eAAG,CAACzuD,QAAJ,GAAe,QAAI,CAACA,QAApB;AACAyuD,eAAG,CAAC1L,QAAJ,GAAe,QAAI,CAACA,QAApB;AACA0L,eAAG,CAAC5N,eAAJ,GAAsB,oFAAsB,QAAI,CAACA,eAA3B,CAAtB;AACA4N,eAAG,CAACxI,kBAAJ,GAAyB,oFAAsB,QAAI,CAACA,kBAA3B,CAAzB;AACAwI,eAAG,CAACvI,cAAJ,GAAqB,mFAAqB,QAAI,CAACA,cAA1B,EAA0C,CAA1C,CAArB;AACAuI,eAAG,CACE9F,WADL,CACiBQ,QAAQ,CAAC71C,MAAT,CAAgB,UAAAgtC,IAAI;AAAA,qBAAIA,IAAI,IAAIA,IAAI,KAAK,QAArB;AAAA,aAApB,EAA+C9/C,GAA/C,CAAmD,UAAAouD,IAAI;AAAA,qBAAIA,IAAI,CAACf,YAAT;AAAA,aAAvD,CADjB,EAEKqB,eAFL,CAEqB,QAAI,CAACtG,WAF1B;AAGH,WArCD;AAsCH;AACD;;;;eACA,uBAAc6F,GAAd,EAAmB;AAAA;;AACfA,aAAG,CAAC5V,aAAJ,CAAkBxf,SAAlB,CAA4B,YAAM;AAC9B,oBAAI,CAAC80B,iBAAL;;AACA,oBAAI,CAAClhB,kBAAL,CAAwBa,YAAxB;AACH,WAHD;AAIA2gB,aAAG,CAACxV,OAAJ,CAAY5f,SAAZ,CAAsB,UAAAz5B,KAAK,EAAI;AAC3B,oBAAI,CAACq5C,OAAL,CAAatO,IAAb,CAAkB;AACd2P,uBAAS,EAAE,QADG;AAEd9yC,kBAAI,EAAE5H,KAAK,CAAC4H,IAAN,CAAWlH,IAFH;AAGd+vC,0BAAY,EAAEzwC,KAAK,CAACywC;AAHN,aAAlB;AAKH,WAND;AAOAoe,aAAG,CAACvV,MAAJ,CAAW7f,SAAX,CAAqB,UAAAz5B,KAAK,EAAI;AAC1B,oBAAI,CAACs5C,MAAL,CAAYvO,IAAZ,CAAiB;AACb2P,uBAAS,EAAE,QADE;AAEb9yC,kBAAI,EAAE5H,KAAK,CAAC4H,IAAN,CAAWlH;AAFJ,aAAjB;;AAIA,oBAAI,CAAC2sC,kBAAL,CAAwBa,YAAxB;AACH,WAND;AAOA2gB,aAAG,CAACpI,MAAJ,CAAWhtB,SAAX,CAAqB,UAAAz5B,KAAK,EAAI;AAC1B,oBAAI,CAACymD,MAAL,CAAY1b,IAAZ,CAAiB;AACb6F,2BAAa,EAAE5wC,KAAK,CAAC4wC,aADR;AAEbH,0BAAY,EAAEzwC,KAAK,CAACywC,YAFP;AAGbiK,uBAAS,EAAE,QAHE;AAIb9yC,kBAAI,EAAE5H,KAAK,CAAC4H,IAAN,CAAWlH;AAJJ,aAAjB;AAMH,WAPD;AAQAmuD,aAAG,CAACtV,OAAJ,CAAY9f,SAAZ,CAAsB,UAAAz5B,KAAK,EAAI;AAC3B,oBAAI,CAACu5C,OAAL,CAAaxO,IAAb,CAAkB;AACd6F,2BAAa,EAAE5wC,KAAK,CAAC4wC,aADP;AAEdH,0BAAY,EAAEzwC,KAAK,CAACywC,YAFN;AAGdgQ,+BAAiB,EAAEzgD,KAAK,CAACygD,iBAAN,CAAwB//C,IAH7B;AAIdg6C,uBAAS,EAAE16C,KAAK,CAAC06C,SAAN,CAAgBh6C,IAJb;AAKdkH,kBAAI,EAAE5H,KAAK,CAAC4H,IAAN,CAAWlH,IALH;AAMd6/C,oCAAsB,EAAEvgD,KAAK,CAACugD,sBANhB;AAOd1E,sBAAQ,EAAE77C,KAAK,CAAC67C;AAPF,aAAlB,EAD2B,CAU3B;AACA;;;AACA,oBAAI,CAACxO,kBAAL,CAAwBa,YAAxB;AACH,WAbD;AAcH;AACD;;;;eACA,yBAAgBtQ,MAAhB,EAAwB;AACpB,cAAQulB,QAAR,GAAiGvlB,MAAjG,CAAQulB,QAAR;AAAA,cAAkBoM,gBAAlB,GAAiG3xB,MAAjG,CAAkB2xB,gBAAlB;AAAA,cAAoCtO,eAApC,GAAiGrjB,MAAjG,CAAoCqjB,eAApC;AAAA,cAAqDuO,sBAArD,GAAiG5xB,MAAjG,CAAqD4xB,sBAArD;AAAA,cAA6EC,eAA7E,GAAiG7xB,MAAjG,CAA6E6xB,eAA7E;AACA,eAAKrvD,QAAL,GAAgBmvD,gBAAgB,IAAI,IAApB,GAA2B,KAA3B,GAAmCA,gBAAnD;AACA,eAAKtO,eAAL,GAAuBA,eAAe,IAAI,IAAnB,GAA0B,KAA1B,GAAkCA,eAAzD;AACA,eAAKoF,kBAAL,GAA0BmJ,sBAAsB,IAAI,IAA1B,GAAiC,KAAjC,GAAyCA,sBAAnE;AACA,eAAKxG,WAAL,GAAmByG,eAAe,IAAI,UAAtC;;AACA,cAAItM,QAAJ,EAAc;AACV,iBAAKA,QAAL,GAAgBA,QAAhB;AACH;AACJ;AACD;;;;eACA,6BAAoB;AAChB,eAAK8K,YAAL,CAAkByB,SAAlB,CAA4B,KAAKC,cAAL,GAAsB/uD,GAAtB,CAA0B,UAAAgH,IAAI;AAAA,mBAAIA,IAAI,CAAC6mD,QAAT;AAAA,WAA9B,CAA5B;AACH;;;;;;AAELb,eAAW,CAAChpD,IAAZ,GAAmB,SAASgrD,mBAAT,CAA6B9qD,CAA7B,EAAgC;AAAE,aAAO,KAAKA,CAAC,IAAI8oD,WAAV,EAAuB,gEAAyB,wDAAzB,CAAvB,EAAoE,gEAAyBV,QAAzB,CAApE,EAAwG,gEAAyB,+DAAzB,CAAxG,EAA4J,gEAAyB,uEAAzB,CAA5J,EAA+M,gEAAyB,gEAAzB,EAAgD,CAAhD,CAA/M,EAAmQ,gEAAyBG,mBAAzB,EAA8C,EAA9C,CAAnQ,EAAsT,gEAAyBG,eAAzB,EAA0C,CAA1C,CAAtT,CAAP;AAA6W,KAAla;;AACAI,eAAW,CAACrrB,IAAZ,GAAmB,gEAAyB;AAAE3pC,UAAI,EAAEg1D,WAAR;AAAqBprB,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,EAA0B,CAAC,eAAD,CAA1B,CAAhC;AAA8EqtB,eAAS,EAAE,CAAC,CAAD,EAAI,eAAJ,CAAzF;AAA+GxgB,cAAQ,EAAE,CAAzH;AAA4HC,kBAAY,EAAE,SAASwgB,wBAAT,CAAkCtgB,EAAlC,EAAsC76B,GAAtC,EAA2C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACvO,oEAAmB,IAAnB,EAAyB76B,GAAG,CAACpT,EAA7B;;AACA,oEAAmB,wBAAnB,EAA6CoT,GAAG,CAACvU,QAAjD,EAA2D,wBAA3D,EAAqFuU,GAAG,CAACs5C,YAAJ,CAAiBpT,UAAjB,EAArF,EAAoH,yBAApH,EAA+IlmC,GAAG,CAACs5C,YAAJ,CAAiBnT,WAAjB,EAA/I;AACH;AAAE,OAHqC;AAGnCrY,YAAM,EAAE;AAAEsmB,mBAAW,EAAE,CAAC,wBAAD,EAA2B,aAA3B,CAAf;AAA0DxnD,UAAE,EAAE,IAA9D;AAAoEglD,sBAAc,EAAE,CAAC,2BAAD,EAA8B,gBAA9B,CAApF;AAAqIC,qBAAa,EAAE,CAAC,0BAAD,EAA6B,eAA7B,CAApJ;AAAmMpmD,gBAAQ,EAAE,CAAC,qBAAD,EAAwB,UAAxB,CAA7M;AAAkP6gD,uBAAe,EAAE,CAAC,4BAAD,EAA+B,iBAA/B,CAAnQ;AAAsToF,0BAAkB,EAAE,CAAC,+BAAD,EAAkC,oBAAlC,CAA1U;AAAmY2C,mBAAW,EAAE,CAAC,wBAAD,EAA2B,aAA3B,CAAhZ;AAA2b7F,gBAAQ,EAAE,CAAC,qBAAD,EAAwB,UAAxB,CAArc;AAA0eziD,YAAI,EAAE,CAAC,iBAAD,EAAoB,MAApB,CAAhf;AAA6gB4lD,sBAAc,EAAE,CAAC,2BAAD,EAA8B,gBAA9B;AAA7hB,OAH2B;AAGqjBrb,aAAO,EAAE;AAAEsO,eAAO,EAAE,oBAAX;AAAiCF,eAAO,EAAE,oBAA1C;AAAgEC,cAAM,EAAE,mBAAxE;AAA6FmN,cAAM,EAAE;AAArG,OAH9jB;AAG0rB/jB,cAAQ,EAAE,CAAC,aAAD,CAHpsB;AAGqtBC,cAAQ,EAAE,CAAC,iEAA0B,CAC1xB;AACA;AAAEoK,eAAO,EAAEsgB,mBAAX;AAAgCjf,gBAAQ,EAAEtsC;AAA1C,OAF0xB,EAG1xB;AAAEirC,eAAO,EAAE4gB,aAAX;AAA0B3gB,mBAAW,EAAE4gB;AAAvC,OAH0xB,CAA1B,CAAD;AAH/tB,KAAzB,CAAnB;AAQA;;AACAA,eAAW,CAACU,UAAZ,GAAyB,EAAzB;;AACAV,eAAW,CAACr1B,cAAZ,GAA6B;AAAA,aAAM,CAC/B;AAAE3/B,YAAI,EAAE;AAAR,OAD+B,EAE/B;AAAEA,YAAI,EAAEs0D;AAAR,OAF+B,EAG/B;AAAEt0D,YAAI,EAAE;AAAR,OAH+B,EAI/B;AAAEA,YAAI,EAAE;AAAR,OAJ+B,EAK/B;AAAEA,YAAI,EAAE,gEAAR;AAAwB4/B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD;AAApC,OAL+B,EAM/B;AAAEA,YAAI,EAAE00D,gBAAR;AAA0B90B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACwuC,mBAAD;AAAtB,SAArB,EAAqE;AAAEz0D,cAAI,EAAE;AAAR,SAArE;AAAtC,OAN+B,EAO/B;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC2uC,eAAD;AAAtB,SAArB;AAA/B,OAP+B,CAAN;AAAA,KAA7B;;AASAI,eAAW,CAAChrB,cAAZ,GAA6B;AACzBmmB,iBAAW,EAAE,CAAC;AAAEnwD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,wBAAD;AAArB,OAAD,CADY;AAEzBne,UAAI,EAAE,CAAC;AAAE9H,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CAFmB;AAGzBmqC,iBAAW,EAAE,CAAC;AAAEpwD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,wBAAD;AAArB,OAAD,CAHY;AAIzBtd,QAAE,EAAE,CAAC;AAAE3I,YAAI,EAAE;AAAR,OAAD,CAJqB;AAKzBuqD,cAAQ,EAAE,CAAC;AAAEvqD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,qBAAD;AAArB,OAAD,CALe;AAMzBze,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,qBAAD;AAArB,OAAD,CANe;AAOzBoiC,qBAAe,EAAE,CAAC;AAAEroD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,4BAAD;AAArB,OAAD,CAPQ;AAQzB0nC,oBAAc,EAAE,CAAC;AAAE3tD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,2BAAD;AAArB,OAAD,CARS;AASzB2nC,mBAAa,EAAE,CAAC;AAAE5tD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,0BAAD;AAArB,OAAD,CATU;AAUzBwnC,wBAAkB,EAAE,CAAC;AAAEztD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,+BAAD;AAArB,OAAD,CAVK;AAWzBynC,oBAAc,EAAE,CAAC;AAAE1tD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,2BAAD;AAArB,OAAD,CAXS;AAYzB06B,aAAO,EAAE,CAAC;AAAE3gD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,oBAAD;AAAtB,OAAD,CAZgB;AAazBw6B,aAAO,EAAE,CAAC;AAAEzgD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,oBAAD;AAAtB,OAAD,CAbgB;AAczBy6B,YAAM,EAAE,CAAC;AAAE1gD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,mBAAD;AAAtB,OAAD,CAdiB;AAezB4nC,YAAM,EAAE,CAAC;AAAE7tD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,mBAAD;AAAtB,OAAD;AAfiB,KAA7B;;AAiBA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0oD,WAAzB,EAAsC,CAAC;AACjGh1D,YAAI,EAAE,uDAD2F;AAEjGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,8BADX;AAEC0oC,kBAAQ,EAAE,aAFX;AAGCuK,mBAAS,EAAE,CACP;AACA;AAAEF,mBAAO,EAAEsgB,mBAAX;AAAgCjf,oBAAQ,EAAEtsC;AAA1C,WAFO,EAGP;AAAEirC,mBAAO,EAAE4gB,aAAX;AAA0B3gB,uBAAW,EAAE4gB;AAAvC,WAHO,CAHZ;AAQCne,cAAI,EAAE;AACF,qBAAS,eADP;AAEF,yBAAa,IAFX;AAGF,8CAAkC,UAHhC;AAIF,8CAAkC,2BAJhC;AAKF,+CAAmC;AALjC;AARP,SAAD;AAF2F,OAAD,CAAtC,EAkB1D,YAAY;AAAE,eAAO,CAAC;AAAE72C,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAEs0D;AAAR,SAA9B,EAAkD;AAAEt0D,cAAI,EAAE;AAAR,SAAlD,EAAsF;AAAEA,cAAI,EAAE;AAAR,SAAtF,EAAyH;AAAEA,cAAI,EAAE,gEAAR;AAA+B4/B,oBAAU,EAAE,CAAC;AAClL5/B,gBAAI,EAAE;AAD4K,WAAD;AAA3C,SAAzH,EAEX;AAAEA,cAAI,EAAE00D,gBAAR;AAA0B90B,oBAAU,EAAE,CAAC;AACzC5/B,gBAAI,EAAE;AADmC,WAAD,EAEzC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACwuC,mBAAD;AAFP,WAFyC,EAKzC;AACCz0D,gBAAI,EAAE;AADP,WALyC;AAAtC,SAFW,EASX;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE;AAD4B,WAAD,EAElC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC2uC,eAAD;AAFP,WAFkC;AAA/B,SATW,CAAP;AAcF,OAhC8C,EAgC5C;AAAEzE,mBAAW,EAAE,CAAC;AAC1BnwD,cAAI,EAAE,mDADoB;AAE1BimB,cAAI,EAAE,CAAC,wBAAD;AAFoB,SAAD,CAAf;AAGVtd,UAAE,EAAE,CAAC;AACL3I,cAAI,EAAE;AADD,SAAD,CAHM;AAKV2tD,sBAAc,EAAE,CAAC;AACjB3tD,cAAI,EAAE,mDADW;AAEjBimB,cAAI,EAAE,CAAC,2BAAD;AAFW,SAAD,CALN;AAQV2nC,qBAAa,EAAE,CAAC;AAChB5tD,cAAI,EAAE,mDADU;AAEhBimB,cAAI,EAAE,CAAC,0BAAD;AAFU,SAAD,CARL;AAWV06B,eAAO,EAAE,CAAC;AACV3gD,cAAI,EAAE,oDADI;AAEVimB,cAAI,EAAE,CAAC,oBAAD;AAFI,SAAD,CAXC;AAcVw6B,eAAO,EAAE,CAAC;AACVzgD,cAAI,EAAE,oDADI;AAEVimB,cAAI,EAAE,CAAC,oBAAD;AAFI,SAAD,CAdC;AAiBVy6B,cAAM,EAAE,CAAC;AACT1gD,cAAI,EAAE,oDADG;AAETimB,cAAI,EAAE,CAAC,mBAAD;AAFG,SAAD,CAjBE;AAoBV4nC,cAAM,EAAE,CAAC;AACT7tD,cAAI,EAAE,oDADG;AAETimB,cAAI,EAAE,CAAC,mBAAD;AAFG,SAAD,CApBE;AAuBVze,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE,mDADK;AAEXimB,cAAI,EAAE,CAAC,qBAAD;AAFK,SAAD,CAvBA;AA0BVoiC,uBAAe,EAAE,CAAC;AAClBroD,cAAI,EAAE,mDADY;AAElBimB,cAAI,EAAE,CAAC,4BAAD;AAFY,SAAD,CA1BP;AA6BVwnC,0BAAkB,EAAE,CAAC;AACrBztD,cAAI,EAAE,mDADe;AAErBimB,cAAI,EAAE,CAAC,+BAAD;AAFe,SAAD,CA7BV;AAgCVmqC,mBAAW,EAAE,CAAC;AACdpwD,cAAI,EAAE,mDADQ;AAEdimB,cAAI,EAAE,CAAC,wBAAD;AAFQ,SAAD,CAhCH;AAmCVskC,gBAAQ,EAAE,CAAC;AACXvqD,cAAI,EAAE,mDADK;AAEXimB,cAAI,EAAE,CAAC,qBAAD;AAFK,SAAD,CAnCA;AAsCVne,YAAI,EAAE,CAAC;AACP9H,cAAI,EAAE,mDADC;AAEPimB,cAAI,EAAE,CAAC,iBAAD;AAFC,SAAD,CAtCI;AAyCVynC,sBAAc,EAAE,CAAC;AACjB1tD,cAAI,EAAE,mDADW;AAEjBimB,cAAI,EAAE,CAAC,2BAAD;AAFW,SAAD;AAzCN,OAhC4C,CAAnD;AA4EC,KA5EhB;AA8EA;;;;;;;;AAOA;;;;;;;AAKA,QAAMkxC,eAAe,GAAG,IAAI,4DAAJ,CAAmB,eAAnB,CAAxB;AACA;;QACMC,a;;;AACF,6BAAYtxD,OAAZ,EAAqBuxD,UAArB,EAAiC;AAAA;;AAC7B,aAAKvxD,OAAL,GAAeA,OAAf;AACA;;AACA,aAAKiuC,aAAL,GAAqB,IAAI,4CAAJ,EAArB;AACA,aAAKiB,SAAL,GAAiB,KAAjB;;AACA,YAAI,OAAO1oC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CuoD,2BAAiB,CAAC/uD,OAAO,CAACijC,aAAT,EAAwB,eAAxB,CAAjB;AACH;;AACD,aAAKuuB,WAAL,GAAmBD,UAAnB;AACH;AACD;;;;;aACA,eAAe;AAAE,iBAAO,KAAKriB,SAAZ;AAAwB,S;aACzC,aAAa7sC,KAAb,EAAoB;AAChB,eAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;;AACA,eAAK4rC,aAAL,CAAmBpjC,IAAnB,CAAwB,IAAxB;AACH;;;eACD,uBAAc;AACV,eAAKojC,aAAL,CAAmBzD,QAAnB;AACH;;;;;;AAEL8mB,iBAAa,CAACprD,IAAd,GAAqB,SAASurD,qBAAT,CAA+BrrD,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIkrD,aAAV,EAAyB,gEAAyB,wDAAzB,CAAzB,EAAsE,gEAAyB5C,eAAzB,EAA0C,EAA1C,CAAtE,CAAP;AAA8H,KAAvL;;AACA4C,iBAAa,CAACztB,IAAd,GAAqB,gEAAyB;AAAE3pC,UAAI,EAAEo3D,aAAR;AAAuBxtB,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAlC;AAA+DqtB,eAAS,EAAE,CAAC,CAAD,EAAI,iBAAJ,CAA1E;AAAkGptB,YAAM,EAAE;AAAEriC,gBAAQ,EAAE,CAAC,uBAAD,EAA0B,UAA1B;AAAZ,OAA1G;AAA+JuiC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAEgjB,eAAX;AAA4B/iB,mBAAW,EAAEgjB;AAAzC,OAAD,CAA1B,CAAD;AAAzK,KAAzB,CAArB;;AACAA,iBAAa,CAACz3B,cAAd,GAA+B;AAAA,aAAM,CACjC;AAAE3/B,YAAI,EAAE;AAAR,OADiC,EAEjC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACuuC,eAAD;AAAtB,SAAD,EAA6C;AAAEx0D,cAAI,EAAE;AAAR,SAA7C,EAAiE;AAAEA,cAAI,EAAE;AAAR,SAAjE;AAA/B,OAFiC,CAAN;AAAA,KAA/B;;AAIAo3D,iBAAa,CAACptB,cAAd,GAA+B;AAC3BxiC,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,uBAAD;AAArB,OAAD;AADiB,KAA/B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB8qD,aAAzB,EAAwC,CAAC;AACnGp3D,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,iBADX;AAECy1C,cAAI,EAAE;AACF,qBAAS;AADP,WAFP;AAKCxC,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEgjB,eAAX;AAA4B/iB,uBAAW,EAAEgjB;AAAzC,WAAD;AALZ,SAAD;AAF6F,OAAD,CAAxC,EAS1D,YAAY;AAAE,eAAO,CAAC;AAAEp3D,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC3E5/B,gBAAI,EAAE,oDADqE;AAE3EimB,gBAAI,EAAE,CAACuuC,eAAD;AAFqE,WAAD,EAG3E;AACCx0D,gBAAI,EAAE;AADP,WAH2E,EAK3E;AACCA,gBAAI,EAAE;AADP,WAL2E;AAA/B,SAA9B,CAAP;AAOF,OAhB8C,EAgB5C;AAAEwH,gBAAQ,EAAE,CAAC;AACvBxH,cAAI,EAAE,mDADiB;AAEvBimB,cAAI,EAAE,CAAC,uBAAD;AAFiB,SAAD;AAAZ,OAhB4C,CAAnD;AAmBC,KAnBhB;AAqBA;;;;;;;;AAOA;;;;;;;AAKA,QAAMuxC,oBAAoB,GAAG,IAAI,4DAAJ,CAAmB,oBAAnB,CAA7B;AACA;;;;;QAIMC,kB,GACF,4BAAYtf,WAAZ,EAAyB;AAAA;;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH,K;;AAELsf,sBAAkB,CAACzrD,IAAnB,GAA0B,SAAS0rD,0BAAT,CAAoCxrD,CAApC,EAAuC;AAAE,aAAO,KAAKA,CAAC,IAAIurD,kBAAV,EAA8B,gEAAyB,yDAAzB,CAA9B,CAAP;AAAqF,KAAxJ;;AACAA,sBAAkB,CAAC9tB,IAAnB,GAA0B,gEAAyB;AAAE3pC,UAAI,EAAEy3D,kBAAR;AAA4B7tB,eAAS,EAAE,CAAC,CAAC,aAAD,EAAgB,oBAAhB,EAAsC,EAAtC,CAAD,CAAvC;AAAoFC,YAAM,EAAE;AAAE/hC,YAAI,EAAE;AAAR,OAA5F;AAA8GiiC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAEqjB,oBAAX;AAAiCpjB,mBAAW,EAAEqjB;AAA9C,OAAD,CAA1B,CAAD;AAAxH,KAAzB,CAA1B;;AACAA,sBAAkB,CAAC93B,cAAnB,GAAoC;AAAA,aAAM,CACtC;AAAE3/B,YAAI,EAAE;AAAR,OADsC,CAAN;AAAA,KAApC;;AAGAy3D,sBAAkB,CAACztB,cAAnB,GAAoC;AAChCliC,UAAI,EAAE,CAAC;AAAE9H,YAAI,EAAE;AAAR,OAAD;AAD0B,KAApC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBmrD,kBAAzB,EAA6C,CAAC;AACxGz3D,YAAI,EAAE,uDADkG;AAExGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,iCADX;AAECizC,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEqjB,oBAAX;AAAiCpjB,uBAAW,EAAEqjB;AAA9C,WAAD;AAFZ,SAAD;AAFkG,OAAD,CAA7C,EAM1D,YAAY;AAAE,eAAO,CAAC;AAAEz3D,cAAI,EAAE;AAAR,SAAD,CAAP;AAAwC,OANI,EAMF;AAAE8H,YAAI,EAAE,CAAC;AAC7D9H,cAAI,EAAE;AADuD,SAAD;AAAR,OANE,CAAnD;AAQC,KARhB;AAUA;;;;;;;;AAOA;;;;;;;AAKA,QAAM23D,gBAAgB,GAAG,IAAI,4DAAJ,CAAmB,gBAAnB,CAAzB;AACA;;;;;QAIMC,c;;;AACF,8BAAYzf,WAAZ,EAAyB;AAAA;;AACrB,aAAKA,WAAL,GAAmBA,WAAnB;AACA,aAAK0f,UAAL,GAAkB,KAAlB;AACH;AACD;;;;;aACA,eAAgB;AAAE,iBAAO,KAAKA,UAAZ;AAAyB,S;aAC3C,aAAc1vD,KAAd,EAAqB;AAAE,eAAK0vD,UAAL,GAAkB,oFAAsB1vD,KAAtB,CAAlB;AAAiD;;;;;;AAE5EyvD,kBAAc,CAAC5rD,IAAf,GAAsB,SAAS8rD,sBAAT,CAAgC5rD,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI0rD,cAAV,EAA0B,gEAAyB,yDAAzB,CAA1B,CAAP;AAAiF,KAA5I;;AACAA,kBAAc,CAACjuB,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAE43D,cAAR;AAAwBhuB,eAAS,EAAE,CAAC,CAAC,aAAD,EAAgB,gBAAhB,EAAkC,EAAlC,CAAD,CAAnC;AAA4EC,YAAM,EAAE;AAAE0d,iBAAS,EAAE,WAAb;AAA0Bz/C,YAAI,EAAE;AAAhC,OAApF;AAA8HiiC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAEwjB,gBAAX;AAA6BvjB,mBAAW,EAAEwjB;AAA1C,OAAD,CAA1B,CAAD;AAAxI,KAAzB,CAAtB;;AACAA,kBAAc,CAACj4B,cAAf,GAAgC;AAAA,aAAM,CAClC;AAAE3/B,YAAI,EAAE;AAAR,OADkC,CAAN;AAAA,KAAhC;;AAGA43D,kBAAc,CAAC5tB,cAAf,GAAgC;AAC5BliC,UAAI,EAAE,CAAC;AAAE9H,YAAI,EAAE;AAAR,OAAD,CADsB;AAE5BunD,eAAS,EAAE,CAAC;AAAEvnD,YAAI,EAAE;AAAR,OAAD;AAFiB,KAAhC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBsrD,cAAzB,EAAyC,CAAC;AACpG53D,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,6BADX;AAECizC,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEwjB,gBAAX;AAA6BvjB,uBAAW,EAAEwjB;AAA1C,WAAD;AAFZ,SAAD;AAF8F,OAAD,CAAzC,EAM1D,YAAY;AAAE,eAAO,CAAC;AAAE53D,cAAI,EAAE;AAAR,SAAD,CAAP;AAAwC,OANI,EAMF;AAAEunD,iBAAS,EAAE,CAAC;AAClEvnD,cAAI,EAAE;AAD4D,SAAD,CAAb;AAEpD8H,YAAI,EAAE,CAAC;AACP9H,cAAI,EAAE;AADC,SAAD;AAF8C,OANE,CAAnD;AAUC,KAVhB;AAYA;;;;;;;;;AAOA,QAAM+3D,eAAe,GAAG,UAAxB;AACA;;QACMC,O;;;AACF;AACA;AACAlyD,aAFA;AAGA;AACA4/C,mBAJA;AAKA;;;;AAIA/nB,eATA,EASW0I,OATX,EASoB4xB,iBATpB,EASuCjzB,MATvC,EAS+CoR,IAT/C,EASqD6e,QATrD,EAS+DxgB,kBAT/D,EASmFyjB,WATnF,EASgGZ,WAThG,EAS6G;AAAA;;AAAA;;AACzG,aAAKxxD,OAAL,GAAeA,OAAf;AACA,aAAK4/C,aAAL,GAAqBA,aAArB;AACA,aAAKrf,OAAL,GAAeA,OAAf;AACA,aAAK4xB,iBAAL,GAAyBA,iBAAzB;AACA,aAAK7hB,IAAL,GAAYA,IAAZ;AACA,aAAK3B,kBAAL,GAA0BA,kBAA1B;AACA,aAAKyjB,WAAL,GAAmBA,WAAnB;AACA,aAAKZ,WAAL,GAAmBA,WAAnB;AACA,aAAKp1D,UAAL,GAAkB,IAAI,4CAAJ,EAAlB;AACA;;AACA,aAAKo+C,OAAL,GAAe,IAAI,0DAAJ,EAAf;AACA;;AACA,aAAKC,QAAL,GAAgB,IAAI,0DAAJ,EAAhB;AACA;;AACA,aAAKC,KAAL,GAAa,IAAI,0DAAJ,EAAb;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,0DAAJ,EAAf;AACA;;AACA,aAAKC,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;AACA,aAAKC,OAAL,GAAe,IAAI,0DAAJ,EAAf;AACA;;;;;AAIA,aAAKC,KAAL,GAAa,IAAI,+CAAJ,CAAe,UAACuX,QAAD,EAAc;AACtC,cAAMC,YAAY,GAAG,QAAI,CAACvC,QAAL,CAAcjV,KAAd,CAAoBlf,IAApB,CAAyB,2DAAI,UAAA22B,UAAU;AAAA,mBAAK;AAC7DppB,oBAAM,EAAE,QADqD;AAE7DkS,6BAAe,EAAEkX,UAAU,CAAClX,eAFiC;AAG7D/5C,mBAAK,EAAEixD,UAAU,CAACjxD,KAH2C;AAI7D87B,mBAAK,EAAEm1B,UAAU,CAACn1B,KAJ2C;AAK7D+f,sBAAQ,EAAEoV,UAAU,CAACpV;AALwC,aAAL;AAAA,WAAd,CAAzB,EAMhBpiB,SANgB,CAMNs3B,QANM,CAArB;;AAOA,iBAAO,YAAM;AACTC,wBAAY,CAAC32B,WAAb;AACH,WAFD;AAGH,SAXY,CAAb;AAYA,aAAKo0B,QAAL,GAAgBZ,QAAQ,CAACqD,UAAT,CAAoBxyD,OAApB,EAA6B;AACzC47C,4BAAkB,EAAE1c,MAAM,IAAIA,MAAM,CAAC0c,kBAAP,IAA6B,IAAvC,GAChB1c,MAAM,CAAC0c,kBADS,GACY,CAFS;AAGzC4J,yCAA+B,EAAEtmB,MAAM,IAAIA,MAAM,CAACsmB,+BAAP,IAA0C,IAApD,GAC7BtmB,MAAM,CAACsmB,+BADsB,GACY,CAJJ;AAKzCnC,gBAAM,EAAEnkB,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACmkB;AALtB,SAA7B,CAAhB;AAOA,aAAK0M,QAAL,CAAc/tD,IAAd,GAAqB,IAArB,CA7CyG,CA8CzG;AACA;AACA;;AACAkwD,eAAO,CAACpE,cAAR,CAAuBnxD,IAAvB,CAA4B,IAA5B;;AACA,YAAIuiC,MAAJ,EAAY;AACR,eAAKuwB,eAAL,CAAqBvwB,MAArB;AACH,SApDwG,CAqDzG;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,YAAI0gB,aAAJ,EAAmB;AACf,eAAKmQ,QAAL,CAAc7F,kBAAd,CAAiCtK,aAAa,CAAC2P,YAA/C;;AACA3P,uBAAa,CAAC6S,OAAd,CAAsB,IAAtB;AACH;;AACD,aAAKC,WAAL,CAAiB,KAAK3C,QAAtB;;AACA,aAAKJ,aAAL,CAAmB,KAAKI,QAAxB;AACH;AACD;;;;;aACA,eAAe;AACX,iBAAO,KAAK7gB,SAAL,IAAmB,KAAK0Q,aAAL,IAAsB,KAAKA,aAAL,CAAmBl+C,QAAnE;AACH,S;aACD,aAAaW,KAAb,EAAoB;AAChB,eAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;AACA,eAAK0tD,QAAL,CAAcruD,QAAd,GAAyB,KAAKwtC,SAA9B;AACH;AACD;;;;;;;eAIA,iCAAwB;AACpB,iBAAO,KAAK6gB,QAAL,CAAcjS,qBAAd,EAAP;AACH;AACD;;;;eACA,0BAAiB;AACb,iBAAO,KAAKiS,QAAL,CAAchS,cAAd,EAAP;AACH;AACD;;;;eACA,iBAAQ;AACJ,eAAKgS,QAAL,CAAcrxD,KAAd;AACH;AACD;;;;;;eAGA,+BAAsB;AAClB,iBAAO,KAAKqxD,QAAL,CAAc4C,mBAAd,EAAP;AACH;;;eACD,2BAAkB;AAAA;;AACd;AACA;AACA;AACA;AACA,eAAKpyB,OAAL,CAAaiC,QAAb,CACK5G,IADL,CACU,4DAAK,CAAL,CADV,EACmB,iEAAU,KAAKx/B,UAAf,CADnB,EAEK2+B,SAFL,CAEe,YAAM;AACjB,oBAAI,CAAC63B,kBAAL,GADiB,CAEjB;;;AACA,oBAAI,CAACzY,QAAL,CAAcrf,OAAd,CAAsBc,IAAtB,CAA2B,iEAAU,QAAI,CAACue,QAAf,CAA3B,EACA;AACA,uEAAI,UAAC6D,OAAD,EAAa;AACb,kBAAM6U,mBAAmB,GAAG7U,OAAO,CAC9BhpC,MADuB,CAChB,UAAAimC,MAAM;AAAA,uBAAIA,MAAM,CAACuW,WAAP,KAAuB,QAA3B;AAAA,eADU,EAEvBtvD,GAFuB,CAEnB,UAAA+4C,MAAM;AAAA,uBAAIA,MAAM,CAACj7C,OAAX;AAAA,eAFa,CAA5B,CADa,CAIb;AACA;AACA;;AACA,kBAAI,QAAI,CAACoyD,WAAL,IAAoB,QAAI,CAACU,mBAA7B,EAAkD;AAC9CD,mCAAmB,CAACl2D,IAApB,CAAyB,QAAI,CAACqD,OAA9B;AACH;;AACD,sBAAI,CAAC+vD,QAAL,CAAcgD,WAAd,CAA0BF,mBAA1B;AACH,aAXD,CAFA,EAcA;AACA,6EAAU,UAAC7U,OAAD,EAAa;AACnB,qBAAO,oFAASA,OAAO,CAAC97C,GAAR,CAAY,UAAAgH,IAAI,EAAI;AAChC,uBAAOA,IAAI,CAAC+kC,aAAL,CAAmBrS,IAAnB,CAAwB,iEAAU1yB,IAAV,CAAxB,CAAP;AACH,eAFe,CAAT,EAAP;AAGH,aAJD,CAfA,EAmBI,iEAAU,QAAI,CAAC9M,UAAf,CAnBJ,EAmBgC2+B,SAnBhC,CAmB0C,UAAAi4B,cAAc,EAAI;AACxD;AACA,kBAAMC,OAAO,GAAG,QAAI,CAAClD,QAArB;AACA,kBAAM9U,MAAM,GAAG+X,cAAc,CAAChzD,OAAf,CAAuBijC,aAAtC;AACA+vB,4BAAc,CAACtxD,QAAf,GAA0BuxD,OAAO,CAACC,aAAR,CAAsBjY,MAAtB,CAA1B,GAA0DgY,OAAO,CAACE,YAAR,CAAqBlY,MAArB,CAA1D;AACH,aAxBD;;AAyBA,gBAAI,QAAI,CAACmY,gBAAT,EAA2B;AACvB,sBAAI,CAACrD,QAAL,CAAc/J,mBAAd,CAAkC,QAAI,CAACoN,gBAAvC;AACH;AACJ,WAjCD;AAkCH;;;eACD,qBAAYt4B,OAAZ,EAAqB;AACjB,cAAMu4B,kBAAkB,GAAGv4B,OAAO,CAAC,qBAAD,CAAlC;AACA,cAAMw4B,cAAc,GAAGx4B,OAAO,CAAC,kBAAD,CAA9B,CAFiB,CAGjB;AACA;;AACA,cAAIu4B,kBAAkB,IAAI,CAACA,kBAAkB,CAAC9vB,WAA9C,EAA2D;AACvD,iBAAKqvB,kBAAL;AACH,WAPgB,CAQjB;;;AACA,cAAIU,cAAc,IAAI,CAACA,cAAc,CAAC/vB,WAAlC,IAAiD,KAAK6vB,gBAA1D,EAA4E;AACxE,iBAAKrD,QAAL,CAAc/J,mBAAd,CAAkC,KAAKoN,gBAAvC;AACH;AACJ;;;eACD,uBAAc;AACV,cAAI,KAAKxT,aAAT,EAAwB;AACpB,iBAAKA,aAAL,CAAmB2T,UAAnB,CAA8B,IAA9B;AACH;;AACD,cAAMtzC,KAAK,GAAGiyC,OAAO,CAACpE,cAAR,CAAuBlrD,OAAvB,CAA+B,IAA/B,CAAd;;AACA,cAAIqd,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZiyC,mBAAO,CAACpE,cAAR,CAAuBzlD,MAAvB,CAA8B4X,KAA9B,EAAqC,CAArC;AACH;;AACD,eAAK7jB,UAAL,CAAgByO,IAAhB;;AACA,eAAKzO,UAAL,CAAgBouC,QAAhB;;AACA,eAAKulB,QAAL,CAAcG,OAAd;AACH;AACD;;;;eACA,8BAAqB;AACjB,cAAMlwD,OAAO,GAAG,KAAKA,OAAL,CAAaijC,aAA7B;AACA,cAAM5uB,WAAW,GAAG,KAAKy+C,mBAAL,GAChBU,0BAA0B,CAACxzD,OAAD,EAAU,KAAK8yD,mBAAf,CADV,GACgD9yD,OADpE;;AAEA,cAAIqU,WAAW,KAAK,OAAO7N,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAf,EAAoE;AAChEuoD,6BAAiB,CAAC16C,WAAD,EAAc,SAAd,CAAjB;AACH;;AACD,eAAK07C,QAAL,CAAcxS,eAAd,CAA8BlpC,WAAW,IAAIrU,OAA7C;AACH;AACD;;;;eACA,+BAAsB;AAClB,cAAMyzD,QAAQ,GAAG,KAAKhV,eAAtB;;AACA,cAAI,CAACgV,QAAL,EAAe;AACX,mBAAO,IAAP;AACH;;AACD,cAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,mBAAOD,0BAA0B,CAAC,KAAKxzD,OAAL,CAAaijC,aAAd,EAA6BwwB,QAA7B,CAAjC;AACH;;AACD,cAAMzzD,OAAO,GAAG,4EAAcyzD,QAAd,CAAhB;;AACA,cAAI,CAAC,OAAOjtD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA,CAACxG,OAAO,CAAC4D,QAAR,CAAiB,KAAK5D,OAAL,CAAaijC,aAA9B,CADL,EACmD;AAC/C,kBAAM/hC,KAAK,CAAC,0EAAD,CAAX;AACH;;AACD,iBAAOlB,OAAP;AACH;AACD;;;;eACA,qBAAYmwD,GAAZ,EAAiB;AAAA;;AACbA,aAAG,CAAC5V,aAAJ,CAAkBxf,SAAlB,CAA4B,YAAM;AAC9B,gBAAI,CAACo1B,GAAG,CAAChU,UAAJ,EAAL,EAAuB;AACnB,kBAAMlM,GAAG,GAAG,QAAI,CAACK,IAAjB;AACA,kBAAMgK,cAAc,GAAG,QAAI,CAACA,cAA5B;AACA,kBAAMyF,WAAW,GAAG,QAAI,CAAC3B,oBAAL,GAA4B;AAC5CF,wBAAQ,EAAE,QAAI,CAACE,oBAAL,CAA0B/L,WADQ;AAE5CxmC,uBAAO,EAAE,QAAI,CAACuyC,oBAAL,CAA0Bp8C,IAFS;AAG5C+gD,6BAAa,EAAE,QAAI,CAACoP;AAHwB,eAA5B,GAIhB,IAJJ;AAKA,kBAAMtS,OAAO,GAAG,QAAI,CAAC1B,gBAAL,GAAwB;AACpCD,wBAAQ,EAAE,QAAI,CAACC,gBAAL,CAAsB9L,WADI;AAEpCxmC,uBAAO,EAAE,QAAI,CAACsyC,gBAAL,CAAsBn8C,IAFK;AAGpCy/C,yBAAS,EAAE,QAAI,CAACtD,gBAAL,CAAsBsD,SAHG;AAIpCsB,6BAAa,EAAE,QAAI,CAACoP;AAJgB,eAAxB,GAKZ,IALJ;AAMAhC,iBAAG,CAACzuD,QAAJ,GAAe,QAAI,CAACA,QAApB;AACAyuD,iBAAG,CAAC1L,QAAJ,GAAe,QAAI,CAACA,QAApB;AACA0L,iBAAG,CAAC7V,cAAJ,GAAsB,OAAOA,cAAP,KAA0B,QAA1B,IAAsCA,cAAvC,GACjBA,cADiB,GACA,mFAAqBA,cAArB,CADrB;AAEA6V,iBAAG,CAACzL,iBAAJ,GAAwB,QAAI,CAACA,iBAA7B;AACAyL,iBAAG,CAACvN,YAAJ,GAAmB,QAAI,CAACA,YAAxB;AACAuN,iBAAG,CACEuD,mBADL,CACyB,QAAI,CAACC,mBAAL,EADzB,EAEKC,uBAFL,CAE6B7T,WAF7B,EAGK8T,mBAHL,CAGyBhU,OAHzB;;AAIA,kBAAI5P,GAAJ,EAAS;AACLkgB,mBAAG,CAACC,aAAJ,CAAkBngB,GAAG,CAAC5tC,KAAtB;AACH;AACJ;AACJ,WA7BD,EADa,CA+Bb;;AACA8tD,aAAG,CAAC5V,aAAJ,CAAkB3e,IAAlB,CAAuB,4DAAK,CAAL,CAAvB,EAAgCb,SAAhC,CAA0C,YAAM;AAC5C,gBAAIuE,EAAJ,EAAQkE,EAAR,CAD4C,CAE5C;;;AACA,gBAAI,QAAI,CAACguB,WAAT,EAAsB;AAClBrB,iBAAG,CAAC3S,UAAJ,CAAe,QAAI,CAACgU,WAAL,CAAiBzB,QAAhC;AACA;AACH,aAN2C,CAO5C;AACA;;;AACA,gBAAIprC,MAAM,GAAG,QAAI,CAAC3kB,OAAL,CAAaijC,aAAb,CAA2B4G,aAAxC;;AACA,mBAAOllB,MAAP,EAAe;AACX;AACA,kBAAI,CAAC2a,EAAE,GAAG3a,MAAM,CAACwJ,SAAb,MAA4B,IAA5B,IAAoCmR,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAC17B,QAAH,CAAYquD,eAAZ,CAAjE,EAA+F;AAC3F9B,mBAAG,CAAC3S,UAAJ,CAAe,CAAC,CAACha,EAAE,GAAG0uB,OAAO,CAACpE,cAAR,CAAuBj7C,IAAvB,CAA4B,UAAAs1C,IAAI,EAAI;AACtD,yBAAOA,IAAI,CAACnoD,OAAL,CAAaijC,aAAb,KAA+Bte,MAAtC;AACH,iBAFqB,CAAN,MAER,IAFQ,IAEA6e,EAAE,KAAK,KAAK,CAFZ,GAEgB,KAAK,CAFrB,GAEyBA,EAAE,CAACusB,QAF7B,KAE0C,IAFzD;AAGA;AACH;;AACDprC,oBAAM,GAAGA,MAAM,CAACklB,aAAhB;AACH;AACJ,WApBD;AAqBH;AACD;;;;eACA,uBAAcsmB,GAAd,EAAmB;AAAA;;AACfA,aAAG,CAAC3V,OAAJ,CAAYzf,SAAZ,CAAsB,YAAM;AACxB,oBAAI,CAACyf,OAAL,CAAanO,IAAb,CAAkB;AAAElD,oBAAM,EAAE;AAAV,aAAlB,EADwB,CAExB;AACA;;;AACA,oBAAI,CAACwF,kBAAL,CAAwBa,YAAxB;AACH,WALD;AAMA2gB,aAAG,CAAC1V,QAAJ,CAAa1f,SAAb,CAAuB,YAAM;AACzB,oBAAI,CAAC0f,QAAL,CAAcpO,IAAd,CAAmB;AAAElD,oBAAM,EAAE;AAAV,aAAnB;AACH,WAFD;AAGAgnB,aAAG,CAACzV,KAAJ,CAAU3f,SAAV,CAAoB,UAAAz5B,KAAK,EAAI;AACzB,oBAAI,CAACo5C,KAAL,CAAWrO,IAAX,CAAgB;AAAElD,oBAAM,EAAE,QAAV;AAAgBgU,sBAAQ,EAAE77C,KAAK,CAAC67C;AAAhC,aAAhB,EADyB,CAEzB;AACA;;;AACA,oBAAI,CAACxO,kBAAL,CAAwBa,YAAxB;AACH,WALD;AAMA2gB,aAAG,CAACxV,OAAJ,CAAY5f,SAAZ,CAAsB,UAAAz5B,KAAK,EAAI;AAC3B,oBAAI,CAACq5C,OAAL,CAAatO,IAAb,CAAkB;AACd2P,uBAAS,EAAE16C,KAAK,CAAC06C,SAAN,CAAgBh6C,IADb;AAEdkH,kBAAI,EAAE,QAFQ;AAGd6oC,0BAAY,EAAEzwC,KAAK,CAACywC;AAHN,aAAlB;AAKH,WAND;AAOAoe,aAAG,CAACvV,MAAJ,CAAW7f,SAAX,CAAqB,UAAAz5B,KAAK,EAAI;AAC1B,oBAAI,CAACs5C,MAAL,CAAYvO,IAAZ,CAAiB;AACb2P,uBAAS,EAAE16C,KAAK,CAAC06C,SAAN,CAAgBh6C,IADd;AAEbkH,kBAAI,EAAE;AAFO,aAAjB;AAIH,WALD;AAMAinD,aAAG,CAACtV,OAAJ,CAAY9f,SAAZ,CAAsB,UAAAz5B,KAAK,EAAI;AAC3B,oBAAI,CAACu5C,OAAL,CAAaxO,IAAb,CAAkB;AACd6F,2BAAa,EAAE5wC,KAAK,CAAC4wC,aADP;AAEdH,0BAAY,EAAEzwC,KAAK,CAACywC,YAFN;AAGdgQ,+BAAiB,EAAEzgD,KAAK,CAACygD,iBAAN,CAAwB//C,IAH7B;AAIdg6C,uBAAS,EAAE16C,KAAK,CAAC06C,SAAN,CAAgBh6C,IAJb;AAKd6/C,oCAAsB,EAAEvgD,KAAK,CAACugD,sBALhB;AAMd34C,kBAAI,EAAE,QANQ;AAOdi0C,sBAAQ,EAAE77C,KAAK,CAAC67C;AAPF,aAAlB;AASH,WAVD;AAWH;AACD;;;;eACA,yBAAgBje,MAAhB,EAAwB;AACpB,cAAQulB,QAAR,GAA8HvlB,MAA9H,CAAQulB,QAAR;AAAA,cAAkBnK,cAAlB,GAA8Hpb,MAA9H,CAAkBob,cAAlB;AAAA,cAAkCoK,iBAAlC,GAA8HxlB,MAA9H,CAAkCwlB,iBAAlC;AAAA,cAAqD9B,YAArD,GAA8H1jB,MAA9H,CAAqD0jB,YAArD;AAAA,cAAmEnE,eAAnE,GAA8Hvf,MAA9H,CAAmEuf,eAAnE;AAAA,cAAoFoS,gBAApF,GAA8H3xB,MAA9H,CAAoF2xB,gBAApF;AAAA,cAAsGiC,mBAAtG,GAA8H5zB,MAA9H,CAAsG4zB,mBAAtG;AACA,eAAKpxD,QAAL,GAAgBmvD,gBAAgB,IAAI,IAApB,GAA2B,KAA3B,GAAmCA,gBAAnD;AACA,eAAKvW,cAAL,GAAsBA,cAAc,IAAI,CAAxC;;AACA,cAAImK,QAAJ,EAAc;AACV,iBAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACD,cAAIC,iBAAJ,EAAuB;AACnB,iBAAKA,iBAAL,GAAyBA,iBAAzB;AACH;;AACD,cAAI9B,YAAJ,EAAkB;AACd,iBAAKA,YAAL,GAAoBA,YAApB;AACH;;AACD,cAAInE,eAAJ,EAAqB;AACjB,iBAAKA,eAAL,GAAuBA,eAAvB;AACH;;AACD,cAAIqU,mBAAJ,EAAyB;AACrB,iBAAKA,mBAAL,GAA2BA,mBAA3B;AACH;AACJ;;;;;;AAELZ,WAAO,CAAChsD,IAAR,GAAe,SAAS4tD,eAAT,CAAyB1tD,CAAzB,EAA4B;AAAE,aAAO,KAAKA,CAAC,IAAI8rD,OAAV,EAAmB,gEAAyB,wDAAzB,CAAnB,EAAgE,gEAAyBjD,aAAzB,EAAwC,EAAxC,CAAhE,EAA6G,gEAAyB,wDAAzB,CAA7G,EAAiJ,gEAAyB,oDAAzB,CAAjJ,EAA0L,gEAAyB,8DAAzB,CAA1L,EAA6O,gEAAyBH,eAAzB,EAA0C,CAA1C,CAA7O,EAA2R,gEAAyB,gEAAzB,EAAgD,CAAhD,CAA3R,EAA+U,gEAAyBN,QAAzB,CAA/U,EAAmX,gEAAyB,+DAAzB,CAAnX,EAAua,gEAAyB6C,eAAzB,EAA0C,EAA1C,CAAva,EAAsd,gEAAyB3C,eAAzB,EAA0C,EAA1C,CAAtd,CAAP;AAA8gB,KAA3jB;;AACAwD,WAAO,CAACruB,IAAR,GAAe,gEAAyB;AAAE3pC,UAAI,EAAEg4D,OAAR;AAAiBpuB,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAAD,CAA5B;AAAmDiwB,oBAAc,EAAE,SAASC,sBAAT,CAAgCljB,EAAhC,EAAoC76B,GAApC,EAAyCg+C,QAAzC,EAAmD;AAAE,YAAInjB,EAAE,GAAG,CAAT,EAAY;AACpK,uEAAsBmjB,QAAtB,EAAgCpC,gBAAhC,EAAkD,CAAlD;;AACA,uEAAsBoC,QAAtB,EAAgCvC,oBAAhC,EAAsD,CAAtD;;AACA,uEAAsBuC,QAAtB,EAAgC5C,eAAhC,EAAiD,CAAjD;AACH;;AAAC,YAAIvgB,EAAE,GAAG,CAAT,EAAY;AACV,cAAIojB,EAAJ;;AACA,uEAAsBA,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAACkoC,gBAAJ,GAAuB+V,EAAE,CAACC,KAA/E;AACA,uEAAsBD,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAACmoC,oBAAJ,GAA2B8V,EAAE,CAACC,KAAnF;AACA,uEAAsBD,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAACkkC,QAAJ,GAAe+Z,EAApE;AACH;AAAE,OATiC;AAS/B/C,eAAS,EAAE,CAAC,CAAD,EAAI,UAAJ,CAToB;AASHxgB,cAAQ,EAAE,CATP;AASUC,kBAAY,EAAE,SAASwjB,oBAAT,CAA8BtjB,EAA9B,EAAkC76B,GAAlC,EAAuC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC7G,oEAAmB,mBAAnB,EAAwC76B,GAAG,CAACvU,QAA5C,EAAsD,mBAAtD,EAA2EuU,GAAG,CAAC85C,QAAJ,CAAa5T,UAAb,EAA3E;AACH;AAAE,OAXiC;AAW/BpY,YAAM,EAAE;AAAEriC,gBAAQ,EAAE,CAAC,iBAAD,EAAoB,UAApB,CAAZ;AAA6C44C,sBAAc,EAAE,CAAC,mBAAD,EAAsB,gBAAtB,CAA7D;AAAsGmK,gBAAQ,EAAE,CAAC,iBAAD,EAAoB,UAApB,CAAhH;AAAiJC,yBAAiB,EAAE,CAAC,0BAAD,EAA6B,mBAA7B,CAApK;AAAuN9B,oBAAY,EAAE,CAAC,qBAAD,EAAwB,cAAxB,CAArO;AAA8QnE,uBAAe,EAAE,CAAC,iBAAD,EAAoB,iBAApB,CAA/R;AAAuUqU,2BAAmB,EAAE,CAAC,oBAAD,EAAuB,qBAAvB,CAA5V;AAA2Y9wD,YAAI,EAAE,CAAC,aAAD,EAAgB,MAAhB,CAAjZ;AAA0aoxD,wBAAgB,EAAE,CAAC,yBAAD,EAA4B,kBAA5B;AAA5b,OAXuB;AAWwd7mB,aAAO,EAAE;AAAEiO,eAAO,EAAE,gBAAX;AAA6BC,gBAAQ,EAAE,iBAAvC;AAA0DC,aAAK,EAAE,cAAjE;AAAiFC,eAAO,EAAE,gBAA1F;AAA4GC,cAAM,EAAE,eAApH;AAAqIC,eAAO,EAAE,gBAA9I;AAAgKC,aAAK,EAAE;AAAvK,OAXje;AAW0pB9W,cAAQ,EAAE,CAAC,SAAD,CAXpqB;AAWirBC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAEqgB,eAAX;AAA4BpgB,mBAAW,EAAE4jB;AAAzC,OAAD,CAA1B,CAAD,EAAkF,kEAAlF;AAX3rB,KAAzB,CAAf;AAYAA,WAAO,CAACpE,cAAR,GAAyB,EAAzB;;AACAoE,WAAO,CAACr4B,cAAR,GAAyB;AAAA,aAAM,CAC3B;AAAE3/B,YAAI,EAAE;AAAR,OAD2B,EAE3B;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8uC,aAAD;AAAtB,SAAD,EAA2C;AAAE/0D,cAAI,EAAE;AAAR,SAA3C,EAA+D;AAAEA,cAAI,EAAE;AAAR,SAA/D;AAA/B,OAF2B,EAG3B;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAH2B,EAI3B;AAAEjmB,YAAI,EAAE;AAAR,OAJ2B,EAK3B;AAAEA,YAAI,EAAE;AAAR,OAL2B,EAM3B;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC2uC,eAAD;AAAtB,SAArB;AAA/B,OAN2B,EAO3B;AAAE50D,YAAI,EAAE,gEAAR;AAAwB4/B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD;AAApC,OAP2B,EAQ3B;AAAEA,YAAI,EAAEs0D;AAAR,OAR2B,EAS3B;AAAEt0D,YAAI,EAAE;AAAR,OAT2B,EAU3B;AAAEA,YAAI,EAAEo3D,aAAR;AAAuBx3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACkxC,eAAD;AAAtB,SAArC;AAAnC,OAV2B,EAW3B;AAAEn3D,YAAI,EAAEg4D,OAAR;AAAiBp4B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAyC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACuuC,eAAD;AAAtB,SAAzC;AAA7B,OAX2B,CAAN;AAAA,KAAzB;;AAaAwD,WAAO,CAAChuB,cAAR,GAAyB;AACrBiW,cAAQ,EAAE,CAAC;AAAEjgD,YAAI,EAAE,6DAAR;AAAyBimB,YAAI,EAAE,CAACkxC,eAAD,EAAkB;AAAEgD,qBAAW,EAAE;AAAf,SAAlB;AAA/B,OAAD,CADW;AAErBlW,sBAAgB,EAAE,CAAC;AAAEjkD,YAAI,EAAE,0DAAR;AAAsBimB,YAAI,EAAE,CAAC0xC,gBAAD;AAA5B,OAAD,CAFG;AAGrBzT,0BAAoB,EAAE,CAAC;AAAElkD,YAAI,EAAE,0DAAR;AAAsBimB,YAAI,EAAE,CAACuxC,oBAAD;AAA5B,OAAD,CAHD;AAIrB1vD,UAAI,EAAE,CAAC;AAAE9H,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,aAAD;AAArB,OAAD,CAJe;AAKrBskC,cAAQ,EAAE,CAAC;AAAEvqD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CALW;AAMrB2yC,yBAAmB,EAAE,CAAC;AAAE54D,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,oBAAD;AAArB,OAAD,CANA;AAOrBs+B,qBAAe,EAAE,CAAC;AAAEvkD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CAPI;AAQrBm6B,oBAAc,EAAE,CAAC;AAAEpgD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,mBAAD;AAArB,OAAD,CARK;AASrBizC,sBAAgB,EAAE,CAAC;AAAEl5D,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,yBAAD;AAArB,OAAD,CATG;AAUrBze,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CAVW;AAWrBukC,uBAAiB,EAAE,CAAC;AAAExqD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,0BAAD;AAArB,OAAD,CAXE;AAYrByiC,kBAAY,EAAE,CAAC;AAAE1oD,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,qBAAD;AAArB,OAAD,CAZO;AAarBq6B,aAAO,EAAE,CAAC;AAAEtgD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,gBAAD;AAAtB,OAAD,CAbY;AAcrBs6B,cAAQ,EAAE,CAAC;AAAEvgD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,iBAAD;AAAtB,OAAD,CAdW;AAerBu6B,WAAK,EAAE,CAAC;AAAExgD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,cAAD;AAAtB,OAAD,CAfc;AAgBrBw6B,aAAO,EAAE,CAAC;AAAEzgD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,gBAAD;AAAtB,OAAD,CAhBY;AAiBrBy6B,YAAM,EAAE,CAAC;AAAE1gD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,eAAD;AAAtB,OAAD,CAjBa;AAkBrB06B,aAAO,EAAE,CAAC;AAAE3gD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,gBAAD;AAAtB,OAAD,CAlBY;AAmBrB26B,WAAK,EAAE,CAAC;AAAE5gD,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,cAAD;AAAtB,OAAD;AAnBc,KAAzB;;AAqBA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0rD,OAAzB,EAAkC,CAAC;AAC7Fh4D,YAAI,EAAE,uDADuF;AAE7FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,WADX;AAEC0oC,kBAAQ,EAAE,SAFX;AAGC+M,cAAI,EAAE;AACF,qBAASkhB,eADP;AAEF,yCAA6B,UAF3B;AAGF,yCAA6B;AAH3B,WAHP;AAQC1jB,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEqgB,eAAX;AAA4BpgB,uBAAW,EAAE4jB;AAAzC,WAAD;AARZ,SAAD;AAFuF,OAAD,CAAlC,EAY1D,YAAY;AAAE,eAAO,CAAC;AAAEh4D,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC3E5/B,gBAAI,EAAE,oDADqE;AAE3EimB,gBAAI,EAAE,CAAC8uC,aAAD;AAFqE,WAAD,EAG3E;AACC/0D,gBAAI,EAAE;AADP,WAH2E,EAK3E;AACCA,gBAAI,EAAE;AADP,WAL2E;AAA/B,SAA9B,EAOX;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE,oDAD4B;AAElCimB,gBAAI,EAAE,CAAC,wDAAD;AAF4B,WAAD;AAA/B,SAPW,EAUX;AAAEjmB,cAAI,EAAE;AAAR,SAVW,EAUc;AAAEA,cAAI,EAAE;AAAR,SAVd,EAUiD;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC9F5/B,gBAAI,EAAE;AADwF,WAAD,EAE9F;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC2uC,eAAD;AAFP,WAF8F;AAA/B,SAVjD,EAeX;AAAE50D,cAAI,EAAE,gEAAR;AAA+B4/B,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE;AADwC,WAAD;AAA3C,SAfW,EAiBX;AAAEA,cAAI,EAAEs0D;AAAR,SAjBW,EAiBS;AAAEt0D,cAAI,EAAE;AAAR,SAjBT,EAiB6C;AAAEA,cAAI,EAAEo3D,aAAR;AAAuBx3B,oBAAU,EAAE,CAAC;AAC9F5/B,gBAAI,EAAE;AADwF,WAAD,EAE9F;AACCA,gBAAI,EAAE;AADP,WAF8F,EAI9F;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACkxC,eAAD;AAFP,WAJ8F;AAAnC,SAjB7C,EAwBX;AAAEn3D,cAAI,EAAEg4D,OAAR;AAAiBp4B,oBAAU,EAAE,CAAC;AAChC5/B,gBAAI,EAAE;AAD0B,WAAD,EAEhC;AACCA,gBAAI,EAAE;AADP,WAFgC,EAIhC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACuuC,eAAD;AAFP,WAJgC;AAA7B,SAxBW,CAAP;AA+BF,OA3C8C,EA2C5C;AAAElU,eAAO,EAAE,CAAC;AACtBtgD,cAAI,EAAE,oDADgB;AAEtBimB,cAAI,EAAE,CAAC,gBAAD;AAFgB,SAAD,CAAX;AAGVs6B,gBAAQ,EAAE,CAAC;AACXvgD,cAAI,EAAE,oDADK;AAEXimB,cAAI,EAAE,CAAC,iBAAD;AAFK,SAAD,CAHA;AAMVu6B,aAAK,EAAE,CAAC;AACRxgD,cAAI,EAAE,oDADE;AAERimB,cAAI,EAAE,CAAC,cAAD;AAFE,SAAD,CANG;AASVw6B,eAAO,EAAE,CAAC;AACVzgD,cAAI,EAAE,oDADI;AAEVimB,cAAI,EAAE,CAAC,gBAAD;AAFI,SAAD,CATC;AAYVy6B,cAAM,EAAE,CAAC;AACT1gD,cAAI,EAAE,oDADG;AAETimB,cAAI,EAAE,CAAC,eAAD;AAFG,SAAD,CAZE;AAeV06B,eAAO,EAAE,CAAC;AACV3gD,cAAI,EAAE,oDADI;AAEVimB,cAAI,EAAE,CAAC,gBAAD;AAFI,SAAD,CAfC;AAkBV26B,aAAK,EAAE,CAAC;AACR5gD,cAAI,EAAE,oDADE;AAERimB,cAAI,EAAE,CAAC,cAAD;AAFE,SAAD,CAlBG;AAqBVze,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE,mDADK;AAEXimB,cAAI,EAAE,CAAC,iBAAD;AAFK,SAAD,CArBA;AAwBVm6B,sBAAc,EAAE,CAAC;AACjBpgD,cAAI,EAAE,mDADW;AAEjBimB,cAAI,EAAE,CAAC,mBAAD;AAFW,SAAD,CAxBN;AA2BVskC,gBAAQ,EAAE,CAAC;AACXvqD,cAAI,EAAE,mDADK;AAEXimB,cAAI,EAAE,CAAC,iBAAD;AAFK,SAAD,CA3BA;AA8BVukC,yBAAiB,EAAE,CAAC;AACpBxqD,cAAI,EAAE,mDADc;AAEpBimB,cAAI,EAAE,CAAC,0BAAD;AAFc,SAAD,CA9BT;AAiCVyiC,oBAAY,EAAE,CAAC;AACf1oD,cAAI,EAAE,mDADS;AAEfimB,cAAI,EAAE,CAAC,qBAAD;AAFS,SAAD,CAjCJ;AAoCVs+B,uBAAe,EAAE,CAAC;AAClBvkD,cAAI,EAAE,mDADY;AAElBimB,cAAI,EAAE,CAAC,iBAAD;AAFY,SAAD,CApCP;AAuCV2yC,2BAAmB,EAAE,CAAC;AACtB54D,cAAI,EAAE,mDADgB;AAEtBimB,cAAI,EAAE,CAAC,oBAAD;AAFgB,SAAD,CAvCX;AA0CVg6B,gBAAQ,EAAE,CAAC;AACXjgD,cAAI,EAAE,6DADK;AAEXimB,cAAI,EAAE,CAACkxC,eAAD,EAAkB;AAAEgD,uBAAW,EAAE;AAAf,WAAlB;AAFK,SAAD,CA1CA;AA6CVlW,wBAAgB,EAAE,CAAC;AACnBjkD,cAAI,EAAE,0DADa;AAEnBimB,cAAI,EAAE,CAAC0xC,gBAAD;AAFa,SAAD,CA7CR;AAgDVzT,4BAAoB,EAAE,CAAC;AACvBlkD,cAAI,EAAE,0DADiB;AAEvBimB,cAAI,EAAE,CAACuxC,oBAAD;AAFiB,SAAD,CAhDZ;AAmDV1vD,YAAI,EAAE,CAAC;AACP9H,cAAI,EAAE,mDADC;AAEPimB,cAAI,EAAE,CAAC,aAAD;AAFC,SAAD,CAnDI;AAsDVizC,wBAAgB,EAAE,CAAC;AACnBl5D,cAAI,EAAE,mDADa;AAEnBimB,cAAI,EAAE,CAAC,yBAAD;AAFa,SAAD;AAtDR,OA3C4C,CAAnD;AAoGC,KApGhB;AAqGA;;;AACA,aAASqzC,0BAAT,CAAoCxzD,OAApC,EAA6C1E,QAA7C,EAAuD;AACnD,UAAIuvC,cAAc,GAAG7qC,OAAO,CAAC6pC,aAA7B;;AACA,aAAOgB,cAAP,EAAuB;AACnB;AACA,YAAIA,cAAc,CAAC/mC,OAAf,GAAyB+mC,cAAc,CAAC/mC,OAAf,CAAuBxI,QAAvB,CAAzB,GACAuvC,cAAc,CAAC3mC,iBAAf,CAAiC5I,QAAjC,CADJ,EACgD;AAC5C,iBAAOuvC,cAAP;AACH;;AACDA,sBAAc,GAAGA,cAAc,CAAChB,aAAhC;AACH;;AACD,aAAO,IAAP;AACH;AAED;;;;;;;;;QAOMyqB,c;;;;AAENA,kBAAc,CAACpuD,IAAf,GAAsB,SAASquD,sBAAT,CAAgCnuD,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAIkuD,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAAC7mB,IAAf,GAAsB,+DAAwB;AAAEvzC,UAAI,EAAEo6D;AAAR,KAAxB,CAAtB;AACAA,kBAAc,CAAC5mB,IAAf,GAAsB,+DAAwB;AAAEa,eAAS,EAAE,CACnDigB,QADmD,CAAb;AAEvC7gB,aAAO,EAAE,CAAC,0EAAD;AAF8B,KAAxB,CAAtB;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B0mB,cAA1B,EAA0C;AAAEzmB,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAACqhB,WAAD,EAAcN,gBAAd,EAAgCsD,OAAhC,EAAyCZ,aAAzC,EAAwDQ,cAAxD,EAAwEH,kBAAxE,CAAP;AAAqG,SAAnI;AAAqI7jB,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,0EAAD,EAAsBohB,WAAtB,EAAmCN,gBAAnC,EAAqDsD,OAArD,EAA8DZ,aAA9D,EAA6EQ,cAA7E,EAA6FH,kBAA7F,CAAP;AAA0H;AAAtR,OAA1C,CAAnD;AAAyX,KAAxY;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOnrD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB8tD,cAAzB,EAAyC,CAAC;AACpGp6D,YAAI,EAAE,sDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC0tB,sBAAY,EAAE,CACVqhB,WADU,EAEVN,gBAFU,EAGVsD,OAHU,EAIVZ,aAJU,EAKVQ,cALU,EAMVH,kBANU,CADf;AASC7jB,iBAAO,EAAE,CACL,0EADK,EAELohB,WAFK,EAGLN,gBAHK,EAILsD,OAJK,EAKLZ,aALK,EAMLQ,cANK,EAOLH,kBAPK,CATV;AAkBCpjB,mBAAS,EAAE,CACPigB,QADO;AAlBZ,SAAD;AAF8F,OAAD,CAAzC,EAwB1D,IAxB0D,EAwBpD,IAxBoD,CAAnD;AAwBO,KAxBtB;AA0BA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;AC/jHA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAA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A;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;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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;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAA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;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;;;;AAWA;;;;;;;;AAOA;;;;;;;;;QAQMguO,2B;;;AAEN;;;;;;;;;AAOA,QAAMC,iBAAiB,GAAG,IAAI,4DAAJ,CAAmB,iBAAnB,CAA1B;AAEA;;;;;;;;AAOA,QAAMC,uBAAuB,GAAG;AAC5B/gM,aAAO,EAAE8gM,iBADmB;AAE5B7gM,iBAAW,EAAE,iEAAW;AAAA,eAAM+gM,4BAAN;AAAA,OAAX,CAFe;AAG5B7rO,WAAK,EAAE;AAHqB,KAAhC;AAKA;;;;;;;;;;;;;;;;;;;;;;;;QAuBM6rO,4B;;;;;;;AACF,4CAAYzwH,SAAZ,EAAuB/7E,WAAvB,EAAoC;AAAA;;AAAA;;AAChC;AACA,iBAAK+7E,SAAL,GAAiBA,SAAjB;AACA,iBAAK/7E,WAAL,GAAmBA,WAAnB;AACA;;;;;AAIA,iBAAKysM,QAAL,GAAgB,UAAC9kO,CAAD,EAAO,CAAG,CAA1B;AACA;;;;;;AAIA,iBAAK+kO,SAAL,GAAiB,YAAM,CAAG,CAA1B;;AAbgC;AAcnC;AACD;;;;;;;;eAIA,oBAAWltO,KAAX,EAAkB;AACd,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,SAA3D,EAAsE5gC,KAAtE;AACH;AACD;;;;;;;eAIA,0BAAiB3F,EAAjB,EAAqB;AACjB,eAAK4yO,QAAL,GAAgB5yO,EAAhB;AACH;AACD;;;;;;;eAIA,2BAAkBA,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;;;;MA3CsC8vM,2B;;AA6C3CG,gCAA4B,CAACnpO,IAA7B,GAAoC,SAASspO,oCAAT,CAA8CppO,CAA9C,EAAiD;AAAE,aAAO,KAAKA,CAAC,IAAIipO,4BAAV,EAAwC,gEAAyB,uDAAzB,CAAxC,EAAoF,gEAAyB,wDAAzB,CAApF,CAAP;AAA0I,KAAjO;;AACAA,gCAA4B,CAACxrM,IAA7B,GAAoC,gEAAyB;AAAE3pC,UAAI,EAAEm1O,4BAAR;AAAsCvrM,eAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,iBAA9B,EAAiD,EAAjD,CAAD,EAAuD,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,aAA9B,EAA6C,EAA7C,CAAvD,EAAyG,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,SAA9B,EAAyC,EAAzC,CAAzG,CAAjD;AAAyM8M,kBAAY,EAAE,SAAS6+L,yCAAT,CAAmD3+L,EAAnD,EAAuD76B,GAAvD,EAA4D;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACtV,mEAAkB,QAAlB,EAA4B,SAAS4+L,sDAAT,CAAgEC,MAAhE,EAAwE;AAAE,mBAAO15N,GAAG,CAACq5N,QAAJ,CAAaK,MAAM,CAACt3N,MAAP,CAAcu3N,OAA3B,CAAP;AAA6C,WAAnJ,EAAqJ,MAArJ,EAA6J,SAASC,oDAAT,GAAgE;AAAE,mBAAO55N,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAAxP;AACH;AAAE,OAFsD;AAEpDtrM,cAAQ,EAAE,CAAC,iEAA0B,CAACmrM,uBAAD,CAA1B,CAAD,EAAuD,wEAAvD;AAF0C,KAAzB,CAApC;;AAGAC,gCAA4B,CAACx1M,cAA7B,GAA8C;AAAA,aAAM,CAChD;AAAE3/B,YAAI,EAAE;AAAR,OADgD,EAEhD;AAAEA,YAAI,EAAE;AAAR,OAFgD,CAAN;AAAA,KAA9C;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB6oO,4BAAzB,EAAuD,CAAC;AAClHn1O,YAAI,EAAE,uDAD4G;AAElHimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,uGADX;AAECy1C,cAAI,EAAE;AAAE,wBAAY,iCAAd;AAAiD,sBAAU;AAA3D,WAFP;AAGCxC,mBAAS,EAAE,CAAC6gM,uBAAD;AAHZ,SAAD;AAF4G,OAAD,CAAvD,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAEl1O,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,CAAP;AAAmE,OAPvB,EAOyB,IAPzB,CAAnD;AAOoF,KAPnG;AASA;;;;;;;;;AAOA,QAAM41O,sBAAsB,GAAG;AAC3BzhM,aAAO,EAAE8gM,iBADkB;AAE3B7gM,iBAAW,EAAE,iEAAW;AAAA,eAAMyhM,oBAAN;AAAA,OAAX,CAFc;AAG3BvsO,WAAK,EAAE;AAHoB,KAA/B;AAKA;;;;;AAIA,aAASwsO,UAAT,GAAsB;AAClB,UAAMx2J,SAAS,GAAG,oEAAY,kEAAUy2J,YAAV,EAAZ,GAAuC,EAAzD;AACA,aAAO,gBAAgB/5M,IAAhB,CAAqBsjD,SAAS,CAACtuE,WAAV,EAArB,CAAP;AACH;AACD;;;;;;;;AAMA,QAAMglO,uBAAuB,GAAG,IAAI,4DAAJ,CAAmB,sBAAnB,CAAhC;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmCMH,oB;;;AACF,oCAAYnxH,SAAZ,EAAuB/7E,WAAvB,EAAoCstM,gBAApC,EAAsD;AAAA;;AAClD,aAAKvxH,SAAL,GAAiBA,SAAjB;AACA,aAAK/7E,WAAL,GAAmBA,WAAnB;AACA,aAAKstM,gBAAL,GAAwBA,gBAAxB;AACA;;;;;AAIA,aAAKb,QAAL,GAAgB,UAAC9kO,CAAD,EAAO,CAAG,CAA1B;AACA;;;;;;AAIA,aAAK+kO,SAAL,GAAiB,YAAM,CAAG,CAA1B;AACA;;;AACA,aAAKa,UAAL,GAAkB,KAAlB;;AACA,YAAI,KAAKD,gBAAL,IAAyB,IAA7B,EAAmC;AAC/B,eAAKA,gBAAL,GAAwB,CAACH,UAAU,EAAnC;AACH;AACJ;AACD;;;;;;;;eAIA,oBAAW3tO,KAAX,EAAkB;AACd,cAAMvB,eAAe,GAAGuB,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAA7C;;AACA,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,OAA3D,EAAoEniC,eAApE;AACH;AACD;;;;;;;eAIA,0BAAiBpE,EAAjB,EAAqB;AACjB,eAAK4yO,QAAL,GAAgB5yO,EAAhB;AACH;AACD;;;;;;;eAIA,2BAAkBA,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;AACD;;;;eACA,sBAAa/8B,KAAb,EAAoB;AAChB,cAAI,CAAC,KAAK8tO,gBAAN,IAA2B,KAAKA,gBAAL,IAAyB,CAAC,KAAKC,UAA9D,EAA2E;AACvE,iBAAKd,QAAL,CAAcjtO,KAAd;AACH;AACJ;AACD;;;;eACA,6BAAoB;AAChB,eAAK+tO,UAAL,GAAkB,IAAlB;AACH;AACD;;;;eACA,yBAAgB/tO,KAAhB,EAAuB;AACnB,eAAK+tO,UAAL,GAAkB,KAAlB;AACA,eAAKD,gBAAL,IAAyB,KAAKb,QAAL,CAAcjtO,KAAd,CAAzB;AACH;;;;;;AAEL0tO,wBAAoB,CAAC7pO,IAArB,GAA4B,SAASmqO,4BAAT,CAAsCjqO,CAAtC,EAAyC;AAAE,aAAO,KAAKA,CAAC,IAAI2pO,oBAAV,EAAgC,gEAAyB,uDAAzB,CAAhC,EAA4E,gEAAyB,wDAAzB,CAA5E,EAAyH,gEAAyBG,uBAAzB,EAAkD,CAAlD,CAAzH,CAAP;AAAwL,KAA/P;;AACAH,wBAAoB,CAAClsM,IAArB,GAA4B,gEAAyB;AAAE3pC,UAAI,EAAE61O,oBAAR;AAA8BjsM,eAAS,EAAE,CAAC,CAAC,OAAD,EAAU,iBAAV,EAA6B,EAA7B,EAAiC,CAAjC,EAAoC,MAApC,EAA4C,UAA5C,CAAD,EAA0D,CAAC,UAAD,EAAa,iBAAb,EAAgC,EAAhC,CAA1D,EAA+F,CAAC,OAAD,EAAU,aAAV,EAAyB,EAAzB,EAA6B,CAA7B,EAAgC,MAAhC,EAAwC,UAAxC,CAA/F,EAAoJ,CAAC,UAAD,EAAa,aAAb,EAA4B,EAA5B,CAApJ,EAAqL,CAAC,OAAD,EAAU,SAAV,EAAqB,EAArB,EAAyB,CAAzB,EAA4B,MAA5B,EAAoC,UAApC,CAArL,EAAsO,CAAC,UAAD,EAAa,SAAb,EAAwB,EAAxB,CAAtO,EAAmQ,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAAnQ,CAAzC;AAA2U8M,kBAAY,EAAE,SAAS0/L,iCAAT,CAA2Cx/L,EAA3C,EAA+C76B,GAA/C,EAAoD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACxc,mEAAkB,OAAlB,EAA2B,SAASy/L,6CAAT,CAAuDZ,MAAvD,EAA+D;AAAE,mBAAO15N,GAAG,CAACu6N,YAAJ,CAAiBb,MAAM,CAACt3N,MAAP,CAAchW,KAA/B,CAAP;AAA+C,WAA3I,EAA6I,MAA7I,EAAqJ,SAASouO,4CAAT,GAAwD;AAAE,mBAAOx6N,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAAxO,EAA0O,kBAA1O,EAA8P,SAASmB,wDAAT,GAAoE;AAAE,mBAAOz6N,GAAG,CAAC06N,iBAAJ,EAAP;AAAiC,WAArW,EAAuW,gBAAvW,EAAyX,SAASC,sDAAT,CAAgEjB,MAAhE,EAAwE;AAAE,mBAAO15N,GAAG,CAAC46N,eAAJ,CAAoBlB,MAAM,CAACt3N,MAAP,CAAchW,KAAlC,CAAP;AAAkD,WAArf;AACH;AAAE,OAF8C;AAE5C4hC,cAAQ,EAAE,CAAC,iEAA0B,CAAC6rM,sBAAD,CAA1B,CAAD;AAFkC,KAAzB,CAA5B;;AAGAC,wBAAoB,CAACl2M,cAArB,GAAsC;AAAA,aAAM,CACxC;AAAE3/B,YAAI,EAAE;AAAR,OADwC,EAExC;AAAEA,YAAI,EAAE;AAAR,OAFwC,EAGxC;AAAEA,YAAI,EAAE42O,OAAR;AAAiBh3M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+vN,uBAAD;AAAtB,SAArB;AAA7B,OAHwC,CAAN;AAAA,KAAtC;;AAKA,KAAC,YAAY;AAAE,OAAC,OAAO1pO,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBupO,oBAAzB,EAA+C,CAAC;AAC1G71O,YAAI,EAAE,uDADoG;AAE1GimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,8MADX;AAEC;AACA;AACA;AACAy1C,cAAI,EAAE;AACF,uBAAW,8CADT;AAEF,sBAAU,aAFR;AAGF,kCAAsB,gCAHpB;AAIF,gCAAoB;AAJlB,WALP;AAWCxC,mBAAS,EAAE,CAACuhM,sBAAD;AAXZ,SAAD;AAFoG,OAAD,CAA/C,EAe1D,YAAY;AAAE,eAAO,CAAC;AAAE51O,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,EAA0D;AAAEA,cAAI,EAAE42O,OAAR;AAAiBh3M,oBAAU,EAAE,CAAC;AACrG5/B,gBAAI,EAAE;AAD+F,WAAD,EAErG;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+vN,uBAAD;AAFP,WAFqG;AAA7B,SAA1D,CAAP;AAKF,OApB8C,EAoB5C,IApB4C,CAAnD;AAoBe,KApB9B;AAsBA;;;;;;;;;AAOA,aAASa,iBAAT,CAA2B1uO,KAA3B,EAAkC;AAC9B;AACA,aAAOA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACjF,MAAN,KAAiB,CAAzC;AACH;;AACD,aAAS4zO,cAAT,CAAwB3uO,KAAxB,EAA+B;AAC3B;AACA,aAAOA,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAK,CAACjF,MAAb,KAAwB,QAAhD;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,QAAM6zO,aAAa,GAAG,IAAI,4DAAJ,CAAmB,cAAnB,CAAtB;AACA;;;;;;;;;;AASA,QAAMC,mBAAmB,GAAG,IAAI,4DAAJ,CAAmB,mBAAnB,CAA5B;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,QAAMC,YAAY,GAAG,oMAArB;AACA;;;;;;;;;;;;QAWMC,U;;;;;;;;;;AACF;;;;;;;;;;;;;;;;;;;;AAoBA,qBAAWvyO,IAAX,EAAgB;AACZ,iBAAOwyO,YAAY,CAACxyO,IAAD,CAAnB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;eAoBA,aAAWT,IAAX,EAAgB;AACZ,iBAAOkzO,YAAY,CAAClzO,IAAD,CAAnB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;eAoBA,kBAAgBywF,OAAhB,EAAyB;AACrB,iBAAO0iJ,iBAAiB,CAAC1iJ,OAAD,CAAxB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;eAqBA,sBAAoBA,OAApB,EAA6B;AACzB,iBAAO2iJ,qBAAqB,CAAC3iJ,OAAD,CAA5B;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAoCA,eAAaA,OAAb,EAAsB;AAClB,iBAAO4iJ,cAAc,CAAC5iJ,OAAD,CAArB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8BA,mBAAiB6iJ,UAAjB,EAA4B;AACxB,iBAAOC,kBAAkB,CAACD,UAAD,CAAzB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA2BA,mBAAiBE,UAAjB,EAA4B;AACxB,iBAAOC,kBAAkB,CAACD,UAAD,CAAzB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAiDA,iBAAet4H,QAAf,EAAwB;AACpB,iBAAOw4H,gBAAgB,CAACx4H,QAAD,CAAvB;AACH;AACD;;;;;;;;;;eAOA,uBAAqBzqB,OAArB,EAA8B;AAC1B,iBAAOkjJ,cAAa,CAACljJ,OAAD,CAApB;AACH;;;eACD,iBAAemjJ,UAAf,EAA2B;AACvB,iBAAOC,QAAO,CAACD,UAAD,CAAd;AACH;AACD;;;;;;;;;;;;;;eAWA,sBAAoBA,UAApB,EAAgC;AAC5B,iBAAOE,aAAY,CAACF,UAAD,CAAnB;AACH;;;;;AAEL;;;;;;AAIA,aAASX,YAAT,CAAsBxyO,GAAtB,EAA2B;AACvB,aAAO,UAACgwF,OAAD,EAAa;AAChB,YAAIkiJ,iBAAiB,CAACliJ,OAAO,CAACxsF,KAAT,CAAjB,IAAoC0uO,iBAAiB,CAAClyO,GAAD,CAAzD,EAAgE;AAC5D,iBAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,YAAMwD,KAAK,GAAGoF,UAAU,CAAConF,OAAO,CAACxsF,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,eAAO,CAAC29B,KAAK,CAAC39B,KAAD,CAAN,IAAiBA,KAAK,GAAGxD,GAAzB,GAA+B;AAAE,iBAAO;AAAE,mBAAOA,GAAT;AAAc,sBAAUgwF,OAAO,CAACxsF;AAAhC;AAAT,SAA/B,GAAoF,IAA3F;AACH,OARD;AASH;AACD;;;;;;AAIA,aAASivO,YAAT,CAAsBlzO,GAAtB,EAA2B;AACvB,aAAO,UAACywF,OAAD,EAAa;AAChB,YAAIkiJ,iBAAiB,CAACliJ,OAAO,CAACxsF,KAAT,CAAjB,IAAoC0uO,iBAAiB,CAAC3yO,GAAD,CAAzD,EAAgE;AAC5D,iBAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,YAAMiE,KAAK,GAAGoF,UAAU,CAAConF,OAAO,CAACxsF,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,eAAO,CAAC29B,KAAK,CAAC39B,KAAD,CAAN,IAAiBA,KAAK,GAAGjE,GAAzB,GAA+B;AAAE,iBAAO;AAAE,mBAAOA,GAAT;AAAc,sBAAUywF,OAAO,CAACxsF;AAAhC;AAAT,SAA/B,GAAoF,IAA3F;AACH,OARD;AASH;AACD;;;;;;AAIA,aAASkvO,iBAAT,CAA2B1iJ,OAA3B,EAAoC;AAChC,aAAOkiJ,iBAAiB,CAACliJ,OAAO,CAACxsF,KAAT,CAAjB,GAAmC;AAAE,oBAAY;AAAd,OAAnC,GAA0D,IAAjE;AACH;AACD;;;;;;;AAKA,aAASmvO,qBAAT,CAA+B3iJ,OAA/B,EAAwC;AACpC,aAAOA,OAAO,CAACxsF,KAAR,KAAkB,IAAlB,GAAyB,IAAzB,GAAgC;AAAE,oBAAY;AAAd,OAAvC;AACH;AACD;;;;;;AAIA,aAASovO,cAAT,CAAwB5iJ,OAAxB,EAAiC;AAC7B,UAAIkiJ,iBAAiB,CAACliJ,OAAO,CAACxsF,KAAT,CAArB,EAAsC;AAClC,eAAO,IAAP,CADkC,CACrB;AAChB;;AACD,aAAO8uO,YAAY,CAACj7M,IAAb,CAAkB24D,OAAO,CAACxsF,KAA1B,IAAmC,IAAnC,GAA0C;AAAE,iBAAS;AAAX,OAAjD;AACH;AACD;;;;;;AAIA,aAASsvO,kBAAT,CAA4BD,SAA5B,EAAuC;AACnC,aAAO,UAAC7iJ,OAAD,EAAa;AAChB,YAAIkiJ,iBAAiB,CAACliJ,OAAO,CAACxsF,KAAT,CAAjB,IAAoC,CAAC2uO,cAAc,CAACniJ,OAAO,CAACxsF,KAAT,CAAvD,EAAwE;AACpE;AACA;AACA,iBAAO,IAAP;AACH;;AACD,eAAOwsF,OAAO,CAACxsF,KAAR,CAAcjF,MAAd,GAAuBs0O,SAAvB,GACH;AAAE,uBAAa;AAAE,8BAAkBA,SAApB;AAA+B,4BAAgB7iJ,OAAO,CAACxsF,KAAR,CAAcjF;AAA7D;AAAf,SADG,GAEH,IAFJ;AAGH,OATD;AAUH;AACD;;;;;;AAIA,aAASy0O,kBAAT,CAA4BD,SAA5B,EAAuC;AACnC,aAAO,UAAC/iJ,OAAD,EAAa;AAChB,eAAOmiJ,cAAc,CAACniJ,OAAO,CAACxsF,KAAT,CAAd,IAAiCwsF,OAAO,CAACxsF,KAAR,CAAcjF,MAAd,GAAuBw0O,SAAxD,GACH;AAAE,uBAAa;AAAE,8BAAkBA,SAApB;AAA+B,4BAAgB/iJ,OAAO,CAACxsF,KAAR,CAAcjF;AAA7D;AAAf,SADG,GAEH,IAFJ;AAGH,OAJD;AAKH;AACD;;;;;;AAIA,aAAS00O,gBAAT,CAA0Bx4H,OAA1B,EAAmC;AAC/B,UAAI,CAACA,OAAL,EACI,OAAOy4H,cAAP;AACJ,UAAI/pO,KAAJ;AACA,UAAImqO,QAAJ;;AACA,UAAI,OAAO74H,OAAP,KAAmB,QAAvB,EAAiC;AAC7B64H,gBAAQ,GAAG,EAAX;AACA,YAAI74H,OAAO,CAACn0G,MAAR,CAAe,CAAf,MAAsB,GAA1B,EACIgtO,QAAQ,IAAI,GAAZ;AACJA,gBAAQ,IAAI74H,OAAZ;AACA,YAAIA,OAAO,CAACn0G,MAAR,CAAem0G,OAAO,CAACl8G,MAAR,GAAiB,CAAhC,MAAuC,GAA3C,EACI+0O,QAAQ,IAAI,GAAZ;AACJnqO,aAAK,GAAG,IAAIkC,MAAJ,CAAWioO,QAAX,CAAR;AACH,OARD,MASK;AACDA,gBAAQ,GAAG74H,OAAO,CAAC55G,QAAR,EAAX;AACAsI,aAAK,GAAGsxG,OAAR;AACH;;AACD,aAAO,UAACzqB,OAAD,EAAa;AAChB,YAAIkiJ,iBAAiB,CAACliJ,OAAO,CAACxsF,KAAT,CAArB,EAAsC;AAClC,iBAAO,IAAP,CADkC,CACrB;AAChB;;AACD,YAAMA,KAAK,GAAGwsF,OAAO,CAACxsF,KAAtB;AACA,eAAO2F,KAAK,CAACkuB,IAAN,CAAW7zB,KAAX,IAAoB,IAApB,GACH;AAAE,qBAAW;AAAE,+BAAmB8vO,QAArB;AAA+B,2BAAe9vO;AAA9C;AAAb,SADJ;AAEH,OAPD;AAQH;AACD;;;;;AAGA,aAAS0vO,cAAT,CAAuBljJ,OAAvB,EAAgC;AAC5B,aAAO,IAAP;AACH;;AACD,aAASujJ,SAAT,CAAmBn5D,CAAnB,EAAsB;AAClB,aAAOA,CAAC,IAAI,IAAZ;AACH;;AACD,aAASo5D,YAAT,CAAsB/oH,CAAtB,EAAyB;AACrB,UAAMgpH,GAAG,GAAG,iEAAWhpH,CAAX,IAAgB,kDAAKA,CAAL,CAAhB,GAA0BA,CAAtC;;AACA,UAAI,CAAE,oEAAcgpH,GAAd,CAAF,KAA0B,OAAO9rO,SAAP,KAAqB,WAArB,IAAoCA,SAA9D,CAAJ,EAA8E;AAC1E,cAAM,IAAItF,KAAJ,uDAAN;AACH;;AACD,aAAOoxO,GAAP;AACH;;AACD,aAASC,WAAT,CAAqBC,aAArB,EAAoC;AAChC,UAAI7jI,GAAG,GAAG,EAAV,CADgC,CAEhC;AACA;;AACA6jI,mBAAa,CAAC/1O,OAAd,CAAsB,UAAC0D,MAAD,EAAY;AAC9BwuG,WAAG,GAAGxuG,MAAM,IAAI,IAAV,GAAiBO,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBqwF,GAAlB,CAAd,EAAsCxuG,MAAtC,CAAjB,GAAiEwuG,GAAvE;AACH,OAFD;AAGA,aAAOjuG,MAAM,CAACC,IAAP,CAAYguG,GAAZ,EAAiBvxG,MAAjB,KAA4B,CAA5B,GAAgC,IAAhC,GAAuCuxG,GAA9C;AACH;;AACD,aAAS8jI,iBAAT,CAA2B5jJ,OAA3B,EAAoCmjJ,UAApC,EAAgD;AAC5C,aAAOA,UAAU,CAAC9vO,GAAX,CAAe,UAAAwwO,SAAS;AAAA,eAAIA,SAAS,CAAC7jJ,OAAD,CAAb;AAAA,OAAxB,CAAP;AACH;;AACD,aAAS8jJ,aAAT,CAAuBD,SAAvB,EAAkC;AAC9B,aAAO,CAACA,SAAS,CAACE,QAAlB;AACH;AACD;;;;;;;;;;AAQA,aAASC,mBAAT,CAA6Bb,UAA7B,EAAyC;AACrC,aAAOA,UAAU,CAAC9vO,GAAX,CAAe,UAAAwwO,SAAS,EAAI;AAC/B,eAAOC,aAAa,CAACD,SAAD,CAAb,GACHA,SADG,GAEF,UAAC5/M,CAAD;AAAA,iBAAO4/M,SAAS,CAACE,QAAV,CAAmB9/M,CAAnB,CAAP;AAAA,SAFL;AAGH,OAJM,CAAP;AAKH;AACD;;;;;;AAIA,aAASm/M,QAAT,CAAiBD,UAAjB,EAA6B;AACzB,UAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,UAAMc,iBAAiB,GAAGd,UAAU,CAACh9N,MAAX,CAAkBo9N,SAAlB,CAA1B;AACA,UAAIU,iBAAiB,CAAC11O,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,aAAO,UAAUyxF,OAAV,EAAmB;AACtB,eAAO0jJ,WAAW,CAACE,iBAAiB,CAAC5jJ,OAAD,EAAUikJ,iBAAV,CAAlB,CAAlB;AACH,OAFD;AAGH;AACD;;;;;;;AAKA,aAASC,iBAAT,CAA2Bf,UAA3B,EAAuC;AACnC,aAAOA,UAAU,IAAI,IAAd,GAAqBC,QAAO,CAACY,mBAAmB,CAACb,UAAD,CAApB,CAA5B,GAAgE,IAAvE;AACH;AACD;;;;;;AAIA,aAASE,aAAT,CAAsBF,UAAtB,EAAkC;AAC9B,UAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,UAAMc,iBAAiB,GAAGd,UAAU,CAACh9N,MAAX,CAAkBo9N,SAAlB,CAA1B;AACA,UAAIU,iBAAiB,CAAC11O,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,aAAO,UAAUyxF,OAAV,EAAmB;AACtB,YAAM9wB,WAAW,GAAG00K,iBAAiB,CAAC5jJ,OAAD,EAAUikJ,iBAAV,CAAjB,CAA8C5wO,GAA9C,CAAkDmwO,YAAlD,CAApB;AACA,eAAO,sDAASt0K,WAAT,EAAsBniC,IAAtB,CAA2B,2DAAI22M,WAAJ,CAA3B,CAAP;AACH,OAHD;AAIH;AACD;;;;;;;AAKA,aAASS,sBAAT,CAAgChB,UAAhC,EAA4C;AACxC,aAAOA,UAAU,IAAI,IAAd,GAAqBE,aAAY,CAACW,mBAAmB,CAACb,UAAD,CAApB,CAAjC,GACH,IADJ;AAEH;AACD;;;;;;AAIA,aAASiB,eAAT,CAAyBC,iBAAzB,EAA4CC,YAA5C,EAA0D;AACtD,UAAID,iBAAiB,KAAK,IAA1B,EACI,OAAO,CAACC,YAAD,CAAP;AACJ,aAAOxqO,KAAK,CAACC,OAAN,CAAcsqO,iBAAd,iCAAuCA,iBAAvC,IAA0DC,YAA1D,KACH,CAACD,iBAAD,EAAoBC,YAApB,CADJ;AAEH;AACD;;;;;AAGA,aAASC,oBAAT,CAA8BvkJ,OAA9B,EAAuC;AACnC,aAAOA,OAAO,CAACwkJ,cAAf;AACH;AACD;;;;;AAGA,aAASC,yBAAT,CAAmCzkJ,OAAnC,EAA4C;AACxC,aAAOA,OAAO,CAAC0kJ,mBAAf;AACH;AAED;;;;;;;;AAOA;;;;;;;;;;QAQMC,wB;;;AACF,0CAAc;AAAA;;AACV;;;;AAIA,aAAKH,cAAL,GAAsB,EAAtB;AACA;;;;;;AAKA,aAAKE,mBAAL,GAA2B,EAA3B;AACA;;;;AAGA,aAAKE,mBAAL,GAA2B,EAA3B;AACH;AACD;;;;;;;;aAIA,eAAY;AACR,iBAAO,KAAK5kJ,OAAL,GAAe,KAAKA,OAAL,CAAaxsF,KAA5B,GAAoC,IAA3C;AACH;AACD;;;;;;;;;aAMA,eAAY;AACR,iBAAO,KAAKwsF,OAAL,GAAe,KAAKA,OAAL,CAAa7C,KAA5B,GAAoC,IAA3C;AACH;AACD;;;;;;;;aAKA,eAAc;AACV,iBAAO,KAAK6C,OAAL,GAAe,KAAKA,OAAL,CAAa3C,OAA5B,GAAsC,IAA7C;AACH;AACD;;;;;;;;;aAMA,eAAc;AACV,iBAAO,KAAK2C,OAAL,GAAe,KAAKA,OAAL,CAAaE,OAA5B,GAAsC,IAA7C;AACH;AACD;;;;;;;;;aAMA,eAAe;AACX,iBAAO,KAAKF,OAAL,GAAe,KAAKA,OAAL,CAAantF,QAA5B,GAAuC,IAA9C;AACH;AACD;;;;;;;;aAKA,eAAc;AACV,iBAAO,KAAKmtF,OAAL,GAAe,KAAKA,OAAL,CAAavzD,OAA5B,GAAsC,IAA7C;AACH;AACD;;;;;;;aAIA,eAAa;AACT,iBAAO,KAAKuzD,OAAL,GAAe,KAAKA,OAAL,CAAa1uF,MAA5B,GAAqC,IAA5C;AACH;AACD;;;;;;;;aAKA,eAAe;AACX,iBAAO,KAAK0uF,OAAL,GAAe,KAAKA,OAAL,CAAa6kJ,QAA5B,GAAuC,IAA9C;AACH;AACD;;;;;;;;aAKA,eAAY;AACR,iBAAO,KAAK7kJ,OAAL,GAAe,KAAKA,OAAL,CAAamzE,KAA5B,GAAoC,IAA3C;AACH;AACD;;;;;;;;aAKA,eAAc;AACV,iBAAO,KAAKnzE,OAAL,GAAe,KAAKA,OAAL,CAAa8kJ,OAA5B,GAAsC,IAA7C;AACH;AACD;;;;;;;;;aAMA,eAAa;AACT,iBAAO,KAAK9kJ,OAAL,GAAe,KAAKA,OAAL,CAAa38D,MAA5B,GAAqC,IAA5C;AACH;AACD;;;;;;;;aAKA,eAAgB;AACZ,iBAAO,KAAK28D,OAAL,GAAe,KAAKA,OAAL,CAAa+kJ,SAA5B,GAAwC,IAA/C;AACH;AACD;;;;;;;;aAKA,eAAoB;AAChB,iBAAO,KAAK/kJ,OAAL,GAAe,KAAKA,OAAL,CAAaglJ,aAA5B,GAA4C,IAAnD;AACH;AACD;;;;;;;;;aAMA,eAAmB;AACf,iBAAO,KAAKhlJ,OAAL,GAAe,KAAKA,OAAL,CAAailJ,YAA5B,GAA2C,IAAlD;AACH;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAO,IAAP;AACH;AACD;;;;;;;eAIA,wBAAe9B,UAAf,EAA2B;AACvB,eAAKqB,cAAL,GAAsBrB,UAAU,IAAI,EAApC;AACA,eAAK+B,oBAAL,GAA4BhB,iBAAiB,CAAC,KAAKM,cAAN,CAA7C;AACH;AACD;;;;;;;eAIA,6BAAoBrB,UAApB,EAAgC;AAC5B,eAAKuB,mBAAL,GAA2BvB,UAAU,IAAI,EAAzC;AACA,eAAKgC,yBAAL,GAAiChB,sBAAsB,CAAC,KAAKO,mBAAN,CAAvD;AACH;AACD;;;;;;;;aAKA,eAAgB;AACZ,iBAAO,KAAKQ,oBAAL,IAA6B,IAApC;AACH;AACD;;;;;;;;aAKA,eAAqB;AACjB,iBAAO,KAAKC,yBAAL,IAAkC,IAAzC;AACH;AACD;;;;;;;;eAKA,4BAAmBt3O,EAAnB,EAAuB;AACnB,eAAK+2O,mBAAL,CAAyB92O,IAAzB,CAA8BD,EAA9B;AACH;AACD;;;;;;;;eAKA,qCAA4B;AACxB,eAAK+2O,mBAAL,CAAyBh3O,OAAzB,CAAiC,UAAAC,EAAE;AAAA,mBAAIA,EAAE,EAAN;AAAA,WAAnC;;AACA,eAAK+2O,mBAAL,GAA2B,EAA3B;AACH;AACD;;;;;;;eAIA,iBAAyB;AAAA,cAAnBpxO,KAAmB,uEAAXN,SAAW;AACrB,cAAI,KAAK8sF,OAAT,EACI,KAAKA,OAAL,CAAanwF,KAAb,CAAmB2D,KAAnB;AACP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8BA,kBAAS4xO,SAAT,EAAoBvpI,IAApB,EAA0B;AACtB,iBAAO,KAAK7b,OAAL,GAAe,KAAKA,OAAL,CAAalC,QAAb,CAAsBsnJ,SAAtB,EAAiCvpI,IAAjC,CAAf,GAAwD,KAA/D;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA2BA,kBAASupI,SAAT,EAAoBvpI,IAApB,EAA0B;AACtB,iBAAO,KAAK7b,OAAL,GAAe,KAAKA,OAAL,CAAaqlJ,QAAb,CAAsBD,SAAtB,EAAiCvpI,IAAjC,CAAf,GAAwD,IAA/D;AACH;;;;;;AAEL8oI,4BAAwB,CAACttO,IAAzB,GAAgC,SAASiuO,gCAAT,CAA0C/tO,CAA1C,EAA6C;AAAE,aAAO,KAAKA,CAAC,IAAIotO,wBAAV,GAAP;AAA+C,KAA9H;;AACAA,4BAAwB,CAAC3vM,IAAzB,GAAgC,gEAAyB;AAAE3pC,UAAI,EAAEs5O;AAAR,KAAzB,CAAhC;AAGA;;;;;;;;AAOA;;;;;;;;QAOMY,gB;;;;;;;;;;;;;;;;AACF;;;;AAIA,uBAAoB;AAChB,iBAAO,IAAP;AACH;AACD;;;;;;;aAIA,eAAW;AACP,iBAAO,IAAP;AACH;;;;MAd0BZ,wB;;AAgB/BY,oBAAgB,CAACluO,IAAjB,GAAwB,SAASmuO,wBAAT,CAAkCjuO,CAAlC,EAAqC;AAAE,aAAOkuO,6BAA6B,CAACluO,CAAC,IAAIguO,gBAAN,CAApC;AAA8D,KAA7H;;AACAA,oBAAgB,CAACvwM,IAAjB,GAAwB,gEAAyB;AAAE3pC,UAAI,EAAEk6O,gBAAR;AAA0BnwM,cAAQ,EAAE,CAAC,wEAAD;AAApC,KAAzB,CAAxB;;AACA,QAAMqwM,6BAA6B;AAAG;AAAc,wEAA6BF,gBAA7B,CAApD;AAEA;;;;;;;;AAOA;;;;;;;;;QAOMG,S;;;;;;;AACF,2BAAc;AAAA;;AAAA;;AACV,wCAAS32M,SAAT;AACA;;;;;;;AAMA,iBAAKulJ,OAAL,GAAe,IAAf;AACA;;;;;AAIA,iBAAKnpL,IAAL,GAAY,IAAZ;AACA;;;;;AAIA,iBAAKw6O,aAAL,GAAqB,IAArB;AAlBU;AAmBb;;;MApBmBhB,wB;AAuBxB;;;;;;;;;QAOMiB,qB;;;AACF,qCAAYC,EAAZ,EAAgB;AAAA;;AACZ,aAAKC,GAAL,GAAWD,EAAX;AACH;;;;eACD,YAAGxiN,MAAH,EAAW;AACP,cAAIoN,EAAJ,EAAQkE,EAAR;;AACA,iBAAO,CAAC,EAAE,CAACA,EAAE,GAAG,CAAClE,EAAE,GAAG,KAAKq1M,GAAX,MAAoB,IAApB,IAA4Br1M,EAAE,KAAK,KAAK,CAAxC,GAA4C,KAAK,CAAjD,GAAqDA,EAAE,CAACuvD,OAA9D,MAA2E,IAA3E,IAAmFrrD,EAAE,KAAK,KAAK,CAA/F,GAAmG,KAAK,CAAxG,GAA4GA,EAAE,CAACtR,MAAD,CAAhH,CAAR;AACH;;;;;;AAEL,QAAM0iN,mBAAmB,GAAG;AACxB,8BAAwB,iBADA;AAExB,4BAAsB,eAFE;AAGxB,6BAAuB,gBAHC;AAIxB,0BAAoB,aAJI;AAKxB,0BAAoB,aALI;AAMxB,4BAAsB,eANE;AAOxB,4BAAsB;AAPE,KAA5B;AASA;;;;;;;;;;;;;;;;;;;;;;;;QAuBMC,e;;;;;;;AACF,+BAAYH,EAAZ,EAAgB;AAAA;;AAAA,mCACNA,EADM;AAEf;;;MAHyBD,qB;;AAK9BI,mBAAe,CAAC3uO,IAAhB,GAAuB,SAAS4uO,uBAAT,CAAiC1uO,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAIyuO,eAAV,EAA2B,gEAAyBN,SAAzB,EAAoC,CAApC,CAA3B,CAAP;AAA4E,KAAzI;;AACAM,mBAAe,CAAChxM,IAAhB,GAAuB,gEAAyB;AAAE3pC,UAAI,EAAE26O,eAAR;AAAyB/wM,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,EAA8B,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAA9B,EAAmD,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAnD,CAApC;AAAiH6M,cAAQ,EAAE,EAA3H;AAA+HC,kBAAY,EAAE,SAASmkM,4BAAT,CAAsCjkM,EAAtC,EAA0C76B,GAA1C,EAA+C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAClP,oEAAmB,cAAnB,EAAmC76B,GAAG,CAACqiK,EAAJ,CAAO,WAAP,CAAnC,EAAwD,YAAxD,EAAsEriK,GAAG,CAACqiK,EAAJ,CAAO,SAAP,CAAtE,EAAyF,aAAzF,EAAwGriK,GAAG,CAACqiK,EAAJ,CAAO,UAAP,CAAxG,EAA4H,UAA5H,EAAwIriK,GAAG,CAACqiK,EAAJ,CAAO,OAAP,CAAxI,EAAyJ,UAAzJ,EAAqKriK,GAAG,CAACqiK,EAAJ,CAAO,OAAP,CAArK,EAAsL,YAAtL,EAAoMriK,GAAG,CAACqiK,EAAJ,CAAO,SAAP,CAApM,EAAuN,YAAvN,EAAqOriK,GAAG,CAACqiK,EAAJ,CAAO,SAAP,CAArO;AACH;AAAE,OAFyC;AAEvCr0I,cAAQ,EAAE,CAAC,wEAAD;AAF6B,KAAzB,CAAvB;;AAGA4wM,mBAAe,CAACh7M,cAAhB,GAAiC;AAAA,aAAM,CACnC;AAAE3/B,YAAI,EAAEq6O,SAAR;AAAmBz6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD;AAA/B,OADmC,CAAN;AAAA,KAAjC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBquO,eAAzB,EAA0C,CAAC;AACrG36O,YAAI,EAAE,uDAD+F;AAErGimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE,2CAAZ;AAAyDy1C,cAAI,EAAE6jM;AAA/D,SAAD;AAF+F,OAAD,CAA1C,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE16O,cAAI,EAAEq6O,SAAR;AAAmBz6M,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE;AADwC,WAAD;AAA/B,SAAD,CAAP;AAEF,OAL8C,EAK5C,IAL4C,CAAnD;AAKe,KAL9B;AAMA;;;;;;;;;;;;;QAWM86O,oB;;;;;;;AACF,oCAAYN,EAAZ,EAAgB;AAAA;;AAAA,mCACNA,EADM;AAEf;;;MAH8BD,qB;;AAKnCO,wBAAoB,CAAC9uO,IAArB,GAA4B,SAAS+uO,4BAAT,CAAsC7uO,CAAtC,EAAyC;AAAE,aAAO,KAAKA,CAAC,IAAI4uO,oBAAV,EAAgC,gEAAyBZ,gBAAzB,EAA2C,EAA3C,CAAhC,CAAP;AAAyF,KAAhK;;AACAY,wBAAoB,CAACnxM,IAArB,GAA4B,gEAAyB;AAAE3pC,UAAI,EAAE86O,oBAAR;AAA8BlxM,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,EAA4B,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAA5B,EAAuD,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAvD,EAAiF,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAjF,EAAwG,CAAC,MAAD,EAAS,CAAT,EAAY,UAAZ,EAAwB,EAAxB,CAAxG,EAAqI,CAAC,EAAD,EAAK,QAAL,EAAe,EAAf,CAArI,CAAzC;AAAmM6M,cAAQ,EAAE,EAA7M;AAAiNC,kBAAY,EAAE,SAASskM,iCAAT,CAA2CpkM,EAA3C,EAA+C76B,GAA/C,EAAoD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC9U,oEAAmB,cAAnB,EAAmC76B,GAAG,CAACqiK,EAAJ,CAAO,WAAP,CAAnC,EAAwD,YAAxD,EAAsEriK,GAAG,CAACqiK,EAAJ,CAAO,SAAP,CAAtE,EAAyF,aAAzF,EAAwGriK,GAAG,CAACqiK,EAAJ,CAAO,UAAP,CAAxG,EAA4H,UAA5H,EAAwIriK,GAAG,CAACqiK,EAAJ,CAAO,OAAP,CAAxI,EAAyJ,UAAzJ,EAAqKriK,GAAG,CAACqiK,EAAJ,CAAO,OAAP,CAArK,EAAsL,YAAtL,EAAoMriK,GAAG,CAACqiK,EAAJ,CAAO,SAAP,CAApM,EAAuN,YAAvN,EAAqOriK,GAAG,CAACqiK,EAAJ,CAAO,SAAP,CAArO;AACH;AAAE,OAF8C;AAE5Cr0I,cAAQ,EAAE,CAAC,wEAAD;AAFkC,KAAzB,CAA5B;;AAGA+wM,wBAAoB,CAACn7M,cAArB,GAAsC;AAAA,aAAM,CACxC;AAAE3/B,YAAI,EAAEk6O,gBAAR;AAA0Bt6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB;AAAtC,OADwC,CAAN;AAAA,KAAtC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBwuO,oBAAzB,EAA+C,CAAC;AAC1G96O,YAAI,EAAE,uDADoG;AAE1GimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,0FADX;AAECy1C,cAAI,EAAE6jM;AAFP,SAAD;AAFoG,OAAD,CAA/C,EAM1D,YAAY;AAAE,eAAO,CAAC;AAAE16O,cAAI,EAAEk6O,gBAAR;AAA0Bt6M,oBAAU,EAAE,CAAC;AACrD5/B,gBAAI,EAAE;AAD+C,WAAD,EAErD;AACCA,gBAAI,EAAE;AADP,WAFqD;AAAtC,SAAD,CAAP;AAIF,OAV8C,EAU5C,IAV4C,CAAnD;AAUe,KAV9B;AAYA;;;;;;;;;AAOA,QAAMi7O,iBAAiB,GAAG;AACtBC,qBAAe,0MADO;AAWtBC,mBAAa,+RAXS;AAuBtBC,mBAAa,wYAvBS;AAsCtBC,kBAAY,oJAtCU;AA4CtBC,0BAAoB;AA5CE,KAA1B;AAoDA;;;;;;;;QAOMC,c;;;;;;;;;eACF,kCAAgC;AAC5B,gBAAM,IAAIv0O,KAAJ,uOAKNi0O,iBAAiB,CAACC,eALZ,EAAN;AAMH;;;eACD,iCAA+B;AAC3B,gBAAM,IAAIl0O,KAAJ,+RAKJi0O,iBAAiB,CAACE,aALd,gHASJF,iBAAiB,CAACI,YATd,EAAN;AAUH;;;eACD,gCAA8B;AAC1B,gBAAM,IAAIr0O,KAAJ,oGAILi0O,iBAAiB,CAACC,eAJb,EAAN;AAKH;;;eACD,gCAA8B;AAC1B,gBAAM,IAAIl0O,KAAJ,oOAKNi0O,iBAAiB,CAACE,aALZ,EAAN;AAMH;;;eACD,gCAA8B;AAC1B,gBAAM,IAAIn0O,KAAJ,yOAKJi0O,iBAAiB,CAACG,aALd,EAAN;AAMH;;;eACD,+BAA6B;AACzBhgN,iBAAO,CAACC,IAAR;AAWH;;;eACD,wBAAsB2uF,aAAtB,EAAqC;AACjC5uF,iBAAO,CAACC,IAAR,8EAC2D2uF,aAD3D,qTAO2BA,aAAa,KAAK,aAAlB,GAAkC,sBAAlC,GACvB,iBARJ;AAUH;;;;;AAGL;;;;;;;;;AAOA,aAASwxH,WAAT,CAAqB17O,IAArB,EAA2B2qB,MAA3B,EAAmC;AAC/B,0CAAWA,MAAM,CAAC+lF,IAAlB,IAAwB1wG,IAAxB;AACH;AACD;;;;;;;;;AAOA,aAAS27O,YAAT,CAAsB9mJ,OAAtB,EAA+B5+C,GAA/B,EAAoC;AAChC,UAAI,OAAOzpC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,CAACqoF,OAAL,EACIsiI,WAAW,CAAClhL,GAAD,EAAM,0BAAN,CAAX;AACJ,YAAI,CAACA,GAAG,CAACukM,aAAT,EACIrjB,WAAW,CAAClhL,GAAD,EAAM,yCAAN,CAAX;AACP;;AACD2lM,qBAAe,CAAC/mJ,OAAD,EAAU5+C,GAAV;AAAe;AAA8B,UAA7C,CAAf;AACAA,SAAG,CAACukM,aAAJ,CAAkBqB,UAAlB,CAA6BhnJ,OAAO,CAACxsF,KAArC;AACAyzO,6BAAuB,CAACjnJ,OAAD,EAAU5+C,GAAV,CAAvB;AACA8lM,8BAAwB,CAAClnJ,OAAD,EAAU5+C,GAAV,CAAxB;AACA+lM,uBAAiB,CAACnnJ,OAAD,EAAU5+C,GAAV,CAAjB;AACAgmM,gCAA0B,CAACpnJ,OAAD,EAAU5+C,GAAV,CAA1B;AACH;AACD;;;;;;;;;;;;;AAWA,aAASimM,cAAT,CAAwBrnJ,OAAxB,EAAiC5+C,GAAjC,EAA8E;AAAA,UAAxCkmM,+BAAwC,uEAAN,IAAM;;AAC1E,UAAMryK,IAAI,GAAG,SAAPA,IAAO,GAAM;AACf,YAAIqyK,+BAA+B,KAAK,OAAO3vO,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAnC,EAAwF;AACpF4vO,yBAAe,CAACnmM,GAAD,CAAf;AACH;AACJ,OAJD,CAD0E,CAM1E;AACA;AACA;AACA;AACA;;;AACA,UAAIA,GAAG,CAACukM,aAAR,EAAuB;AACnBvkM,WAAG,CAACukM,aAAJ,CAAkB6B,gBAAlB,CAAmCvyK,IAAnC;AACA7zB,WAAG,CAACukM,aAAJ,CAAkB8B,iBAAlB,CAAoCxyK,IAApC;AACH;;AACDyyK,uBAAiB,CAAC1nJ,OAAD,EAAU5+C,GAAV;AAAe;AAA8B,UAA7C,CAAjB;;AACA,UAAI4+C,OAAJ,EAAa;AACT5+C,WAAG,CAACumM,yBAAJ;;AACA3nJ,eAAO,CAAC4nJ,2BAAR,CAAoC,YAAM,CAAG,CAA7C;AACH;AACJ;;AACD,aAASC,yBAAT,CAAmC1E,UAAnC,EAA+C1C,QAA/C,EAAyD;AACrD0C,gBAAU,CAACv1O,OAAX,CAAmB,UAACi2O,SAAD,EAAe;AAC9B,YAAIA,SAAS,CAACgE,yBAAd,EACIhE,SAAS,CAACgE,yBAAV,CAAoCpH,QAApC;AACP,OAHD;AAIH;AACD;;;;;;;;;AAOA,aAAS2G,0BAAT,CAAoCpnJ,OAApC,EAA6C5+C,GAA7C,EAAkD;AAC9C,UAAIA,GAAG,CAACukM,aAAJ,CAAkBmC,gBAAtB,EAAwC;AACpC,YAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACx3M,UAAD,EAAgB;AACrC6Q,aAAG,CAACukM,aAAJ,CAAkBmC,gBAAlB,CAAmCv3M,UAAnC;AACH,SAFD;;AAGAyvD,eAAO,CAACgoJ,wBAAR,CAAiCD,gBAAjC,EAJoC,CAKpC;AACA;;AACA3mM,WAAG,CAAC6mM,kBAAJ,CAAuB,YAAM;AACzBjoJ,iBAAO,CAACkoJ,2BAAR,CAAoCH,gBAApC;AACH,SAFD;AAGH;AACJ;AACD;;;;;;;;;;;AASA,aAAShB,eAAT,CAAyB/mJ,OAAzB,EAAkC5+C,GAAlC,EAAuC+mM,uBAAvC,EAAgE;AAC5D,UAAMhF,UAAU,GAAGoB,oBAAoB,CAACvkJ,OAAD,CAAvC;;AACA,UAAI5+C,GAAG,CAACyiM,SAAJ,KAAkB,IAAtB,EAA4B;AACxB7jJ,eAAO,CAACooJ,aAAR,CAAsBhE,eAAe,CAACjB,UAAD,EAAa/hM,GAAG,CAACyiM,SAAjB,CAArC;AACH,OAFD,MAGK,IAAI,OAAOV,UAAP,KAAsB,UAA1B,EAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACAnjJ,eAAO,CAACooJ,aAAR,CAAsB,CAACjF,UAAD,CAAtB;AACH;;AACD,UAAMkF,eAAe,GAAG5D,yBAAyB,CAACzkJ,OAAD,CAAjD;;AACA,UAAI5+C,GAAG,CAACknM,cAAJ,KAAuB,IAA3B,EAAiC;AAC7BtoJ,eAAO,CAACuoJ,kBAAR,CAA2BnE,eAAe,CAACiE,eAAD,EAAkBjnM,GAAG,CAACknM,cAAtB,CAA1C;AACH,OAFD,MAGK,IAAI,OAAOD,eAAP,KAA2B,UAA/B,EAA2C;AAC5CroJ,eAAO,CAACuoJ,kBAAR,CAA2B,CAACF,eAAD,CAA3B;AACH,OArB2D,CAsB5D;;;AACA,UAAIF,uBAAJ,EAA6B;AACzB,YAAMK,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,iBAAMxoJ,OAAO,CAACyoJ,sBAAR,EAAN;AAAA,SAA1B;;AACAZ,iCAAyB,CAACzmM,GAAG,CAACojM,cAAL,EAAqBgE,iBAArB,CAAzB;AACAX,iCAAyB,CAACzmM,GAAG,CAACsjM,mBAAL,EAA0B8D,iBAA1B,CAAzB;AACH;AACJ;AACD;;;;;;;;;;;;;AAWA,aAASd,iBAAT,CAA2B1nJ,OAA3B,EAAoC5+C,GAApC,EAAyC+mM,uBAAzC,EAAkE;AAC9D,UAAIO,gBAAgB,GAAG,KAAvB;;AACA,UAAI1oJ,OAAO,KAAK,IAAhB,EAAsB;AAClB,YAAI5+C,GAAG,CAACyiM,SAAJ,KAAkB,IAAtB,EAA4B;AACxB,cAAMV,UAAU,GAAGoB,oBAAoB,CAACvkJ,OAAD,CAAvC;;AACA,cAAIlmF,KAAK,CAACC,OAAN,CAAcopO,UAAd,KAA6BA,UAAU,CAAC50O,MAAX,GAAoB,CAArD,EAAwD;AACpD;AACA,gBAAMo6O,iBAAiB,GAAGxF,UAAU,CAACh9N,MAAX,CAAkB,UAAA09N,SAAS;AAAA,qBAAIA,SAAS,KAAKziM,GAAG,CAACyiM,SAAtB;AAAA,aAA3B,CAA1B;;AACA,gBAAI8E,iBAAiB,CAACp6O,MAAlB,KAA6B40O,UAAU,CAAC50O,MAA5C,EAAoD;AAChDm6O,8BAAgB,GAAG,IAAnB;AACA1oJ,qBAAO,CAACooJ,aAAR,CAAsBO,iBAAtB;AACH;AACJ;AACJ;;AACD,YAAIvnM,GAAG,CAACknM,cAAJ,KAAuB,IAA3B,EAAiC;AAC7B,cAAMD,eAAe,GAAG5D,yBAAyB,CAACzkJ,OAAD,CAAjD;;AACA,cAAIlmF,KAAK,CAACC,OAAN,CAAcsuO,eAAd,KAAkCA,eAAe,CAAC95O,MAAhB,GAAyB,CAA/D,EAAkE;AAC9D;AACA,gBAAMq6O,sBAAsB,GAAGP,eAAe,CAACliO,MAAhB,CAAuB,UAAAmiO,cAAc;AAAA,qBAAIA,cAAc,KAAKlnM,GAAG,CAACknM,cAA3B;AAAA,aAArC,CAA/B;;AACA,gBAAIM,sBAAsB,CAACr6O,MAAvB,KAAkC85O,eAAe,CAAC95O,MAAtD,EAA8D;AAC1Dm6O,8BAAgB,GAAG,IAAnB;AACA1oJ,qBAAO,CAACuoJ,kBAAR,CAA2BK,sBAA3B;AACH;AACJ;AACJ;AACJ;;AACD,UAAIT,uBAAJ,EAA6B;AACzB;AACA,YAAMlzK,IAAI,GAAG,SAAPA,IAAO,GAAM,CAAG,CAAtB;;AACA4yK,iCAAyB,CAACzmM,GAAG,CAACojM,cAAL,EAAqBvvK,IAArB,CAAzB;AACA4yK,iCAAyB,CAACzmM,GAAG,CAACsjM,mBAAL,EAA0BzvK,IAA1B,CAAzB;AACH;;AACD,aAAOyzK,gBAAP;AACH;;AACD,aAASzB,uBAAT,CAAiCjnJ,OAAjC,EAA0C5+C,GAA1C,EAA+C;AAC3CA,SAAG,CAACukM,aAAJ,CAAkB6B,gBAAlB,CAAmC,UAAC9jN,QAAD,EAAc;AAC7Cs8D,eAAO,CAAC6oJ,aAAR,GAAwBnlN,QAAxB;AACAs8D,eAAO,CAAC8oJ,cAAR,GAAyB,IAAzB;AACA9oJ,eAAO,CAAC+oJ,aAAR,GAAwB,IAAxB;AACA,YAAI/oJ,OAAO,CAACgpJ,QAAR,KAAqB,QAAzB,EACIC,aAAa,CAACjpJ,OAAD,EAAU5+C,GAAV,CAAb;AACP,OAND;AAOH;;AACD,aAAS+lM,iBAAT,CAA2BnnJ,OAA3B,EAAoC5+C,GAApC,EAAyC;AACrCA,SAAG,CAACukM,aAAJ,CAAkB8B,iBAAlB,CAAoC,YAAM;AACtCznJ,eAAO,CAACkpJ,eAAR,GAA0B,IAA1B;AACA,YAAIlpJ,OAAO,CAACgpJ,QAAR,KAAqB,MAArB,IAA+BhpJ,OAAO,CAAC8oJ,cAA3C,EACIG,aAAa,CAACjpJ,OAAD,EAAU5+C,GAAV,CAAb;AACJ,YAAI4+C,OAAO,CAACgpJ,QAAR,KAAqB,QAAzB,EACIhpJ,OAAO,CAACmpJ,aAAR;AACP,OAND;AAOH;;AACD,aAASF,aAAT,CAAuBjpJ,OAAvB,EAAgC5+C,GAAhC,EAAqC;AACjC,UAAI4+C,OAAO,CAAC+oJ,aAAZ,EACI/oJ,OAAO,CAACopJ,WAAR;AACJppJ,aAAO,CAAC+kE,QAAR,CAAiB/kE,OAAO,CAAC6oJ,aAAzB,EAAwC;AAAEQ,6BAAqB,EAAE;AAAzB,OAAxC;AACAjoM,SAAG,CAACkoM,iBAAJ,CAAsBtpJ,OAAO,CAAC6oJ,aAA9B;AACA7oJ,aAAO,CAAC8oJ,cAAR,GAAyB,KAAzB;AACH;;AACD,aAAS5B,wBAAT,CAAkClnJ,OAAlC,EAA2C5+C,GAA3C,EAAgD;AAC5C,UAAMq/L,QAAQ,GAAG,SAAXA,QAAW,CAAC/8M,QAAD,EAAW6lN,cAAX,EAA8B;AAC3C;AACAnoM,WAAG,CAACukM,aAAJ,CAAkBqB,UAAlB,CAA6BtjN,QAA7B,EAF2C,CAG3C;;AACA,YAAI6lN,cAAJ,EACInoM,GAAG,CAACkoM,iBAAJ,CAAsB5lN,QAAtB;AACP,OAND;;AAOAs8D,aAAO,CAACwnJ,gBAAR,CAAyB/G,QAAzB,EAR4C,CAS5C;AACA;;AACAr/L,SAAG,CAAC6mM,kBAAJ,CAAuB,YAAM;AACzBjoJ,eAAO,CAACwpJ,mBAAR,CAA4B/I,QAA5B;AACH,OAFD;AAGH;AACD;;;;;;;;;AAOA,aAASgJ,kBAAT,CAA4BzpJ,OAA5B,EAAqC5+C,GAArC,EAA0C;AACtC,UAAI4+C,OAAO,IAAI,IAAX,KAAoB,OAAOroF,SAAP,KAAqB,WAArB,IAAoCA,SAAxD,CAAJ,EACI2qN,WAAW,CAAClhL,GAAD,EAAM,0BAAN,CAAX;AACJ2lM,qBAAe,CAAC/mJ,OAAD,EAAU5+C,GAAV;AAAe;AAA8B,WAA7C,CAAf;AACH;AACD;;;;;;;;;AAOA,aAASsoM,oBAAT,CAA8B1pJ,OAA9B,EAAuC5+C,GAAvC,EAA4C;AACxC,aAAOsmM,iBAAiB,CAAC1nJ,OAAD,EAAU5+C,GAAV;AAAe;AAA8B,WAA7C,CAAxB;AACH;;AACD,aAASmmM,eAAT,CAAyBnmM,GAAzB,EAA8B;AAC1B,aAAOkhL,WAAW,CAAClhL,GAAD,EAAM,wEAAN,CAAlB;AACH;;AACD,aAASkhL,WAAT,CAAqBlhL,GAArB,EAA0BnY,OAA1B,EAAmC;AAC/B,UAAI0gN,UAAJ;;AACA,UAAIvoM,GAAG,CAACy6D,IAAJ,CAASttG,MAAT,GAAkB,CAAtB,EAAyB;AACrBo7O,kBAAU,oBAAavoM,GAAG,CAACy6D,IAAJ,CAASvpG,IAAT,CAAc,MAAd,CAAb,MAAV;AACH,OAFD,MAGK,IAAI8uC,GAAG,CAACy6D,IAAJ,CAAS,CAAT,CAAJ,EAAiB;AAClB8tI,kBAAU,oBAAavoM,GAAG,CAACy6D,IAAjB,MAAV;AACH,OAFI,MAGA;AACD8tI,kBAAU,GAAG,4BAAb;AACH;;AACD,YAAM,IAAIt3O,KAAJ,WAAa42B,OAAb,cAAwB0gN,UAAxB,EAAN;AACH;;AACD,aAASC,iBAAT,CAA2B39M,OAA3B,EAAoC49M,SAApC,EAA+C;AAC3C,UAAI,CAAC59M,OAAO,CAACjzB,cAAR,CAAuB,OAAvB,CAAL,EACI,OAAO,KAAP;AACJ,UAAMgzB,MAAM,GAAGC,OAAO,CAAC,OAAD,CAAtB;AACA,UAAID,MAAM,CAAC89M,aAAP,EAAJ,EACI,OAAO,IAAP;AACJ,aAAO,CAACj4O,MAAM,CAAC43K,EAAP,CAAUogE,SAAV,EAAqB79M,MAAM,CAACg3C,YAA5B,CAAR;AACH;;AACD,aAAS+mK,iBAAT,CAA2BpE,aAA3B,EAA0C;AACtC;AACA;AACA,aAAO9zO,MAAM,CAACwrH,cAAP,CAAsBsoH,aAAa,CAAC/5G,WAApC,MAAqDy0G,2BAA5D;AACH;;AACD,aAAS2J,mBAAT,CAA6BvjI,IAA7B,EAAmCrgB,UAAnC,EAA+C;AAC3CqgB,UAAI,CAACwjI,oBAAL;;AACA7jJ,gBAAU,CAACx4F,OAAX,CAAmB,UAAAwzC,GAAG,EAAI;AACtB,YAAM4+C,OAAO,GAAG5+C,GAAG,CAAC4+C,OAApB;;AACA,YAAIA,OAAO,CAACgpJ,QAAR,KAAqB,QAArB,IAAiChpJ,OAAO,CAAC8oJ,cAA7C,EAA6D;AACzD1nM,aAAG,CAACkoM,iBAAJ,CAAsBtpJ,OAAO,CAAC6oJ,aAA9B;AACA7oJ,iBAAO,CAAC8oJ,cAAR,GAAyB,KAAzB;AACH;AACJ,OAND;AAOH,K,CACD;;;AACA,aAASoB,mBAAT,CAA6B9oM,GAA7B,EAAkC+oM,cAAlC,EAAkD;AAC9C,UAAI,CAACA,cAAL,EACI,OAAO,IAAP;AACJ,UAAI,CAACrwO,KAAK,CAACC,OAAN,CAAcowO,cAAd,CAAD,KAAmC,OAAOxyO,SAAP,KAAqB,WAArB,IAAoCA,SAAvE,CAAJ,EACI2qN,WAAW,CAAClhL,GAAD,EAAM,mEAAN,CAAX;AACJ,UAAIgpM,eAAe,GAAGl3O,SAAtB;AACA,UAAIm3O,eAAe,GAAGn3O,SAAtB;AACA,UAAIo3O,cAAc,GAAGp3O,SAArB;AACAi3O,oBAAc,CAACv8O,OAAf,CAAuB,UAAC2W,CAAD,EAAO;AAC1B,YAAIA,CAAC,CAACqnH,WAAF,KAAkBs1G,oBAAtB,EAA4C;AACxCkJ,yBAAe,GAAG7lO,CAAlB;AACH,SAFD,MAGK,IAAIwlO,iBAAiB,CAACxlO,CAAD,CAArB,EAA0B;AAC3B,cAAI8lO,eAAe,KAAK,OAAO1yO,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAnB,EACI2qN,WAAW,CAAClhL,GAAD,EAAM,iEAAN,CAAX;AACJipM,yBAAe,GAAG9lO,CAAlB;AACH,SAJI,MAKA;AACD,cAAI+lO,cAAc,KAAK,OAAO3yO,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAlB,EACI2qN,WAAW,CAAClhL,GAAD,EAAM,+DAAN,CAAX;AACJkpM,wBAAc,GAAG/lO,CAAjB;AACH;AACJ,OAdD;AAeA,UAAI+lO,cAAJ,EACI,OAAOA,cAAP;AACJ,UAAID,eAAJ,EACI,OAAOA,eAAP;AACJ,UAAID,eAAJ,EACI,OAAOA,eAAP;;AACJ,UAAI,OAAOzyO,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C2qN,mBAAW,CAAClhL,GAAD,EAAM,+CAAN,CAAX;AACH;;AACD,aAAO,IAAP;AACH;;AACD,aAASmpM,cAAT,CAAwB9oL,IAAxB,EAA8Bz5B,EAA9B,EAAkC;AAC9B,UAAM5W,KAAK,GAAGqwC,IAAI,CAAC1tD,OAAL,CAAai0B,EAAb,CAAd;AACA,UAAI5W,KAAK,GAAG,CAAC,CAAb,EACIqwC,IAAI,CAACjoD,MAAL,CAAY4X,KAAZ,EAAmB,CAAnB;AACP,K,CACD;;;AACA,aAASo5N,eAAT,CAAyBr/O,IAAzB,EAA+BE,IAA/B,EAAqCm0D,QAArC,EAA+CirL,aAA/C,EAA8D;AAC1D,UAAIA,aAAa,KAAK,OAAtB,EACI;;AACJ,UAAK,CAACA,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,MAA7C,KAAwD,CAACp/O,IAAI,CAACq/O,uBAA/D,IACCD,aAAa,KAAK,QAAlB,IAA8B,CAACjrL,QAAQ,CAACmrL,mBAD7C,EACmE;AAC/D/D,sBAAc,CAACgE,cAAf,CAA8Bz/O,IAA9B;AACAE,YAAI,CAACq/O,uBAAL,GAA+B,IAA/B;AACAlrL,gBAAQ,CAACmrL,mBAAT,GAA+B,IAA/B;AACH;AACJ;AAED;;;;;;;;AAOA;;;;;;;AAKA,QAAME,KAAK,GAAG,OAAd;AACA;;;;;;AAKA,QAAMC,OAAO,GAAG,SAAhB;AACA;;;;;;;;AAOA,QAAMC,OAAO,GAAG,SAAhB;AACA;;;;;;;;AAOA,QAAMC,QAAQ,GAAG,UAAjB;;AACA,aAASC,KAAT,CAAejrJ,OAAf,EAAwB6b,IAAxB,EAA8BqvI,SAA9B,EAAyC;AACrC,UAAIrvI,IAAI,IAAI,IAAZ,EACI,OAAO,IAAP;;AACJ,UAAI,CAAC/hG,KAAK,CAACC,OAAN,CAAc8hG,IAAd,CAAL,EAA0B;AACtBA,YAAI,GAAGA,IAAI,CAAC19F,KAAL,CAAW+sO,SAAX,CAAP;AACH;;AACD,UAAIpxO,KAAK,CAACC,OAAN,CAAc8hG,IAAd,KAAuBA,IAAI,CAACttG,MAAL,KAAgB,CAA3C,EACI,OAAO,IAAP,CAPiC,CAQrC;AACA;;AACA,UAAI48O,aAAa,GAAGnrJ,OAApB;AACA6b,UAAI,CAACjuG,OAAL,CAAa,UAACzC,IAAD,EAAU;AACnB,YAAIggP,aAAa,YAAYC,SAA7B,EAAwC;AACpCD,uBAAa,GAAGA,aAAa,CAACE,QAAd,CAAuBryO,cAAvB,CAAsC7N,IAAtC,IACZggP,aAAa,CAACE,QAAd,CAAuBlgP,IAAvB,CADY,GAEZ,IAFJ;AAGH,SAJD,MAKK,IAAIggP,aAAa,YAAYG,SAA7B,EAAwC;AACzCH,uBAAa,GAAGA,aAAa,CAACI,EAAd,CAAiBpgP,IAAjB,KAA0B,IAA1C;AACH,SAFI,MAGA;AACDggP,uBAAa,GAAG,IAAhB;AACH;AACJ,OAZD;AAaA,aAAOA,aAAP;AACH;AACD;;;;;AAGA,aAASK,cAAT,CAAwBC,eAAxB,EAAyC;AACrC,aAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAACtI,UAAhD,GAA6DsI,eAA9D,KAAkF,IAAzF;AACH;AACD;;;;;AAGA,aAASE,iBAAT,CAA2B9H,SAA3B,EAAsC;AAClC,aAAO/pO,KAAK,CAACC,OAAN,CAAc8pO,SAAd,IAA2BK,iBAAiB,CAACL,SAAD,CAA5C,GAA0DA,SAAS,IAAI,IAA9E;AACH;AACD;;;;;AAGA,aAAS+H,mBAAT,CAA6BtD,cAA7B,EAA6CmD,eAA7C,EAA8D;AAC1D,aAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAACpD,eAAhD,GAAkEC,cAAnE,KAAsF,IAA7F;AACH;AACD;;;;;AAGA,aAASuD,sBAAT,CAAgCvD,cAAhC,EAAgD;AAC5C,aAAOxuO,KAAK,CAACC,OAAN,CAAcuuO,cAAd,IAAgCnE,sBAAsB,CAACmE,cAAD,CAAtD,GACHA,cAAc,IAAI,IADtB;AAEH;;AACD,aAASoD,YAAT,CAAsBD,eAAtB,EAAuC;AACnC,aAAOA,eAAe,IAAI,IAAnB,IAA2B,CAAC3xO,KAAK,CAACC,OAAN,CAAc0xO,eAAd,CAA5B,IACH,OAAOA,eAAP,KAA2B,QAD/B;AAEH;AACD;;;;;;;;;;;;;;;;QAcMK,e;;;AACF;;;;;;;;AAQA,+BAAY3I,UAAZ,EAAwBkF,eAAxB,EAAyC;AAAA;;AACrC;;;;;AAKA,aAAK0D,4BAAL,GAAoC,KAApC;AACA;;AACA,aAAKC,mBAAL,GAA2B,YAAM,CAAG,CAApC;;AACA,aAAK13D,OAAL,GAAe,IAAf;AACA;;;;;;;;AAOA,aAAKuwD,QAAL,GAAgB,IAAhB;AACA;;;;;;;AAMA,aAAKC,OAAL,GAAe,KAAf;AACA;;AACA,aAAKmH,iBAAL,GAAyB,EAAzB;AACA,aAAKzH,cAAL,GAAsBrB,UAAtB;AACA,aAAKuB,mBAAL,GAA2B2D,eAA3B;AACA,aAAKnD,oBAAL,GAA4ByG,iBAAiB,CAAC,KAAKnH,cAAN,CAA7C;AACA,aAAKW,yBAAL,GAAiC0G,sBAAsB,CAAC,KAAKnH,mBAAN,CAAvD;AACH;AACD;;;;;;;aAGA,eAAgB;AACZ,iBAAO,KAAKQ,oBAAZ;AACH,S;aACD,aAAcgH,WAAd,EAA2B;AACvB,eAAK1H,cAAL,GAAsB,KAAKU,oBAAL,GAA4BgH,WAAlD;AACH;AACD;;;;;;aAGA,eAAqB;AACjB,iBAAO,KAAK/G,yBAAZ;AACH,S;aACD,aAAmBgH,gBAAnB,EAAqC;AACjC,eAAKzH,mBAAL,GAA2B,KAAKS,yBAAL,GAAiCgH,gBAA5D;AACH;AACD;;;;;;aAGA,eAAa;AACT,iBAAO,KAAK73D,OAAZ;AACH;AACD;;;;;;;;;;;aAQA,eAAY;AACR,iBAAO,KAAKjxJ,MAAL,KAAgBwnN,KAAvB;AACH;AACD;;;;;;;;;;;aAQA,eAAc;AACV,iBAAO,KAAKxnN,MAAL,KAAgBynN,OAAvB;AACH;AACD;;;;;;;;;;;aAQA,eAAc;AACV,iBAAO,KAAKznN,MAAL,IAAe0nN,OAAtB;AACH;AACD;;;;;;;;;;;;;;aAWA,eAAe;AACX,iBAAO,KAAK1nN,MAAL,KAAgB2nN,QAAvB;AACH;AACD;;;;;;;;;;;;aASA,eAAc;AACV,iBAAO,KAAK3nN,MAAL,KAAgB2nN,QAAvB;AACH;AACD;;;;;;;;;;aAOA,eAAY;AACR,iBAAO,CAAC,KAAKnG,QAAb;AACH;AACD;;;;;;;;;aAMA,eAAgB;AACZ,iBAAO,CAAC,KAAKC,OAAb;AACH;AACD;;;;;;;;;aAMA,eAAe;AACX,iBAAO,KAAKsH,SAAL,GAAiB,KAAKA,SAAtB,GAAmC,KAAKt2N,MAAL,GAAc,KAAKA,MAAL,CAAYkzN,QAA1B,GAAqC,QAA/E;AACH;AACD;;;;;;;;;;;eAQA,uBAAcqD,YAAd,EAA4B;AACxB,eAAK7H,cAAL,GAAsB6H,YAAtB;AACA,eAAKnH,oBAAL,GAA4ByG,iBAAiB,CAACU,YAAD,CAA7C;AACH;AACD;;;;;;;;;;;eAQA,4BAAmBA,YAAnB,EAAiC;AAC7B,eAAK3H,mBAAL,GAA2B2H,YAA3B;AACA,eAAKlH,yBAAL,GAAiC0G,sBAAsB,CAACQ,YAAD,CAAvD;AACH;AACD;;;;;;;;;;eAOA,2BAAkB;AACd,eAAKxI,SAAL,GAAiB,IAAjB;AACH;AACD;;;;;;;;;;eAOA,gCAAuB;AACnB,eAAKyE,cAAL,GAAsB,IAAtB;AACH;AACD;;;;;;;;;;;;;;;;eAaA,yBAAyB;AAAA,cAAXp8G,IAAW,uEAAJ,EAAI;AACrB,eAAK44G,OAAL,GAAe,IAAf;;AACA,cAAI,KAAKxwD,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAa60D,aAAb,CAA2Bj9G,IAA3B;AACH;AACJ;AACD;;;;;;;eAIA,4BAAmB;AACf,eAAKi9G,aAAL,CAAmB;AAAEmD,oBAAQ,EAAE;AAAZ,WAAnB;;AACA,eAAKC,aAAL,CAAmB,UAACvsJ,OAAD;AAAA,mBAAaA,OAAO,CAACwsJ,gBAAR,EAAb;AAAA,WAAnB;AACH;AACD;;;;;;;;;;;;;;;;;;eAeA,2BAA2B;AAAA,cAAXtgH,IAAW,uEAAJ,EAAI;AACvB,eAAK44G,OAAL,GAAe,KAAf;AACA,eAAKoE,eAAL,GAAuB,KAAvB;;AACA,eAAKqD,aAAL,CAAmB,UAACvsJ,OAAD,EAAa;AAC5BA,mBAAO,CAACysJ,eAAR,CAAwB;AAAEH,sBAAQ,EAAE;AAAZ,aAAxB;AACH,WAFD;;AAGA,cAAI,KAAKh4D,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAao4D,cAAb,CAA4BxgH,IAA5B;AACH;AACJ;AACD;;;;;;;;;;;;;;;;eAaA,uBAAuB;AAAA,cAAXA,IAAW,uEAAJ,EAAI;AACnB,eAAK24G,QAAL,GAAgB,KAAhB;;AACA,cAAI,KAAKvwD,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAa80D,WAAb,CAAyBl9G,IAAzB;AACH;AACJ;AACD;;;;;;;;;;;;;;;;;;;eAgBA,0BAA0B;AAAA,cAAXA,IAAW,uEAAJ,EAAI;AACtB,eAAK24G,QAAL,GAAgB,IAAhB;AACA,eAAKkE,aAAL,GAAqB,KAArB;;AACA,eAAKwD,aAAL,CAAmB,UAACvsJ,OAAD,EAAa;AAC5BA,mBAAO,CAAC2sJ,cAAR,CAAuB;AAAEL,sBAAQ,EAAE;AAAZ,aAAvB;AACH,WAFD;;AAGA,cAAI,KAAKh4D,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAas4D,eAAb,CAA6B1gH,IAA7B;AACH;AACJ;AACD;;;;;;;;;;;;;;;;;;;eAgBA,yBAAyB;AAAA,cAAXA,IAAW,uEAAJ,EAAI;AACrB,eAAK7oG,MAAL,GAAc0nN,OAAd;;AACA,cAAI7+G,IAAI,CAAC2gH,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,iBAAK7H,aAAL,CAAmBxnM,IAAnB,CAAwB,KAAKna,MAA7B;AACH;;AACD,cAAI,KAAKixJ,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAaw4D,aAAb,CAA2B5gH,IAA3B;AACH;AACJ;AACD;;;;;;;;;;;;;;;;;;;;eAiBA,mBAAmB;AAAA,cAAXA,IAAW,uEAAJ,EAAI;;AACf;AACA;AACA,cAAM6gH,iBAAiB,GAAG,KAAKC,kBAAL,CAAwB9gH,IAAI,CAACogH,QAA7B,CAA1B;;AACA,eAAKjpN,MAAL,GAAc2nN,QAAd;AACA,eAAK15O,MAAL,GAAc,IAAd;;AACA,eAAKi7O,aAAL,CAAmB,UAACvsJ,OAAD,EAAa;AAC5BA,mBAAO,CAAC1/D,OAAR,CAAgBzuB,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBy8G,IAAlB,CAAd,EAAuC;AAAEogH,sBAAQ,EAAE;AAAZ,aAAvC,CAAhB;AACH,WAFD;;AAGA,eAAKW,YAAL;;AACA,cAAI/gH,IAAI,CAAC2gH,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,iBAAK5H,YAAL,CAAkBznM,IAAlB,CAAuB,KAAKhqC,KAA5B;AACA,iBAAKwxO,aAAL,CAAmBxnM,IAAnB,CAAwB,KAAKna,MAA7B;AACH;;AACD,eAAK6pN,gBAAL,CAAsBr7O,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBy8G,IAAlB,CAAd,EAAuC;AAAE6gH,6BAAiB,EAAjBA;AAAF,WAAvC,CAAtB;;AACA,eAAKd,iBAAL,CAAuBr+O,OAAvB,CAA+B,UAACu/O,QAAD;AAAA,mBAAcA,QAAQ,CAAC,IAAD,CAAtB;AAAA,WAA/B;AACH;AACD;;;;;;;;;;;;;;;;;;;;;eAkBA,kBAAkB;AAAA,cAAXjhH,IAAW,uEAAJ,EAAI;;AACd;AACA;AACA,cAAM6gH,iBAAiB,GAAG,KAAKC,kBAAL,CAAwB9gH,IAAI,CAACogH,QAA7B,CAA1B;;AACA,eAAKjpN,MAAL,GAAcwnN,KAAd;;AACA,eAAK0B,aAAL,CAAmB,UAACvsJ,OAAD,EAAa;AAC5BA,mBAAO,CAAC15C,MAAR,CAAez0C,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBy8G,IAAlB,CAAd,EAAuC;AAAEogH,sBAAQ,EAAE;AAAZ,aAAvC,CAAf;AACH,WAFD;;AAGA,eAAK7D,sBAAL,CAA4B;AAAE6D,oBAAQ,EAAE,IAAZ;AAAkBO,qBAAS,EAAE3gH,IAAI,CAAC2gH;AAAlC,WAA5B;;AACA,eAAKK,gBAAL,CAAsBr7O,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBy8G,IAAlB,CAAd,EAAuC;AAAE6gH,6BAAiB,EAAjBA;AAAF,WAAvC,CAAtB;;AACA,eAAKd,iBAAL,CAAuBr+O,OAAvB,CAA+B,UAACu/O,QAAD;AAAA,mBAAcA,QAAQ,CAAC,KAAD,CAAtB;AAAA,WAA/B;AACH;;;eACD,0BAAiBjhH,IAAjB,EAAuB;AACnB,cAAI,KAAKooD,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAam0D,sBAAb,CAAoCv8G,IAApC;;AACA,gBAAI,CAACA,IAAI,CAAC6gH,iBAAV,EAA6B;AACzB,mBAAKz4D,OAAL,CAAas4D,eAAb;AACH;;AACD,iBAAKt4D,OAAL,CAAao4D,cAAb;AACH;AACJ;AACD;;;;;;eAGA,mBAAU52N,MAAV,EAAkB;AACd,eAAKw+J,OAAL,GAAex+J,MAAf;AACH;AACD;;;;;;;;;;;;;;;;;eAcA,kCAAkC;AAAA,cAAXo2G,IAAW,uEAAJ,EAAI;;AAC9B,eAAKkhH,iBAAL;;AACA,eAAKH,YAAL;;AACA,cAAI,KAAKxgN,OAAT,EAAkB;AACd,iBAAK4gN,2BAAL;;AACA,iBAAK/7O,MAAL,GAAc,KAAKg8O,aAAL,EAAd;AACA,iBAAKjqN,MAAL,GAAc,KAAKkqN,gBAAL,EAAd;;AACA,gBAAI,KAAKlqN,MAAL,KAAgBwnN,KAAhB,IAAyB,KAAKxnN,MAAL,KAAgB0nN,OAA7C,EAAsD;AAClD,mBAAKyC,kBAAL,CAAwBthH,IAAI,CAAC2gH,SAA7B;AACH;AACJ;;AACD,cAAI3gH,IAAI,CAAC2gH,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,iBAAK5H,YAAL,CAAkBznM,IAAlB,CAAuB,KAAKhqC,KAA5B;AACA,iBAAKwxO,aAAL,CAAmBxnM,IAAnB,CAAwB,KAAKna,MAA7B;AACH;;AACD,cAAI,KAAKixJ,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAam0D,sBAAb,CAAoCv8G,IAApC;AACH;AACJ;AACD;;;;eACA,+BAAgD;AAAA,cAA5BA,IAA4B,uEAArB;AAAE2gH,qBAAS,EAAE;AAAb,WAAqB;;AAC5C,eAAKN,aAAL,CAAmB,UAACkB,IAAD;AAAA,mBAAUA,IAAI,CAACC,mBAAL,CAAyBxhH,IAAzB,CAAV;AAAA,WAAnB;;AACA,eAAKu8G,sBAAL,CAA4B;AAAE6D,oBAAQ,EAAE,IAAZ;AAAkBO,qBAAS,EAAE3gH,IAAI,CAAC2gH;AAAlC,WAA5B;AACH;;;eACD,6BAAoB;AAChB,eAAKxpN,MAAL,GAAc,KAAKsqN,oBAAL,KAA8B3C,QAA9B,GAAyCH,KAAvD;AACH;;;eACD,yBAAgB;AACZ,iBAAO,KAAKhH,SAAL,GAAiB,KAAKA,SAAL,CAAe,IAAf,CAAjB,GAAwC,IAA/C;AACH;;;eACD,4BAAmBgJ,SAAnB,EAA8B;AAAA;;AAC1B,cAAI,KAAKvE,cAAT,EAAyB;AACrB,iBAAKjlN,MAAL,GAAc0nN,OAAd;AACA,iBAAKgB,4BAAL,GAAoC,IAApC;AACA,gBAAMtI,GAAG,GAAGD,YAAY,CAAC,KAAK8E,cAAL,CAAoB,IAApB,CAAD,CAAxB;AACA,iBAAKsF,4BAAL,GAAoCnK,GAAG,CAACv3M,SAAJ,CAAc,UAAC56B,MAAD,EAAY;AAC1D,sBAAI,CAACy6O,4BAAL,GAAoC,KAApC,CAD0D,CAE1D;AACA;AACA;;AACA,sBAAI,CAAC8B,SAAL,CAAev8O,MAAf,EAAuB;AAAEu7O,yBAAS,EAATA;AAAF,eAAvB;AACH,aANmC,CAApC;AAOH;AACJ;;;eACD,uCAA8B;AAC1B,cAAI,KAAKe,4BAAT,EAAuC;AACnC,iBAAKA,4BAAL,CAAkC9gN,WAAlC;;AACA,iBAAKi/M,4BAAL,GAAoC,KAApC;AACH;AACJ;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;eAuBA,mBAAUz6O,MAAV,EAA6B;AAAA,cAAX46H,IAAW,uEAAJ,EAAI;AACzB,eAAK56H,MAAL,GAAcA,MAAd;;AACA,eAAKw8O,qBAAL,CAA2B5hH,IAAI,CAAC2gH,SAAL,KAAmB,KAA9C;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4BA,aAAIhxI,IAAJ,EAAU;AACN,iBAAOovI,KAAK,CAAC,IAAD,EAAOpvI,IAAP,EAAa,GAAb,CAAZ;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA2BA,kBAASupI,SAAT,EAAoBvpI,IAApB,EAA0B;AACtB,cAAM7b,OAAO,GAAG6b,IAAI,GAAG,KAAKnoG,GAAL,CAASmoG,IAAT,CAAH,GAAoB,IAAxC;AACA,iBAAO7b,OAAO,IAAIA,OAAO,CAAC1uF,MAAnB,GAA4B0uF,OAAO,CAAC1uF,MAAR,CAAe8zO,SAAf,CAA5B,GAAwD,IAA/D;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8BA,kBAASA,SAAT,EAAoBvpI,IAApB,EAA0B;AACtB,iBAAO,CAAC,CAAC,KAAKwpI,QAAL,CAAcD,SAAd,EAAyBvpI,IAAzB,CAAT;AACH;AACD;;;;;;aAGA,eAAW;AACP,cAAI1zD,CAAC,GAAG,IAAR;;AACA,iBAAOA,CAAC,CAACmsI,OAAT,EAAkB;AACdnsI,aAAC,GAAGA,CAAC,CAACmsI,OAAN;AACH;;AACD,iBAAOnsI,CAAP;AACH;AACD;;;;eACA,+BAAsB0kM,SAAtB,EAAiC;AAC7B,eAAKxpN,MAAL,GAAc,KAAKkqN,gBAAL,EAAd;;AACA,cAAIV,SAAJ,EAAe;AACX,iBAAK7H,aAAL,CAAmBxnM,IAAnB,CAAwB,KAAKna,MAA7B;AACH;;AACD,cAAI,KAAKixJ,OAAT,EAAkB;AACd,iBAAKA,OAAL,CAAaw5D,qBAAb,CAAmCjB,SAAnC;AACH;AACJ;AACD;;;;eACA,4BAAmB;AACf,eAAK5H,YAAL,GAAoB,IAAI,0DAAJ,EAApB;AACA,eAAKD,aAAL,GAAqB,IAAI,0DAAJ,EAArB;AACH;;;eACD,4BAAmB;AACf,cAAI,KAAK2I,oBAAL,EAAJ,EACI,OAAO3C,QAAP;AACJ,cAAI,KAAK15O,MAAT,EACI,OAAOw5O,OAAP;AACJ,cAAI,KAAKiB,4BAAL,IAAqC,KAAKgC,sBAAL,CAA4BhD,OAA5B,CAAzC,EACI,OAAOA,OAAP;AACJ,cAAI,KAAKgD,sBAAL,CAA4BjD,OAA5B,CAAJ,EACI,OAAOA,OAAP;AACJ,iBAAOD,KAAP;AACH;AACD;;;;eACA,gCAAuBxnN,MAAvB,EAA+B;AAC3B,iBAAO,KAAK2qN,YAAL,CAAkB,UAAChuJ,OAAD;AAAA,mBAAaA,OAAO,CAAC38D,MAAR,KAAmBA,MAAhC;AAAA,WAAlB,CAAP;AACH;AACD;;;;eACA,6BAAoB;AAChB,iBAAO,KAAK2qN,YAAL,CAAkB,UAAChuJ,OAAD;AAAA,mBAAaA,OAAO,CAACmzE,KAArB;AAAA,WAAlB,CAAP;AACH;AACD;;;;eACA,+BAAsB;AAClB,iBAAO,KAAK66E,YAAL,CAAkB,UAAChuJ,OAAD;AAAA,mBAAaA,OAAO,CAAC8kJ,OAArB;AAAA,WAAlB,CAAP;AACH;AACD;;;;eACA,2BAA2B;AAAA,cAAX54G,IAAW,uEAAJ,EAAI;AACvB,eAAK24G,QAAL,GAAgB,CAAC,KAAKoJ,iBAAL,EAAjB;;AACA,cAAI,KAAK35D,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAas4D,eAAb,CAA6B1gH,IAA7B;AACH;AACJ;AACD;;;;eACA,0BAA0B;AAAA,cAAXA,IAAW,uEAAJ,EAAI;AACtB,eAAK44G,OAAL,GAAe,KAAKoJ,mBAAL,EAAf;;AACA,cAAI,KAAK55D,OAAL,IAAgB,CAACpoD,IAAI,CAACogH,QAA1B,EAAoC;AAChC,iBAAKh4D,OAAL,CAAao4D,cAAb,CAA4BxgH,IAA5B;AACH;AACJ;AACD;;;;eACA,uBAAciiH,SAAd,EAAyB;AACrB,iBAAO,OAAOA,SAAP,KAAqB,QAArB,IAAiCA,SAAS,KAAK,IAA/C,IACHt8O,MAAM,CAACC,IAAP,CAAYq8O,SAAZ,EAAuB5/O,MAAvB,KAAkC,CAD/B,IACoC,WAAW4/O,SAD/C,IAC4D,cAAcA,SADjF;AAEH;AACD;;;;eACA,qCAA4BtgP,EAA5B,EAAgC;AAC5B,eAAKm+O,mBAAL,GAA2Bn+O,EAA3B;AACH;AACD;;;;eACA,4BAAmBq+H,IAAnB,EAAyB;AACrB,cAAIw/G,YAAY,CAACx/G,IAAD,CAAZ,IAAsBA,IAAI,CAAC88G,QAAL,IAAiB,IAA3C,EAAiD;AAC7C,iBAAKoD,SAAL,GAAiBlgH,IAAI,CAAC88G,QAAtB;AACH;AACJ;AACD;;;;;;;;eAKA,4BAAmBsD,QAAnB,EAA6B;AACzB,cAAM8B,WAAW,GAAG,KAAK95D,OAAL,IAAgB,KAAKA,OAAL,CAAanhB,KAAjD;AACA,iBAAO,CAACm5E,QAAD,IAAa,CAAC,CAAC8B,WAAf,IAA8B,CAAC,KAAK95D,OAAL,CAAa25D,iBAAb,EAAtC;AACH;;;;;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiGMI,W;;;;;;;AACF;;;;;;;;;;;;;AAaA,6BAA+D;AAAA;;AAAA,YAAnDF,SAAmD,uEAAvC,IAAuC;AAAA,YAAjC1C,eAAiC;AAAA,YAAhBnD,cAAgB;;AAAA;;AAC3D,uCAAMkD,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACtD,cAAD,EAAiBmD,eAAjB,CAA1D;AACA;;AACA,iBAAK6C,SAAL,GAAiB,EAAjB;;AACA,iBAAKC,eAAL,CAAqBJ,SAArB;;AACA,iBAAKK,kBAAL,CAAwB/C,eAAxB;;AACA,iBAAKgD,gBAAL;;AACA,iBAAKhG,sBAAL,CAA4B;AACxB6D,kBAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAO,mBAAS,EAAE,CAAC,CAACvE;AANW,SAA5B;;AAP2D;AAe9D;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;eAuBA,kBAAS90O,KAAT,EAA8B;AAAA;;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;AAC1B,eAAKkI,KAAL,GAAa,KAAKq1O,aAAL,GAAqBr1O,KAAlC;;AACA,cAAI,KAAK86O,SAAL,CAAe//O,MAAf,IAAyBjD,OAAO,CAAC+9O,qBAAR,KAAkC,KAA/D,EAAsE;AAClE,iBAAKiF,SAAL,CAAe1gP,OAAf,CAAuB,UAACu/O,QAAD;AAAA,qBAAcA,QAAQ,CAAC,QAAI,CAAC35O,KAAN,EAAalI,OAAO,CAACojP,qBAAR,KAAkC,KAA/C,CAAtB;AAAA,aAAvB;AACH;;AACD,eAAKjG,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;;;;eASA,oBAAWkI,KAAX,EAAgC;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;AAC5B,eAAKy5J,QAAL,CAAcvxJ,KAAd,EAAqBlI,OAArB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;eAkBA,iBAAsC;AAAA,cAAhC6iP,SAAgC,uEAApB,IAAoB;AAAA,cAAd7iP,OAAc,uEAAJ,EAAI;;AAClC,eAAKijP,eAAL,CAAqBJ,SAArB;;AACA,eAAKxB,cAAL,CAAoBrhP,OAApB;AACA,eAAKmhP,eAAL,CAAqBnhP,OAArB;AACA,eAAKy5J,QAAL,CAAc,KAAKvxJ,KAAnB,EAA0BlI,OAA1B;AACA,eAAKw9O,cAAL,GAAsB,KAAtB;AACH;AACD;;;;;;eAGA,wBAAe,CAAG;AAClB;;;;;;eAGA,sBAAa71H,SAAb,EAAwB;AACpB,iBAAO,KAAP;AACH;AACD;;;;;;eAGA,gCAAuB;AACnB,iBAAO,KAAKpgH,QAAZ;AACH;AACD;;;;;;;;eAKA,0BAAiBhF,EAAjB,EAAqB;AACjB,eAAKygP,SAAL,CAAexgP,IAAf,CAAoBD,EAApB;AACH;AACD;;;;;;;eAIA,6BAAoBA,EAApB,EAAwB;AACpB08O,wBAAc,CAAC,KAAK+D,SAAN,EAAiBzgP,EAAjB,CAAd;AACH;AACD;;;;;;;;eAKA,kCAAyBA,EAAzB,EAA6B;AACzB,eAAKo+O,iBAAL,CAAuBn+O,IAAvB,CAA4BD,EAA5B;AACH;AACD;;;;;;;eAIA,qCAA4BA,EAA5B,EAAgC;AAC5B08O,wBAAc,CAAC,KAAK0B,iBAAN,EAAyBp+O,EAAzB,CAAd;AACH;AACD;;;;;;eAGA,uBAAcjB,EAAd,EAAkB,CAAG;AACrB;;;;eACA,gCAAuB;AACnB,cAAI,KAAKo8O,QAAL,KAAkB,QAAtB,EAAgC;AAC5B,gBAAI,KAAKD,aAAT,EACI,KAAKK,WAAL;AACJ,gBAAI,KAAKF,eAAT,EACI,KAAKC,aAAL;;AACJ,gBAAI,KAAKL,cAAT,EAAyB;AACrB,mBAAK/jF,QAAL,CAAc,KAAK8jF,aAAnB,EAAkC;AAAEyD,wBAAQ,EAAE,IAAZ;AAAkBjD,qCAAqB,EAAE;AAAzC,eAAlC;AACA,qBAAO,IAAP;AACH;AACJ;;AACD,iBAAO,KAAP;AACH;;;eACD,yBAAgB8E,SAAhB,EAA2B;AACvB,cAAI,KAAKQ,aAAL,CAAmBR,SAAnB,CAAJ,EAAmC;AAC/B,iBAAK36O,KAAL,GAAa,KAAKq1O,aAAL,GAAqBsF,SAAS,CAAC36O,KAA5C;AACA26O,qBAAS,CAACt7O,QAAV,GAAqB,KAAKytB,OAAL,CAAa;AAAEgsN,sBAAQ,EAAE,IAAZ;AAAkBO,uBAAS,EAAE;AAA7B,aAAb,CAArB,GACI,KAAKvmM,MAAL,CAAY;AAAEgmM,sBAAQ,EAAE,IAAZ;AAAkBO,uBAAS,EAAE;AAA7B,aAAZ,CADJ;AAEH,WAJD,MAKK;AACD,iBAAKr5O,KAAL,GAAa,KAAKq1O,aAAL,GAAqBsF,SAAlC;AACH;AACJ;;;;MA1KqBrC,e;AA4K1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwEMV,S;;;;;;;AACF;;;;;;;;;;;;;AAaA,yBAAYC,QAAZ,EAAsBI,eAAtB,EAAuCnD,cAAvC,EAAuD;AAAA;;AAAA;;AACnD,uCAAMkD,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACtD,cAAD,EAAiBmD,eAAjB,CAA1D;AACA,iBAAKJ,QAAL,GAAgBA,QAAhB;;AACA,iBAAKoD,gBAAL;;AACA,iBAAKD,kBAAL,CAAwB/C,eAAxB;;AACA,iBAAKmD,cAAL;;AACA,iBAAKnG,sBAAL,CAA4B;AACxB6D,kBAAQ,EAAE,IADc;AAExB;AACA;AACA;AACAO,mBAAS,EAAE,CAAC,CAACvE;AALW,SAA5B;;AANmD;AAatD;AACD;;;;;;;;;;;;;eASA,yBAAgBn9O,IAAhB,EAAsB60F,OAAtB,EAA+B;AAC3B,cAAI,KAAKqrJ,QAAL,CAAclgP,IAAd,CAAJ,EACI,OAAO,KAAKkgP,QAAL,CAAclgP,IAAd,CAAP;AACJ,eAAKkgP,QAAL,CAAclgP,IAAd,IAAsB60F,OAAtB;AACAA,iBAAO,CAAC6uJ,SAAR,CAAkB,IAAlB;;AACA7uJ,iBAAO,CAAC4nJ,2BAAR,CAAoC,KAAKoE,mBAAzC;;AACA,iBAAOhsJ,OAAP;AACH;AACD;;;;;;;;;;;eAQA,oBAAW70F,IAAX,EAAiB60F,OAAjB,EAA0B;AACtB,eAAK8uJ,eAAL,CAAqB3jP,IAArB,EAA2B60F,OAA3B;AACA,eAAKyoJ,sBAAL;;AACA,eAAKuD,mBAAL;AACH;AACD;;;;;;;;eAKA,uBAAc7gP,IAAd,EAAoB;AAChB,cAAI,KAAKkgP,QAAL,CAAclgP,IAAd,CAAJ,EACI,KAAKkgP,QAAL,CAAclgP,IAAd,EAAoBy8O,2BAApB,CAAgD,YAAM,CAAG,CAAzD;AACJ,iBAAQ,KAAKyD,QAAL,CAAclgP,IAAd,CAAR;AACA,eAAKs9O,sBAAL;;AACA,eAAKuD,mBAAL;AACH;AACD;;;;;;;;;eAMA,oBAAW7gP,IAAX,EAAiB60F,OAAjB,EAA0B;AACtB,cAAI,KAAKqrJ,QAAL,CAAclgP,IAAd,CAAJ,EACI,KAAKkgP,QAAL,CAAclgP,IAAd,EAAoBy8O,2BAApB,CAAgD,YAAM,CAAG,CAAzD;AACJ,iBAAQ,KAAKyD,QAAL,CAAclgP,IAAd,CAAR;AACA,cAAI60F,OAAJ,EACI,KAAK8uJ,eAAL,CAAqB3jP,IAArB,EAA2B60F,OAA3B;AACJ,eAAKyoJ,sBAAL;;AACA,eAAKuD,mBAAL;AACH;AACD;;;;;;;;;;;;;eAUA,kBAAS+C,WAAT,EAAsB;AAClB,iBAAO,KAAK1D,QAAL,CAAcryO,cAAd,CAA6B+1O,WAA7B,KAA6C,KAAK1D,QAAL,CAAc0D,WAAd,EAA2BtiN,OAA/E;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAmCA,kBAASj5B,KAAT,EAA8B;AAAA;;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;;AAC1B,eAAK0jP,sBAAL,CAA4Bx7O,KAA5B;;AACA3B,gBAAM,CAACC,IAAP,CAAY0B,KAAZ,EAAmB5F,OAAnB,CAA2B,UAAAzC,IAAI,EAAI;AAC/B,oBAAI,CAAC8jP,sBAAL,CAA4B9jP,IAA5B;;AACA,oBAAI,CAACkgP,QAAL,CAAclgP,IAAd,EAAoB45J,QAApB,CAA6BvxJ,KAAK,CAACrI,IAAD,CAAlC,EAA0C;AAAEmhP,sBAAQ,EAAE,IAAZ;AAAkBO,uBAAS,EAAEvhP,OAAO,CAACuhP;AAArC,aAA1C;AACH,WAHD;AAIA,eAAKpE,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+BA,oBAAWkI,KAAX,EAAgC;AAAA;;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;AAC5B;AACA;AACA;AACA;AACA,cAAIkI,KAAK,IAAI;AAAK;AAAlB,YACI;AACJ3B,gBAAM,CAACC,IAAP,CAAY0B,KAAZ,EAAmB5F,OAAnB,CAA2B,UAAAzC,IAAI,EAAI;AAC/B,gBAAI,QAAI,CAACkgP,QAAL,CAAclgP,IAAd,CAAJ,EAAyB;AACrB,sBAAI,CAACkgP,QAAL,CAAclgP,IAAd,EAAoB+jP,UAApB,CAA+B17O,KAAK,CAACrI,IAAD,CAApC,EAA4C;AAAEmhP,wBAAQ,EAAE,IAAZ;AAAkBO,yBAAS,EAAEvhP,OAAO,CAACuhP;AAArC,eAA5C;AACH;AACJ,WAJD;AAKA,eAAKpE,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAyDA,iBAAgC;AAAA,cAA1BkI,KAA0B,uEAAlB,EAAkB;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;;AAC5B,eAAKihP,aAAL,CAAmB,UAACvsJ,OAAD,EAAU70F,IAAV,EAAmB;AAClC60F,mBAAO,CAACnwF,KAAR,CAAc2D,KAAK,CAACrI,IAAD,CAAnB,EAA2B;AAAEmhP,sBAAQ,EAAE,IAAZ;AAAkBO,uBAAS,EAAEvhP,OAAO,CAACuhP;AAArC,aAA3B;AACH,WAFD;;AAGA,eAAKD,eAAL,CAAqBthP,OAArB;;AACA,eAAKohP,cAAL,CAAoBphP,OAApB;;AACA,eAAKm9O,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;;eAOA,uBAAc;AACV,iBAAO,KAAK6jP,eAAL,CAAqB,EAArB,EAAyB,UAAC19I,GAAD,EAAMzR,OAAN,EAAe70F,IAAf,EAAwB;AACpDsmG,eAAG,CAACtmG,IAAD,CAAH,GAAY60F,OAAO,YAAYquJ,WAAnB,GAAiCruJ,OAAO,CAACxsF,KAAzC,GAAiDwsF,OAAO,CAACovJ,WAAR,EAA7D;AACA,mBAAO39I,GAAP;AACH,WAHM,CAAP;AAIH;AACD;;;;eACA,gCAAuB;AACnB,cAAI49I,cAAc,GAAG,KAAKF,eAAL,CAAqB,KAArB,EAA4B,UAACG,OAAD,EAAU9vG,KAAV,EAAoB;AACjE,mBAAOA,KAAK,CAACyqG,oBAAN,KAA+B,IAA/B,GAAsCqF,OAA7C;AACH,WAFoB,CAArB;;AAGA,cAAID,cAAJ,EACI,KAAK5G,sBAAL,CAA4B;AAAE6D,oBAAQ,EAAE;AAAZ,WAA5B;AACJ,iBAAO+C,cAAP;AACH;AACD;;;;eACA,gCAAuBlkP,IAAvB,EAA6B;AACzB,cAAI,CAAC0G,MAAM,CAACC,IAAP,CAAY,KAAKu5O,QAAjB,EAA2B98O,MAAhC,EAAwC;AACpC,kBAAM,IAAI8D,KAAJ,yKAAN;AAIH;;AACD,cAAI,CAAC,KAAKg5O,QAAL,CAAclgP,IAAd,CAAL,EAA0B;AACtB,kBAAM,IAAIkH,KAAJ,+CAAiDlH,IAAjD,OAAN;AACH;AACJ;AACD;;;;eACA,uBAAcyB,EAAd,EAAkB;AAAA;;AACdiF,gBAAM,CAACC,IAAP,CAAY,KAAKu5O,QAAjB,EAA2Bz9O,OAA3B,CAAmC,UAAA0F,GAAG,EAAI;AACtC;AACA;AACA;AACA,gBAAM0sF,OAAO,GAAG,QAAI,CAACqrJ,QAAL,CAAc/3O,GAAd,CAAhB;AACA0sF,mBAAO,IAAIpzF,EAAE,CAACozF,OAAD,EAAU1sF,GAAV,CAAb;AACH,WAND;AAOH;AACD;;;;eACA,0BAAiB;AAAA;;AACb,eAAKi5O,aAAL,CAAmB,UAACvsJ,OAAD,EAAa;AAC5BA,mBAAO,CAAC6uJ,SAAR,CAAkB,QAAlB;;AACA7uJ,mBAAO,CAAC4nJ,2BAAR,CAAoC,QAAI,CAACoE,mBAAzC;AACH,WAHD;AAIH;AACD;;;;eACA,wBAAe;AACX,eAAKx4O,KAAL,GAAa,KAAK+7O,YAAL,EAAb;AACH;AACD;;;;eACA,sBAAat8H,SAAb,EAAwB;AACpB,6CAA0BphH,MAAM,CAACC,IAAP,CAAY,KAAKu5O,QAAjB,CAA1B,uCAAsD;AAAjD,gBAAM0D,WAAW,sBAAjB;AACD,gBAAM/uJ,OAAO,GAAG,KAAKqrJ,QAAL,CAAc0D,WAAd,CAAhB;;AACA,gBAAI,KAAKh6O,QAAL,CAAcg6O,WAAd,KAA8B97H,SAAS,CAACjzB,OAAD,CAA3C,EAAsD;AAClD,qBAAO,IAAP;AACH;AACJ;;AACD,iBAAO,KAAP;AACH;AACD;;;;eACA,wBAAe;AAAA;;AACX,iBAAO,KAAKmvJ,eAAL,CAAqB,EAArB,EAAyB,UAAC19I,GAAD,EAAMzR,OAAN,EAAe70F,IAAf,EAAwB;AACpD,gBAAI60F,OAAO,CAACvzD,OAAR,IAAmB,QAAI,CAAC55B,QAA5B,EAAsC;AAClC4+F,iBAAG,CAACtmG,IAAD,CAAH,GAAY60F,OAAO,CAACxsF,KAApB;AACH;;AACD,mBAAOi+F,GAAP;AACH,WALM,CAAP;AAMH;AACD;;;;eACA,yBAAgB+9I,SAAhB,EAA2B3hP,EAA3B,EAA+B;AAC3B,cAAIiyG,GAAG,GAAG0vI,SAAV;;AACA,eAAKjD,aAAL,CAAmB,UAACvsJ,OAAD,EAAU70F,IAAV,EAAmB;AAClC20G,eAAG,GAAGjyG,EAAE,CAACiyG,GAAD,EAAM9f,OAAN,EAAe70F,IAAf,CAAR;AACH,WAFD;;AAGA,iBAAO20G,GAAP;AACH;AACD;;;;eACA,gCAAuB;AACnB,6CAA0BjuG,MAAM,CAACC,IAAP,CAAY,KAAKu5O,QAAjB,CAA1B,uCAAsD;AAAjD,gBAAM0D,WAAW,sBAAjB;;AACD,gBAAI,KAAK1D,QAAL,CAAc0D,WAAd,EAA2BtiN,OAA/B,EAAwC;AACpC,qBAAO,KAAP;AACH;AACJ;;AACD,iBAAO56B,MAAM,CAACC,IAAP,CAAY,KAAKu5O,QAAjB,EAA2B98O,MAA3B,GAAoC,CAApC,IAAyC,KAAKsE,QAArD;AACH;AACD;;;;eACA,gCAAuBW,KAAvB,EAA8B;AAC1B,eAAK+4O,aAAL,CAAmB,UAACvsJ,OAAD,EAAU70F,IAAV,EAAmB;AAClC,gBAAIqI,KAAK,CAACrI,IAAD,CAAL,KAAgB+H,SAApB,EAA+B;AAC3B,oBAAM,IAAIb,KAAJ,4DAA8DlH,IAA9D,QAAN;AACH;AACJ,WAJD;AAKH;;;;MA7VmB2gP,e;AA+VxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgEMR,S;;;;;;;AACF;;;;;;;;;;;;;AAaA,yBAAYD,QAAZ,EAAsBI,eAAtB,EAAuCnD,cAAvC,EAAuD;AAAA;;AAAA;;AACnD,uCAAMkD,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACtD,cAAD,EAAiBmD,eAAjB,CAA1D;AACA,iBAAKJ,QAAL,GAAgBA,QAAhB;;AACA,iBAAKoD,gBAAL;;AACA,iBAAKD,kBAAL,CAAwB/C,eAAxB;;AACA,iBAAKmD,cAAL;;AACA,iBAAKnG,sBAAL,CAA4B;AACxB6D,kBAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAO,mBAAS,EAAE,CAAC,CAACvE;AANW,SAA5B;;AANmD;AActD;AACD;;;;;;;;;eAKA,YAAGl3N,KAAH,EAAU;AACN,iBAAO,KAAKi6N,QAAL,CAAcj6N,KAAd,CAAP;AACH;AACD;;;;;;;;eAKA,cAAK4uE,OAAL,EAAc;AACV,eAAKqrJ,QAAL,CAAcv9O,IAAd,CAAmBkyF,OAAnB;;AACA,eAAKyvJ,gBAAL,CAAsBzvJ,OAAtB;;AACA,eAAKyoJ,sBAAL;;AACA,eAAKuD,mBAAL;AACH;AACD;;;;;;;;;eAMA,gBAAO56N,KAAP,EAAc4uE,OAAd,EAAuB;AACnB,eAAKqrJ,QAAL,CAAc7xO,MAAd,CAAqB4X,KAArB,EAA4B,CAA5B,EAA+B4uE,OAA/B;;AACA,eAAKyvJ,gBAAL,CAAsBzvJ,OAAtB;;AACA,eAAKyoJ,sBAAL;AACH;AACD;;;;;;;;eAKA,kBAASr3N,KAAT,EAAgB;AACZ,cAAI,KAAKi6N,QAAL,CAAcj6N,KAAd,CAAJ,EACI,KAAKi6N,QAAL,CAAcj6N,KAAd,EAAqBw2N,2BAArB,CAAiD,YAAM,CAAG,CAA1D;AACJ,eAAKyD,QAAL,CAAc7xO,MAAd,CAAqB4X,KAArB,EAA4B,CAA5B;AACA,eAAKq3N,sBAAL;AACH;AACD;;;;;;;;;eAMA,oBAAWr3N,KAAX,EAAkB4uE,OAAlB,EAA2B;AACvB,cAAI,KAAKqrJ,QAAL,CAAcj6N,KAAd,CAAJ,EACI,KAAKi6N,QAAL,CAAcj6N,KAAd,EAAqBw2N,2BAArB,CAAiD,YAAM,CAAG,CAA1D;AACJ,eAAKyD,QAAL,CAAc7xO,MAAd,CAAqB4X,KAArB,EAA4B,CAA5B;;AACA,cAAI4uE,OAAJ,EAAa;AACT,iBAAKqrJ,QAAL,CAAc7xO,MAAd,CAAqB4X,KAArB,EAA4B,CAA5B,EAA+B4uE,OAA/B;;AACA,iBAAKyvJ,gBAAL,CAAsBzvJ,OAAtB;AACH;;AACD,eAAKyoJ,sBAAL;;AACA,eAAKuD,mBAAL;AACH;AACD;;;;;;aAGA,eAAa;AACT,iBAAO,KAAKX,QAAL,CAAc98O,MAArB;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAmCA,kBAASiF,KAAT,EAA8B;AAAA;;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;;AAC1B,eAAK0jP,sBAAL,CAA4Bx7O,KAA5B;;AACAA,eAAK,CAAC5F,OAAN,CAAc,UAAC81B,QAAD,EAAWtS,KAAX,EAAqB;AAC/B,oBAAI,CAAC69N,sBAAL,CAA4B79N,KAA5B;;AACA,oBAAI,CAACm6N,EAAL,CAAQn6N,KAAR,EAAe2zI,QAAf,CAAwBrhI,QAAxB,EAAkC;AAAE4oN,sBAAQ,EAAE,IAAZ;AAAkBO,uBAAS,EAAEvhP,OAAO,CAACuhP;AAArC,aAAlC;AACH,WAHD;AAIA,eAAKpE,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgCA,oBAAWkI,KAAX,EAAgC;AAAA;;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;AAC5B;AACA;AACA;AACA;AACA,cAAIkI,KAAK,IAAI;AAAK;AAAlB,YACI;AACJA,eAAK,CAAC5F,OAAN,CAAc,UAAC81B,QAAD,EAAWtS,KAAX,EAAqB;AAC/B,gBAAI,QAAI,CAACm6N,EAAL,CAAQn6N,KAAR,CAAJ,EAAoB;AAChB,sBAAI,CAACm6N,EAAL,CAAQn6N,KAAR,EAAe89N,UAAf,CAA0BxrN,QAA1B,EAAoC;AAAE4oN,wBAAQ,EAAE,IAAZ;AAAkBO,yBAAS,EAAEvhP,OAAO,CAACuhP;AAArC,eAApC;AACH;AACJ,WAJD;AAKA,eAAKpE,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8CA,iBAAgC;AAAA,cAA1BkI,KAA0B,uEAAlB,EAAkB;AAAA,cAAdlI,OAAc,uEAAJ,EAAI;;AAC5B,eAAKihP,aAAL,CAAmB,UAACvsJ,OAAD,EAAU5uE,KAAV,EAAoB;AACnC4uE,mBAAO,CAACnwF,KAAR,CAAc2D,KAAK,CAAC4d,KAAD,CAAnB,EAA4B;AAAEk7N,sBAAQ,EAAE,IAAZ;AAAkBO,uBAAS,EAAEvhP,OAAO,CAACuhP;AAArC,aAA5B;AACH,WAFD;;AAGA,eAAKD,eAAL,CAAqBthP,OAArB;;AACA,eAAKohP,cAAL,CAAoBphP,OAApB;;AACA,eAAKm9O,sBAAL,CAA4Bn9O,OAA5B;AACH;AACD;;;;;;;;;eAMA,uBAAc;AACV,iBAAO,KAAK+/O,QAAL,CAAch4O,GAAd,CAAkB,UAAC2sF,OAAD,EAAa;AAClC,mBAAOA,OAAO,YAAYquJ,WAAnB,GAAiCruJ,OAAO,CAACxsF,KAAzC,GAAiDwsF,OAAO,CAACovJ,WAAR,EAAxD;AACH,WAFM,CAAP;AAGH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA8BA,iBAAQ;AACJ,cAAI,KAAK/D,QAAL,CAAc98O,MAAd,GAAuB,CAA3B,EACI;;AACJ,eAAKg+O,aAAL,CAAmB,UAACvsJ,OAAD;AAAA,mBAAaA,OAAO,CAAC4nJ,2BAAR,CAAoC,YAAM,CAAG,CAA7C,CAAb;AAAA,WAAnB;;AACA,eAAKyD,QAAL,CAAc7xO,MAAd,CAAqB,CAArB;AACA,eAAKivO,sBAAL;AACH;AACD;;;;eACA,gCAAuB;AACnB,cAAI4G,cAAc,GAAG,KAAKhE,QAAL,CAAcj8O,MAAd,CAAqB,UAACkgP,OAAD,EAAU9vG,KAAV,EAAoB;AAC1D,mBAAOA,KAAK,CAACyqG,oBAAN,KAA+B,IAA/B,GAAsCqF,OAA7C;AACH,WAFoB,EAElB,KAFkB,CAArB;AAGA,cAAID,cAAJ,EACI,KAAK5G,sBAAL,CAA4B;AAAE6D,oBAAQ,EAAE;AAAZ,WAA5B;AACJ,iBAAO+C,cAAP;AACH;AACD;;;;eACA,gCAAuBj+N,KAAvB,EAA8B;AAC1B,cAAI,CAAC,KAAKi6N,QAAL,CAAc98O,MAAnB,EAA2B;AACvB,kBAAM,IAAI8D,KAAJ,yKAAN;AAIH;;AACD,cAAI,CAAC,KAAKk5O,EAAL,CAAQn6N,KAAR,CAAL,EAAqB;AACjB,kBAAM,IAAI/e,KAAJ,6CAA+C+e,KAA/C,EAAN;AACH;AACJ;AACD;;;;eACA,uBAAcxkB,EAAd,EAAkB;AACd,eAAKy+O,QAAL,CAAcz9O,OAAd,CAAsB,UAACoyF,OAAD,EAAU5uE,KAAV,EAAoB;AACtCxkB,cAAE,CAACozF,OAAD,EAAU5uE,KAAV,CAAF;AACH,WAFD;AAGH;AACD;;;;eACA,wBAAe;AAAA;;AACX,eAAK5d,KAAL,GACI,KAAK63O,QAAL,CAAcllO,MAAd,CAAqB,UAAC65E,OAAD;AAAA,mBAAaA,OAAO,CAACvzD,OAAR,IAAmB,QAAI,CAAC55B,QAArC;AAAA,WAArB,EACKQ,GADL,CACS,UAAC2sF,OAAD;AAAA,mBAAaA,OAAO,CAACxsF,KAArB;AAAA,WADT,CADJ;AAGH;AACD;;;;eACA,sBAAay/G,SAAb,EAAwB;AACpB,iBAAO,KAAKo4H,QAAL,CAAc/mO,IAAd,CAAmB,UAAC07E,OAAD;AAAA,mBAAaA,OAAO,CAACvzD,OAAR,IAAmBwmF,SAAS,CAACjzB,OAAD,CAAzC;AAAA,WAAnB,CAAP;AACH;AACD;;;;eACA,0BAAiB;AAAA;;AACb,eAAKusJ,aAAL,CAAmB,UAACvsJ,OAAD;AAAA,mBAAa,QAAI,CAACyvJ,gBAAL,CAAsBzvJ,OAAtB,CAAb;AAAA,WAAnB;AACH;AACD;;;;eACA,gCAAuBxsF,KAAvB,EAA8B;AAC1B,eAAK+4O,aAAL,CAAmB,UAACvsJ,OAAD,EAAUpqF,CAAV,EAAgB;AAC/B,gBAAIpC,KAAK,CAACoC,CAAD,CAAL,KAAa1C,SAAjB,EAA4B;AACxB,oBAAM,IAAIb,KAAJ,0DAA4DuD,CAA5D,OAAN;AACH;AACJ,WAJD;AAKH;AACD;;;;eACA,gCAAuB;AAAA,uDACG,KAAKy1O,QADR;AAAA;;AAAA;AACnB,sEAAqC;AAAA,kBAA1BrrJ,OAA0B;AACjC,kBAAIA,OAAO,CAACvzD,OAAZ,EACI,OAAO,KAAP;AACP;AAJkB;AAAA;AAAA;AAAA;AAAA;;AAKnB,iBAAO,KAAK4+M,QAAL,CAAc98O,MAAd,GAAuB,CAAvB,IAA4B,KAAKsE,QAAxC;AACH;;;eACD,0BAAiBmtF,OAAjB,EAA0B;AACtBA,iBAAO,CAAC6uJ,SAAR,CAAkB,IAAlB;;AACA7uJ,iBAAO,CAAC4nJ,2BAAR,CAAoC,KAAKoE,mBAAzC;AACH;;;;MAxVmBF,e;AA2VxB;;;;;;;;;AAOA,QAAM4D,qBAAqB,GAAG;AAC1BlwM,aAAO,EAAE+lM,gBADiB;AAE1B9lM,iBAAW,EAAE,iEAAW;AAAA,eAAMkwM,MAAN;AAAA,OAAX;AAFa,KAA9B;;AAIA,QAAMp7O,EAAE,GAAG,SAALA,EAAK;AAAA,aAAM1H,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAN;AAAA,KAAX;;AACA,QAAM22H,eAAe,GAAIlvH,EAAD,EAAxB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgEMo7O,M;;;;;;;AACF,sBAAYxM,UAAZ,EAAwBkF,eAAxB,EAAyC;AAAA;;AAAA;;AACrC;AACA;;;;;AAIA,iBAAKuH,SAAL,GAAiB,KAAjB;AACA,iBAAKC,WAAL,GAAmB,EAAnB;AACA;;;;;AAIA,iBAAKC,QAAL,GAAgB,IAAI,0DAAJ,EAAhB;AACA,iBAAKrpI,IAAL,GACI,IAAI2kI,SAAJ,CAAc,EAAd,EAAkBlH,iBAAiB,CAACf,UAAD,CAAnC,EAAiDgB,sBAAsB,CAACkE,eAAD,CAAvE,CADJ;AAbqC;AAexC;AACD;;;;;eACA,2BAAkB;AACd,eAAKmG,kBAAL;AACH;AACD;;;;;;;aAIA,eAAoB;AAChB,iBAAO,IAAP;AACH;AACD;;;;;;;aAIA,eAAc;AACV,iBAAO,KAAK/nI,IAAZ;AACH;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAO,EAAP;AACH;AACD;;;;;;;aAIA,eAAe;AACX,iBAAO,KAAKA,IAAL,CAAU4kI,QAAjB;AACH;AACD;;;;;;;;;;eAOA,oBAAWjqM,GAAX,EAAgB;AAAA;;AACZqiF,yBAAe,CAAC12H,IAAhB,CAAqB,YAAM;AACvB,gBAAMogD,SAAS,GAAG,QAAI,CAAC4iM,cAAL,CAAoB3uM,GAAG,CAACy6D,IAAxB,CAAlB;;AACAz6D,eAAG,CAAC4+C,OAAJ,GACI7yC,SAAS,CAAC2hM,eAAV,CAA0B1tM,GAAG,CAACj2C,IAA9B,EAAoCi2C,GAAG,CAAC4+C,OAAxC,CADJ;AAEA8mJ,wBAAY,CAAC1lM,GAAG,CAAC4+C,OAAL,EAAc5+C,GAAd,CAAZ;AACAA,eAAG,CAAC4+C,OAAJ,CAAYyoJ,sBAAZ,CAAmC;AAAEoE,uBAAS,EAAE;AAAb,aAAnC;;AACA,oBAAI,CAACgD,WAAL,CAAiB/hP,IAAjB,CAAsBszC,GAAtB;AACH,WAPD;AAQH;AACD;;;;;;;;;eAMA,oBAAWA,GAAX,EAAgB;AACZ,iBAAO,KAAKqlE,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAP;AACH;AACD;;;;;;;;;eAMA,uBAAcz6D,GAAd,EAAmB;AAAA;;AACfqiF,yBAAe,CAAC12H,IAAhB,CAAqB,YAAM;AACvB,gBAAMogD,SAAS,GAAG,QAAI,CAAC4iM,cAAL,CAAoB3uM,GAAG,CAACy6D,IAAxB,CAAlB;;AACA,gBAAI1uD,SAAJ,EAAe;AACXA,uBAAS,CAAC6iM,aAAV,CAAwB5uM,GAAG,CAACj2C,IAA5B;AACH;;AACDo/O,0BAAc,CAAC,QAAI,CAACsF,WAAN,EAAmBzuM,GAAnB,CAAd;AACH,WAND;AAOH;AACD;;;;;;;;;eAMA,sBAAaA,GAAb,EAAkB;AAAA;;AACdqiF,yBAAe,CAAC12H,IAAhB,CAAqB,YAAM;AACvB,gBAAMogD,SAAS,GAAG,QAAI,CAAC4iM,cAAL,CAAoB3uM,GAAG,CAACy6D,IAAxB,CAAlB;;AACA,gBAAMnwG,KAAK,GAAG,IAAI0/O,SAAJ,CAAc,EAAd,CAAd;AACA3B,8BAAkB,CAAC/9O,KAAD,EAAQ01C,GAAR,CAAlB;AACA+L,qBAAS,CAAC2hM,eAAV,CAA0B1tM,GAAG,CAACj2C,IAA9B,EAAoCO,KAApC;AACAA,iBAAK,CAAC+8O,sBAAN,CAA6B;AAAEoE,uBAAS,EAAE;AAAb,aAA7B;AACH,WAND;AAOH;AACD;;;;;;;;;eAMA,yBAAgBzrM,GAAhB,EAAqB;AAAA;;AACjBqiF,yBAAe,CAAC12H,IAAhB,CAAqB,YAAM;AACvB,gBAAMogD,SAAS,GAAG,QAAI,CAAC4iM,cAAL,CAAoB3uM,GAAG,CAACy6D,IAAxB,CAAlB;;AACA,gBAAI1uD,SAAJ,EAAe;AACXA,uBAAS,CAAC6iM,aAAV,CAAwB5uM,GAAG,CAACj2C,IAA5B;AACH;AACJ,WALD;AAMH;AACD;;;;;;;;;eAMA,sBAAai2C,GAAb,EAAkB;AACd,iBAAO,KAAKqlE,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAP;AACH;AACD;;;;;;;;;eAMA,qBAAYz6D,GAAZ,EAAiB5tC,KAAjB,EAAwB;AAAA;;AACpBiwH,yBAAe,CAAC12H,IAAhB,CAAqB,YAAM;AACvB,gBAAM0gP,IAAI,GAAG,QAAI,CAAChnI,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAb;;AACA4xI,gBAAI,CAAC1oF,QAAL,CAAcvxJ,KAAd;AACH,WAHD;AAIH;AACD;;;;;;;;;eAMA,kBAASA,KAAT,EAAgB;AACZ,eAAKwsF,OAAL,CAAa+kE,QAAb,CAAsBvxJ,KAAtB;AACH;AACD;;;;;;;;;;eAOA,kBAASstO,MAAT,EAAiB;AACb,eAAK8O,SAAL,GAAiB,IAAjB;AACA5F,6BAAmB,CAAC,KAAKvjI,IAAN,EAAY,KAAKopI,WAAjB,CAAnB;AACA,eAAKC,QAAL,CAActyM,IAAd,CAAmBsjM,MAAnB;AACA,iBAAO,KAAP;AACH;AACD;;;;;;;eAIA,mBAAU;AACN,eAAKmP,SAAL;AACH;AACD;;;;;;;;;eAMA,qBAA6B;AAAA,cAAnBz8O,KAAmB,uEAAXN,SAAW;AACzB,eAAKuzG,IAAL,CAAU52G,KAAV,CAAgB2D,KAAhB;AACA,eAAKo8O,SAAL,GAAiB,KAAjB;AACH;;;eACD,8BAAqB;AACjB,cAAI,KAAKtkP,OAAL,IAAgB,KAAKA,OAAL,CAAa09O,QAAb,IAAyB,IAA7C,EAAmD;AAC/C,iBAAKviI,IAAL,CAAU2lI,SAAV,GAAsB,KAAK9gP,OAAL,CAAa09O,QAAnC;AACH;AACJ;AACD;;;;eACA,wBAAentI,IAAf,EAAqB;AACjBA,cAAI,CAACr3D,GAAL;AACA,iBAAOq3D,IAAI,CAACttG,MAAL,GAAc,KAAKk4G,IAAL,CAAU/yG,GAAV,CAAcmoG,IAAd,CAAd,GAAoC,KAAK4K,IAAhD;AACH;;;;MA7LgB8+H,gB;;AA+LrBoK,UAAM,CAACt4O,IAAP,GAAc,SAAS64O,cAAT,CAAwB34O,CAAxB,EAA2B;AAAE,aAAO,KAAKA,CAAC,IAAIo4O,MAAV,EAAkB,gEAAyBvN,aAAzB,EAAwC,EAAxC,CAAlB,EAA+D,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAA/D,CAAP;AAA2H,KAAtK;;AACAsN,UAAM,CAAC36M,IAAP,GAAc,gEAAyB;AAAE3pC,UAAI,EAAEskP,MAAR;AAAgB16M,eAAS,EAAE,CAAC,CAAC,MAAD,EAAS,CAAT,EAAY,UAAZ,EAAwB,EAAxB,EAA4B,CAA5B,EAA+B,WAA/B,EAA4C,EAA5C,CAAD,EAAkD,CAAC,SAAD,CAAlD,EAA+D,CAAC,EAAD,EAAK,QAAL,EAAe,EAAf,CAA/D,CAA3B;AAA+G8M,kBAAY,EAAE,SAASouM,mBAAT,CAA6BluM,EAA7B,EAAiC76B,GAAjC,EAAsC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAChN,mEAAkB,QAAlB,EAA4B,SAASmuM,gCAAT,CAA0CtP,MAA1C,EAAkD;AAAE,mBAAO15N,GAAG,CAACipO,QAAJ,CAAavP,MAAb,CAAP;AAA8B,WAA9G,EAAgH,OAAhH,EAAyH,SAASwP,+BAAT,GAA2C;AAAE,mBAAOlpO,GAAG,CAACmpO,OAAJ,EAAP;AAAuB,WAA7L;AACH;AAAE,OAFgC;AAE9Br7M,YAAM,EAAE;AAAE5pC,eAAO,EAAE,CAAC,eAAD,EAAkB,SAAlB;AAAX,OAFsB;AAEqBoyC,aAAO,EAAE;AAAEoyM,gBAAQ,EAAE;AAAZ,OAF9B;AAEwD36M,cAAQ,EAAE,CAAC,QAAD,CAFlE;AAE8EC,cAAQ,EAAE,CAAC,iEAA0B,CAACs6M,qBAAD,CAA1B,CAAD,EAAqD,wEAArD;AAFxF,KAAzB,CAAd;;AAGAC,UAAM,CAAC3kN,cAAP,GAAwB;AAAA,aAAM,CAC1B;AAAE3/B,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OAD0B,EAE1B;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAF0B,CAAN;AAAA,KAAxB;;AAIAsN,UAAM,CAACt6M,cAAP,GAAwB;AACpB/pC,aAAO,EAAE,CAAC;AAAED,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,eAAD;AAArB,OAAD;AADW,KAAxB;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBg4O,MAAzB,EAAiC,CAAC;AAC5FtkP,YAAI,EAAE,uDADsF;AAE5FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,wDADX;AAECizC,mBAAS,EAAE,CAACgwM,qBAAD,CAFZ;AAGCxtM,cAAI,EAAE;AAAE,wBAAY,kBAAd;AAAkC,uBAAW;AAA7C,WAHP;AAICxE,iBAAO,EAAE,CAAC,UAAD,CAJV;AAKCvI,kBAAQ,EAAE;AALX,SAAD;AAFsF,OAAD,CAAjC,EAS1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC1C5/B,gBAAI,EAAE;AADoC,WAAD,EAE1C;AACCA,gBAAI,EAAE;AADP,WAF0C,EAI1C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ0C;AAA3B,SAAD,EAOX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAPW,CAAP;AAcF,OAvB8C,EAuB5C;AAAE/2O,eAAO,EAAE,CAAC;AACtBD,cAAI,EAAE,mDADgB;AAEtBimB,cAAI,EAAE,CAAC,eAAD;AAFgB,SAAD;AAAX,OAvB4C,CAAnD;AA0BC,KA1BhB;AA4BA;;;;;;;;AAOA;;;;;;;;QAMMk/N,0B;;;;;;;;;;;;;;;;AACF;AACA,4BAAW;AACP,eAAKC,gBAAL,GADO,CAEP;;;AACA,eAAKC,aAAL,CAAmBC,YAAnB,CAAgC,IAAhC;AACH;AACD;;;;eACA,uBAAc;AACV,cAAI,KAAKD,aAAT,EAAwB;AACpB;AACA,iBAAKA,aAAL,CAAmBE,eAAnB,CAAmC,IAAnC;AACH;AACJ;AACD;;;;;;;aAIA,eAAc;AACV,iBAAO,KAAKF,aAAL,CAAmBG,YAAnB,CAAgC,IAAhC,CAAP;AACH;AACD;;;;;;;aAIA,eAAW;AACP,iBAAOhK,WAAW,CAAC,KAAK17O,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU0F,QAAV,EAAjC,EAAuD,KAAKyjL,OAA5D,CAAlB;AACH;AACD;;;;;;;aAIA,eAAoB;AAChB,iBAAO,KAAKA,OAAL,GAAe,KAAKA,OAAL,CAAao8D,aAA5B,GAA4C,IAAnD;AACH;AACD;;;;eACA,4BAAmB,CAAG;;;;MApCenL,gB;;AAsCzCiL,8BAA0B,CAACn5O,IAA3B,GAAkC,SAASy5O,kCAAT,CAA4Cv5O,CAA5C,EAA+C;AAAE,aAAOw5O,uCAAuC,CAACx5O,CAAC,IAAIi5O,0BAAN,CAA9C;AAAkF,KAArK;;AACAA,8BAA0B,CAACx7M,IAA3B,GAAkC,gEAAyB;AAAE3pC,UAAI,EAAEmlP,0BAAR;AAAoCp7M,cAAQ,EAAE,CAAC,wEAAD;AAA9C,KAAzB,CAAlC;;AACA,QAAM27M,uCAAuC;AAAG;AAAc,wEAA6BP,0BAA7B,CAA9D;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO74O,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB64O,0BAAzB,EAAqD,CAAC;AAChHnlP,YAAI,EAAE;AAD0G,OAAD,CAArD,EAE1D,IAF0D,EAEpD,IAFoD,CAAnD;AAEO,KAFtB;AAIA;;;;;;;;;QAOM2lP,oB;;;;;;;;;eACF,gCAA8B;AAC1B,gBAAM,IAAI3+O,KAAJ,uMAINi0O,iBAAiB,CAACC,eAJZ,6JAUND,iBAAiB,CAACK,oBAVZ,EAAN;AAWH;;;eACD,kCAAgC;AAC5B,gBAAM,IAAIt0O,KAAJ,oNAKNi0O,iBAAiB,CAACE,aALZ,+GASNF,iBAAiB,CAACI,YATZ,EAAN;AAUH;;;eACD,gCAA8B;AAC1B,gBAAM,IAAIr0O,KAAJ,4UAAN;AAKH;;;eACD,qCAAmC;AAC/B,gBAAM,IAAIA,KAAJ,6KAKNi0O,iBAAiB,CAACE,aALZ,iIASNF,iBAAiB,CAACI,YATZ,EAAN;AAUH;;;;;AAGL;;;;;;;;;AAOA,QAAMuK,kBAAkB,GAAG;AACvBzxM,aAAO,EAAE+lM,gBADc;AAEvB9lM,iBAAW,EAAE,iEAAW;AAAA,eAAMyxM,YAAN;AAAA,OAAX;AAFU,KAA3B;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0BMA,Y;;;;;;;AACF,4BAAYp7N,MAAZ,EAAoBqtN,UAApB,EAAgCkF,eAAhC,EAAiD;AAAA;;AAAA;;AAC7C;AACA,iBAAK/zD,OAAL,GAAex+J,MAAf;;AACA,iBAAKq7N,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AAJ6C;AAKhD;AACD;;;;;eACA,4BAAmB;AACf,cAAI,EAAE,KAAK/zD,OAAL,YAAwB48D,YAA1B,KAA2C,EAAE,KAAK58D,OAAL,YAAwBq7D,MAA1B,CAA3C,KACC,OAAOh4O,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjDq5O,gCAAoB,CAACK,yBAArB;AACH;AACJ;;;;MAbsBb,0B;;AAe3BU,gBAAY,CAAC75O,IAAb,GAAoB,SAASi6O,oBAAT,CAA8B/5O,CAA9B,EAAiC;AAAE,aAAO,KAAKA,CAAC,IAAI25O,YAAV,EAAwB,gEAAyB3L,gBAAzB,EAA2C,CAA3C,CAAxB,EAAuE,gEAAyBnD,aAAzB,EAAwC,EAAxC,CAAvE,EAAoH,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAApH,CAAP;AAAgL,KAAvO;;AACA6O,gBAAY,CAACl8M,IAAb,GAAoB,gEAAyB;AAAE3pC,UAAI,EAAE6lP,YAAR;AAAsBj8M,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAD,CAAjC;AAA6DC,YAAM,EAAE;AAAE/pC,YAAI,EAAE,CAAC,cAAD,EAAiB,MAAjB;AAAR,OAArE;AAAyGgqC,cAAQ,EAAE,CAAC,cAAD,CAAnH;AAAqIC,cAAQ,EAAE,CAAC,iEAA0B,CAAC67M,kBAAD,CAA1B,CAAD,EAAkD,wEAAlD;AAA/I,KAAzB,CAApB;;AACAC,gBAAY,CAAClmN,cAAb,GAA8B;AAAA,aAAM,CAChC;AAAE3/B,YAAI,EAAEk6O,gBAAR;AAA0Bt6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAiB;AAAEA,cAAI,EAAE;AAAR,SAAjB;AAAtC,OADgC,EAEhC;AAAEA,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OAFgC,EAGhC;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAHgC,CAAN;AAAA,KAA9B;;AAKA6O,gBAAY,CAAC77M,cAAb,GAA8B;AAC1BlqC,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,cAAD;AAArB,OAAD;AADoB,KAA9B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBu5O,YAAzB,EAAuC,CAAC;AAClG7lP,YAAI,EAAE,uDAD4F;AAElGimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE,gBAAZ;AAA8BizC,mBAAS,EAAE,CAACuxM,kBAAD,CAAzC;AAA+D97M,kBAAQ,EAAE;AAAzE,SAAD;AAF4F,OAAD,CAAvC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAEk6O,gBAAR;AAA0Bt6M,oBAAU,EAAE,CAAC;AACrD5/B,gBAAI,EAAE;AAD+C,WAAD,EAErD;AACCA,gBAAI,EAAE;AADP,WAFqD;AAAtC,SAAD,EAIX;AAAEA,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ8B;AAA3B,SAJW,EAWX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAXW,CAAP;AAkBF,OArB8C,EAqB5C;AAAEl3O,YAAI,EAAE,CAAC;AACnBE,cAAI,EAAE,mDADa;AAEnBimB,cAAI,EAAE,CAAC,cAAD;AAFa,SAAD;AAAR,OArB4C,CAAnD;AAwBC,KAxBhB;AA0BA;;;;;;;;;AAOA,QAAMigO,kBAAkB,GAAG;AACvB/xM,aAAO,EAAEkmM,SADc;AAEvBjmM,iBAAW,EAAE,iEAAW;AAAA,eAAM+xM,OAAN;AAAA,OAAX;AAFU,KAA3B;;AAIA,QAAM9jO,IAAI,GAAG,SAAPA,IAAO;AAAA,aAAM7gB,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAN;AAAA,KAAb;AACA;;;;;;;;;;;;;;;;;;;AAiBA,QAAM2kP,iBAAiB,GAAI/jO,IAAD,EAA1B;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqFM8jO,O;;;;;;;AACF,uBAAY17N,MAAZ,EAAoBqtN,UAApB,EAAgCkF,eAAhC,EAAiD8B,cAAjD,EAAiE;AAAA;;AAAA;;AAC7D;AACA,iBAAKnqJ,OAAL,GAAe,IAAIquJ,WAAJ,EAAf;AACA;;AACA,iBAAKqD,WAAL,GAAmB,KAAnB;AACA;;;;;;AAKA,iBAAK7yH,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA,iBAAKy1D,OAAL,GAAex+J,MAAf;;AACA,iBAAKq7N,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AACA,iBAAK1C,aAAL,GAAqBuE,mBAAmB,mCAAOC,cAAP,CAAxC;AAd6D;AAehE;AACD;;;;;eACA,qBAAYl+M,OAAZ,EAAqB;AACjB,eAAK0lN,eAAL;;AACA,cAAI,CAAC,KAAKD,WAAV,EACI,KAAKE,aAAL;;AACJ,cAAI,gBAAgB3lN,OAApB,EAA6B;AACzB,iBAAK4lN,eAAL,CAAqB5lN,OAArB;AACH;;AACD,cAAI29M,iBAAiB,CAAC39M,OAAD,EAAU,KAAK49M,SAAf,CAArB,EAAgD;AAC5C,iBAAKoD,YAAL,CAAkB,KAAK6E,KAAvB;;AACA,iBAAKjI,SAAL,GAAiB,KAAKiI,KAAtB;AACH;AACJ;AACD;;;;eACA,uBAAc;AACV,eAAKpB,aAAL,IAAsB,KAAKA,aAAL,CAAmBV,aAAnB,CAAiC,IAAjC,CAAtB;AACH;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAO,KAAK17D,OAAL,GAAeuyD,WAAW,CAAC,KAAK17O,IAAN,EAAY,KAAKmpL,OAAjB,CAA1B,GAAsD,CAAC,KAAKnpL,IAAN,CAA7D;AACH;AACD;;;;;;;aAIA,eAAoB;AAChB,iBAAO,KAAKmpL,OAAL,GAAe,KAAKA,OAAL,CAAao8D,aAA5B,GAA4C,IAAnD;AACH;AACD;;;;;;;;;eAMA,2BAAkBhtN,QAAlB,EAA4B;AACxB,eAAKmmN,SAAL,GAAiBnmN,QAAjB;AACA,eAAKm7F,MAAL,CAAYrhF,IAAZ,CAAiB9Z,QAAjB;AACH;;;eACD,yBAAgB;AACZ,eAAK8qN,kBAAL;;AACA,eAAKuD,aAAL,KAAuB,KAAKC,gBAAL,EAAvB,GAAiD,KAAKtB,aAAL,CAAmBuB,UAAnB,CAA8B,IAA9B,CAAjD;AACA,eAAKP,WAAL,GAAmB,IAAnB;AACH;;;eACD,8BAAqB;AACjB,cAAI,KAAKpmP,OAAL,IAAgB,KAAKA,OAAL,CAAa09O,QAAb,IAAyB,IAA7C,EAAmD;AAC/C,iBAAKhpJ,OAAL,CAAaosJ,SAAb,GAAyB,KAAK9gP,OAAL,CAAa09O,QAAtC;AACH;AACJ;;;eACD,yBAAgB;AACZ,iBAAO,CAAC,KAAK10D,OAAN,IAAiB,CAAC,EAAE,KAAKhpL,OAAL,IAAgB,KAAKA,OAAL,CAAa4mP,UAA/B,CAAzB;AACH;;;eACD,4BAAmB;AACfpL,sBAAY,CAAC,KAAK9mJ,OAAN,EAAe,IAAf,CAAZ;AACA,eAAKA,OAAL,CAAayoJ,sBAAb,CAAoC;AAAEoE,qBAAS,EAAE;AAAb,WAApC;AACH;;;eACD,2BAAkB;AACd,cAAI,CAAC,KAAKkF,aAAL,EAAL,EAA2B;AACvB,iBAAKtB,gBAAL;AACH;;AACD,eAAK0B,UAAL;AACH;;;eACD,4BAAmB;AACf,cAAI,OAAOx6O,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,gBAAI,EAAE,KAAK28K,OAAL,YAAwB48D,YAA1B,KACA,KAAK58D,OAAL,YAAwBk8D,0BAD5B,EACwD;AACpDQ,kCAAoB,CAACoB,sBAArB;AACH,aAHD,MAIK,IAAI,EAAE,KAAK99D,OAAL,YAAwB48D,YAA1B,KAA2C,EAAE,KAAK58D,OAAL,YAAwBq7D,MAA1B,CAA/C,EAAkF;AACnFqB,kCAAoB,CAACqB,oBAArB;AACH;AACJ;AACJ;;;eACD,sBAAa;AACT,cAAI,KAAK/mP,OAAL,IAAgB,KAAKA,OAAL,CAAaH,IAAjC,EACI,KAAKA,IAAL,GAAY,KAAKG,OAAL,CAAaH,IAAzB;;AACJ,cAAI,CAAC,KAAK4mP,aAAL,EAAD,IAAyB,CAAC,KAAK5mP,IAA/B,KAAwC,OAAOwM,SAAP,KAAqB,WAArB,IAAoCA,SAA5E,CAAJ,EAA4F;AACxFq5O,gCAAoB,CAACsB,oBAArB;AACH;AACJ;;;eACD,sBAAa9+O,KAAb,EAAoB;AAAA;;AAChBi+O,2BAAiB,CAAC1kP,IAAlB,CAAuB,YAAM;AACzB,oBAAI,CAACizF,OAAL,CAAa+kE,QAAb,CAAsBvxJ,KAAtB,EAA6B;AAAEk7O,mCAAqB,EAAE;AAAzB,aAA7B;AACH,WAFD;AAGH;;;eACD,yBAAgBziN,OAAhB,EAAyB;AAAA;;AACrB,cAAMsmN,aAAa,GAAGtmN,OAAO,CAAC,YAAD,CAAP,CAAsB+2C,YAA5C;AACA,cAAMzyC,UAAU,GAAGgiN,aAAa,KAAK,EAAlB,IAAyBA,aAAa,IAAIA,aAAa,KAAK,OAA/E;AACAd,2BAAiB,CAAC1kP,IAAlB,CAAuB,YAAM;AACzB,gBAAIwjC,UAAU,IAAI,CAAC,QAAI,CAACyvD,OAAL,CAAantF,QAAhC,EAA0C;AACtC,sBAAI,CAACmtF,OAAL,CAAa1/D,OAAb;AACH,aAFD,MAGK,IAAI,CAACiQ,UAAD,IAAe,QAAI,CAACyvD,OAAL,CAAantF,QAAhC,EAA0C;AAC3C,sBAAI,CAACmtF,OAAL,CAAa15C,MAAb;AACH;AACJ,WAPD;AAQH;;;;MApHiBo/L,S;;AAsHtB8L,WAAO,CAACn6O,IAAR,GAAe,SAASm7O,eAAT,CAAyBj7O,CAAzB,EAA4B;AAAE,aAAO,KAAKA,CAAC,IAAIi6O,OAAV,EAAmB,gEAAyBjM,gBAAzB,EAA2C,CAA3C,CAAnB,EAAkE,gEAAyBnD,aAAzB,EAAwC,EAAxC,CAAlE,EAA+G,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAA/G,EAAkK,gEAAyB/B,iBAAzB,EAA4C,EAA5C,CAAlK,CAAP;AAA4N,KAAzQ;;AACAkR,WAAO,CAACx8M,IAAR,GAAe,gEAAyB;AAAE3pC,UAAI,EAAEmmP,OAAR;AAAiBv8M,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,CAApB,EAAuB,iBAAvB,EAA0C,EAA1C,EAA8C,CAA9C,EAAiD,aAAjD,EAAgE,EAAhE,CAAD,CAA5B;AAAmGC,YAAM,EAAE;AAAE/pC,YAAI,EAAE,MAAR;AAAgBolC,kBAAU,EAAE,CAAC,UAAD,EAAa,YAAb,CAA5B;AAAwDuhN,aAAK,EAAE,CAAC,SAAD,EAAY,OAAZ,CAA/D;AAAqFxmP,eAAO,EAAE,CAAC,gBAAD,EAAmB,SAAnB;AAA9F,OAA3G;AAA0OoyC,aAAO,EAAE;AAAEmhF,cAAM,EAAE;AAAV,OAAnP;AAAgR1pF,cAAQ,EAAE,CAAC,SAAD,CAA1R;AAAuSC,cAAQ,EAAE,CAAC,iEAA0B,CAACm8M,kBAAD,CAA1B,CAAD,EAAkD,wEAAlD,EAAqF,kEAArF;AAAjT,KAAzB,CAAf;;AACAC,WAAO,CAACxmN,cAAR,GAAyB;AAAA,aAAM,CAC3B;AAAE3/B,YAAI,EAAEk6O,gBAAR;AAA0Bt6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB;AAAtC,OAD2B,EAE3B;AAAEA,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OAF2B,EAG3B;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAH2B,EAI3B;AAAEh3O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACgvN,iBAAD;AAAtB,SAArC;AAA3B,OAJ2B,CAAN;AAAA,KAAzB;;AAMAkR,WAAO,CAACn8M,cAAR,GAAyB;AACrBlqC,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE;AAAR,OAAD,CADe;AAErBklC,gBAAU,EAAE,CAAC;AAAEllC,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,UAAD;AAArB,OAAD,CAFS;AAGrBwgO,WAAK,EAAE,CAAC;AAAEzmP,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,SAAD;AAArB,OAAD,CAHc;AAIrBhmB,aAAO,EAAE,CAAC;AAAED,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,gBAAD;AAArB,OAAD,CAJY;AAKrButG,YAAM,EAAE,CAAC;AAAExzH,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,eAAD;AAAtB,OAAD;AALa,KAAzB;;AAOA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB65O,OAAzB,EAAkC,CAAC;AAC7FnmP,YAAI,EAAE,uDADuF;AAE7FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,qDADX;AAECizC,mBAAS,EAAE,CAAC6xM,kBAAD,CAFZ;AAGCp8M,kBAAQ,EAAE;AAHX,SAAD;AAFuF,OAAD,CAAlC,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAEk6O,gBAAR;AAA0Bt6M,oBAAU,EAAE,CAAC;AACrD5/B,gBAAI,EAAE;AAD+C,WAAD,EAErD;AACCA,gBAAI,EAAE;AADP,WAFqD;AAAtC,SAAD,EAIX;AAAEA,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ8B;AAA3B,SAJW,EAWX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAXW,EAkBX;AAAEh3O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACgvN,iBAAD;AAFP,WAJ8B;AAA3B,SAlBW,CAAP;AAyBF,OAhC8C,EAgC5C;AAAEzhH,cAAM,EAAE,CAAC;AACrBxzH,cAAI,EAAE,oDADe;AAErBimB,cAAI,EAAE,CAAC,eAAD;AAFe,SAAD,CAAV;AAGVnmB,YAAI,EAAE,CAAC;AACPE,cAAI,EAAE;AADC,SAAD,CAHI;AAKVklC,kBAAU,EAAE,CAAC;AACbllC,cAAI,EAAE,mDADO;AAEbimB,cAAI,EAAE,CAAC,UAAD;AAFO,SAAD,CALF;AAQVwgO,aAAK,EAAE,CAAC;AACRzmP,cAAI,EAAE,mDADE;AAERimB,cAAI,EAAE,CAAC,SAAD;AAFE,SAAD,CARG;AAWVhmB,eAAO,EAAE,CAAC;AACVD,cAAI,EAAE,mDADI;AAEVimB,cAAI,EAAE,CAAC,gBAAD;AAFI,SAAD;AAXC,OAhC4C,CAAnD;AA8CC,KA9ChB;AAgDA;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;QAiBMmhO,a;;;;AAENA,iBAAa,CAACp7O,IAAd,GAAqB,SAASq7O,qBAAT,CAA+Bn7O,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIk7O,aAAV,GAAP;AAAoC,KAA7F;;AACAA,iBAAa,CAACz9M,IAAd,GAAqB,gEAAyB;AAAE3pC,UAAI,EAAEonP,aAAR;AAAuBx9M,eAAS,EAAE,CAAC,CAAC,MAAD,EAAS,CAAT,EAAY,UAAZ,EAAwB,EAAxB,EAA4B,CAA5B,EAA+B,kBAA/B,EAAmD,EAAnD,CAAD,CAAlC;AAA4FqtB,eAAS,EAAE,CAAC,YAAD,EAAe,EAAf;AAAvG,KAAzB,CAArB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB86O,aAAzB,EAAwC,CAAC;AACnGpnP,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,8CADX;AAECy1C,cAAI,EAAE;AAAE,0BAAc;AAAhB;AAFP,SAAD;AAF6F,OAAD,CAAxC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAQA;;;;;;;;;AAOA,QAAMywM,qBAAqB,GAAG;AAC1BnzM,aAAO,EAAE8gM,iBADiB;AAE1B7gM,iBAAW,EAAE,iEAAW;AAAA,eAAMmzM,mBAAN;AAAA,OAAX,CAFa;AAG1Bj+O,WAAK,EAAE;AAHmB,KAA9B;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;QAwBMi+O,mB;;;;;;;AACF,mCAAY7iI,SAAZ,EAAuB/7E,WAAvB,EAAoC;AAAA;;AAAA;;AAChC;AACA,iBAAK+7E,SAAL,GAAiBA,SAAjB;AACA,iBAAK/7E,WAAL,GAAmBA,WAAnB;AACA;;;;;;AAKA,iBAAKysM,QAAL,GAAgB,UAAC9kO,CAAD,EAAO,CAAG,CAA1B;AACA;;;;;;AAIA,iBAAK+kO,SAAL,GAAiB,YAAM,CAAG,CAA1B;;AAdgC;AAenC;AACD;;;;;;;;eAIA,oBAAWltO,KAAX,EAAkB;AACd;AACA,cAAMvB,eAAe,GAAGuB,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAA7C;;AACA,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,OAA3D,EAAoEniC,eAApE;AACH;AACD;;;;;;;eAIA,0BAAiBpE,EAAjB,EAAqB;AACjB,eAAK4yO,QAAL,GAAgB,UAACjtO,KAAD,EAAW;AACvB3F,cAAE,CAAC2F,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqBoF,UAAU,CAACpF,KAAD,CAAhC,CAAF;AACH,WAFD;AAGH;AACD;;;;;;;eAIA,2BAAkB3F,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;;;;MAhD6B8vM,2B;;AAkDlCuS,uBAAmB,CAACv7O,IAApB,GAA2B,SAASw7O,2BAAT,CAAqCt7O,CAArC,EAAwC;AAAE,aAAO,KAAKA,CAAC,IAAIq7O,mBAAV,EAA+B,gEAAyB,uDAAzB,CAA/B,EAA2E,gEAAyB,wDAAzB,CAA3E,CAAP;AAAiI,KAAtM;;AACAA,uBAAmB,CAAC59M,IAApB,GAA2B,gEAAyB;AAAE3pC,UAAI,EAAEunP,mBAAR;AAA6B39M,eAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,iBAA5B,EAA+C,EAA/C,CAAD,EAAqD,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,aAA5B,EAA2C,EAA3C,CAArD,EAAqG,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,SAA5B,EAAuC,EAAvC,CAArG,CAAxC;AAA0L8M,kBAAY,EAAE,SAAS+wM,gCAAT,CAA0C7wM,EAA1C,EAA8C76B,GAA9C,EAAmD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACrT,mEAAkB,OAAlB,EAA2B,SAAS8wM,4CAAT,CAAsDjS,MAAtD,EAA8D;AAAE,mBAAO15N,GAAG,CAACq5N,QAAJ,CAAaK,MAAM,CAACt3N,MAAP,CAAchW,KAA3B,CAAP;AAA2C,WAAtI,EAAwI,MAAxI,EAAgJ,SAASw/O,2CAAT,GAAuD;AAAE,mBAAO5rO,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAAlO;AACH;AAAE,OAF6C;AAE3CtrM,cAAQ,EAAE,CAAC,iEAA0B,CAACu9M,qBAAD,CAA1B,CAAD,EAAqD,wEAArD;AAFiC,KAAzB,CAA3B;;AAGAC,uBAAmB,CAAC5nN,cAApB,GAAqC;AAAA,aAAM,CACvC;AAAE3/B,YAAI,EAAE;AAAR,OADuC,EAEvC;AAAEA,YAAI,EAAE;AAAR,OAFuC,CAAN;AAAA,KAArC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBi7O,mBAAzB,EAA8C,CAAC;AACzGvnP,YAAI,EAAE,uDADmG;AAEzGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,iGADX;AAECy1C,cAAI,EAAE;AAAE,uBAAW,+BAAb;AAA8C,sBAAU;AAAxD,WAFP;AAGCxC,mBAAS,EAAE,CAACizM,qBAAD;AAHZ,SAAD;AAFmG,OAAD,CAA9C,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAEtnP,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,CAAP;AAAmE,OAPvB,EAOyB,IAPzB,CAAnD;AAOoF,KAPnG;AASA;;;;;;;;;AAOA,QAAM4nP,oBAAoB,GAAG;AACzBzzM,aAAO,EAAE8gM,iBADgB;AAEzB7gM,iBAAW,EAAE,iEAAW;AAAA,eAAMyzM,yBAAN;AAAA,OAAX,CAFY;AAGzBv+O,WAAK,EAAE;AAHkB,KAA7B;;AAKA,aAASw+O,cAAT,GAA0B;AACtB,YAAM,IAAI9gP,KAAJ,mMAAN;AAIH;AACD;;;;;;;;QAMM+gP,0B;;;;AAENA,8BAA0B,CAAC/7O,IAA3B,GAAkC,SAASg8O,kCAAT,CAA4C97O,CAA5C,EAA+C;AAAE,aAAO,KAAKA,CAAC,IAAI67O,0BAAV,GAAP;AAAiD,KAApI;;AACAA,8BAA0B,CAACx0M,IAA3B,GAAkC,+DAAwB;AAAEvzC,UAAI,EAAE+nP;AAAR,KAAxB,CAAlC;AACAA,8BAA0B,CAACv0M,IAA3B,GAAkC,+DAAwB,EAAxB,CAAlC;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOlnC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBy7O,0BAAzB,EAAqD,CAAC;AAChH/nP,YAAI,EAAE;AAD0G,OAAD,CAArD,EAE1D,IAF0D,EAEpD,IAFoD,CAAnD;AAEO,KAFtB;AAGA;;;;;;QAIMioP,oB;;;AACF,sCAAc;AAAA;;AACV,aAAKC,UAAL,GAAkB,EAAlB;AACH;AACD;;;;;;;;eAIA,aAAIvzJ,OAAJ,EAAawzJ,QAAb,EAAuB;AACnB,eAAKD,UAAL,CAAgBzlP,IAAhB,CAAqB,CAACkyF,OAAD,EAAUwzJ,QAAV,CAArB;AACH;AACD;;;;;;;eAIA,gBAAOA,QAAP,EAAiB;AACb,eAAK,IAAI59O,CAAC,GAAG,KAAK29O,UAAL,CAAgBhlP,MAAhB,GAAyB,CAAtC,EAAyCqH,CAAC,IAAI,CAA9C,EAAiD,EAAEA,CAAnD,EAAsD;AAClD,gBAAI,KAAK29O,UAAL,CAAgB39O,CAAhB,EAAmB,CAAnB,MAA0B49O,QAA9B,EAAwC;AACpC,mBAAKD,UAAL,CAAgB/5O,MAAhB,CAAuB5D,CAAvB,EAA0B,CAA1B;;AACA;AACH;AACJ;AACJ;AACD;;;;;;;eAIA,gBAAO49O,QAAP,EAAiB;AAAA;;AACb,eAAKD,UAAL,CAAgB3lP,OAAhB,CAAwB,UAACq2B,CAAD,EAAO;AAC3B,gBAAI,QAAI,CAACwvN,YAAL,CAAkBxvN,CAAlB,EAAqBuvN,QAArB,KAAkCvvN,CAAC,CAAC,CAAD,CAAD,KAASuvN,QAA/C,EAAyD;AACrDvvN,eAAC,CAAC,CAAD,CAAD,CAAKyvN,WAAL,CAAiBF,QAAQ,CAAChgP,KAA1B;AACH;AACJ,WAJD;AAKH;;;eACD,sBAAamgP,WAAb,EAA0BH,QAA1B,EAAoC;AAChC,cAAI,CAACG,WAAW,CAAC,CAAD,CAAX,CAAe3zJ,OAApB,EACI,OAAO,KAAP;AACJ,iBAAO2zJ,WAAW,CAAC,CAAD,CAAX,CAAer/D,OAAf,KAA2Bk/D,QAAQ,CAACI,QAAT,CAAkBt/D,OAA7C,IACHq/D,WAAW,CAAC,CAAD,CAAX,CAAexoP,IAAf,KAAwBqoP,QAAQ,CAACroP,IADrC;AAEH;;;;;;AAELmoP,wBAAoB,CAACj8O,IAArB,GAA4B,SAASw8O,4BAAT,CAAsCt8O,CAAtC,EAAyC;AAAE,aAAO,KAAKA,CAAC,IAAI+7O,oBAAV,GAAP;AAA2C,KAAlH;;AACAA,wBAAoB,CAAC97O,KAArB,GAA6B,yEAAmB;AAAEE,aAAO,EAAE,SAASm8O,4BAAT,GAAwC;AAAE,eAAO,IAAIP,oBAAJ,EAAP;AAAoC,OAAzF;AAA2F77O,WAAK,EAAE67O,oBAAlG;AAAwHvoN,gBAAU,EAAEqoN;AAApI,KAAnB,CAA7B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOz7O,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB27O,oBAAzB,EAA+C,CAAC;AAC1GjoP,YAAI,EAAE,wDADoG;AAE1GimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAEqoN;AAAd,SAAD;AAFoG,OAAD,CAA/C,EAG1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAHgC,EAG9B,IAH8B,CAAnD;AAG6B,KAH5C;AAIA;;;;;;;;;;;;;;;;;;;;;;QAoBMF,yB;;;;;;;AACF,yCAAYnjI,SAAZ,EAAuB/7E,WAAvB,EAAoC8/M,SAApC,EAA+C7tK,SAA/C,EAA0D;AAAA;;AAAA;;AACtD;AACA,iBAAK8pC,SAAL,GAAiBA,SAAjB;AACA,iBAAK/7E,WAAL,GAAmBA,WAAnB;AACA,iBAAK8/M,SAAL,GAAiBA,SAAjB;AACA,iBAAK7tK,SAAL,GAAiBA,SAAjB;AACA;;;;;AAIA,iBAAKw6J,QAAL,GAAgB,YAAM,CAAG,CAAzB;AACA;;;;;;AAIA,iBAAKC,SAAL,GAAiB,YAAM,CAAG,CAA1B;;AAfsD;AAgBzD;AACD;;;;;eACA,oBAAW;AACP,eAAKkT,QAAL,GAAgB,KAAK3tK,SAAL,CAAevyE,GAAf,CAAmBgyO,SAAnB,CAAhB;;AACA,eAAKyM,UAAL;;AACA,eAAK2B,SAAL,CAAe9yO,GAAf,CAAmB,KAAK4yO,QAAxB,EAAkC,IAAlC;AACH;AACD;;;;eACA,uBAAc;AACV,eAAKE,SAAL,CAAet0N,MAAf,CAAsB,IAAtB;AACH;AACD;;;;;;;eAIA,oBAAWhsB,KAAX,EAAkB;AACd,eAAK4tB,MAAL,GAAc5tB,KAAK,KAAK,KAAKA,KAA7B;;AACA,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,SAA3D,EAAsE,KAAKhT,MAA3E;AACH;AACD;;;;;;;eAIA,0BAAiBvzB,EAAjB,EAAqB;AAAA;;AACjB,eAAKkmP,GAAL,GAAWlmP,EAAX;;AACA,eAAK4yO,QAAL,GAAgB,YAAM;AAClB5yO,cAAE,CAAC,QAAI,CAAC2F,KAAN,CAAF;;AACA,oBAAI,CAACsgP,SAAL,CAAeruM,MAAf,CAAsB,QAAtB;AACH,WAHD;AAIH;AACD;;;;;;;;eAKA,qBAAYjyC,KAAZ,EAAmB;AACf,eAAKwzO,UAAL,CAAgBxzO,KAAhB;AACH;AACD;;;;;;;eAIA,2BAAkB3F,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;;;eACD,sBAAa;AACT,cAAI,KAAKplC,IAAL,IAAa,KAAKo7O,eAAlB,IAAqC,KAAKp7O,IAAL,KAAc,KAAKo7O,eAAxD,KACC,OAAO5uO,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjDw7O,0BAAc;AACjB;;AACD,cAAI,CAAC,KAAKhoP,IAAN,IAAc,KAAKo7O,eAAvB,EACI,KAAKp7O,IAAL,GAAY,KAAKo7O,eAAjB;AACP;;;;MA5EmClG,2B;;AA8ExC6S,6BAAyB,CAAC77O,IAA1B,GAAiC,SAAS28O,iCAAT,CAA2Cz8O,CAA3C,EAA8C;AAAE,aAAO,KAAKA,CAAC,IAAI27O,yBAAV,EAAqC,gEAAyB,uDAAzB,CAArC,EAAiF,gEAAyB,wDAAzB,CAAjF,EAA8H,gEAAyBI,oBAAzB,CAA9H,EAA8K,gEAAyB,sDAAzB,CAA9K,CAAP;AAAkO,KAAnT;;AACAJ,6BAAyB,CAACl+M,IAA1B,GAAiC,gEAAyB;AAAE3pC,UAAI,EAAE6nP,yBAAR;AAAmCj+M,eAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,iBAA3B,EAA8C,EAA9C,CAAD,EAAoD,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,aAA3B,EAA0C,EAA1C,CAApD,EAAmG,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,SAA3B,EAAsC,EAAtC,CAAnG,CAA9C;AAA6L8M,kBAAY,EAAE,SAASkyM,sCAAT,CAAgDhyM,EAAhD,EAAoD76B,GAApD,EAAyD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACpU,mEAAkB,QAAlB,EAA4B,SAASiyM,mDAAT,GAA+D;AAAE,mBAAO9sO,GAAG,CAACq5N,QAAJ,EAAP;AAAwB,WAArH,EAAuH,MAAvH,EAA+H,SAAS0T,iDAAT,GAA6D;AAAE,mBAAO/sO,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAAvN;AACH;AAAE,OAFmD;AAEjDxrM,YAAM,EAAE;AAAE/pC,YAAI,EAAE,MAAR;AAAgBo7O,uBAAe,EAAE,iBAAjC;AAAoD/yO,aAAK,EAAE;AAA3D,OAFyC;AAE6B4hC,cAAQ,EAAE,CAAC,iEAA0B,CAAC69M,oBAAD,CAA1B,CAAD,EAAoD,wEAApD;AAFvC,KAAzB,CAAjC;;AAGAC,6BAAyB,CAACloN,cAA1B,GAA2C;AAAA,aAAM,CAC7C;AAAE3/B,YAAI,EAAE;AAAR,OAD6C,EAE7C;AAAEA,YAAI,EAAE;AAAR,OAF6C,EAG7C;AAAEA,YAAI,EAAEioP;AAAR,OAH6C,EAI7C;AAAEjoP,YAAI,EAAE;AAAR,OAJ6C,CAAN;AAAA,KAA3C;;AAMA6nP,6BAAyB,CAAC79M,cAA1B,GAA2C;AACvClqC,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE;AAAR,OAAD,CADiC;AAEvCk7O,qBAAe,EAAE,CAAC;AAAEl7O,YAAI,EAAE;AAAR,OAAD,CAFsB;AAGvCmI,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE;AAAR,OAAD;AAHgC,KAA3C;;AAKA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBu7O,yBAAzB,EAAoD,CAAC;AAC/G7nP,YAAI,EAAE,uDADyG;AAE/GimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,8FADX;AAECy1C,cAAI,EAAE;AAAE,wBAAY,YAAd;AAA4B,sBAAU;AAAtC,WAFP;AAGCxC,mBAAS,EAAE,CAACuzM,oBAAD;AAHZ,SAAD;AAFyG,OAAD,CAApD,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAE5nP,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,EAA0D;AAAEA,cAAI,EAAEioP;AAAR,SAA1D,EAA0F;AAAEjoP,cAAI,EAAE;AAAR,SAA1F,CAAP;AAA8H,OAPlF,EAOoF;AAAEF,YAAI,EAAE,CAAC;AACnJE,cAAI,EAAE;AAD6I,SAAD,CAAR;AAE1Ik7O,uBAAe,EAAE,CAAC;AAClBl7O,cAAI,EAAE;AADY,SAAD,CAFyH;AAI1ImI,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE;AADE,SAAD;AAJmI,OAPpF,CAAnD;AAaC,KAbhB;AAeA;;;;;;;;;AAOA,QAAM+oP,oBAAoB,GAAG;AACzB50M,aAAO,EAAE8gM,iBADgB;AAEzB7gM,iBAAW,EAAE,iEAAW;AAAA,eAAM40M,kBAAN;AAAA,OAAX,CAFY;AAGzB1/O,WAAK,EAAE;AAHkB,KAA7B;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;QAwBM0/O,kB;;;;;;;AACF,kCAAYtkI,SAAZ,EAAuB/7E,WAAvB,EAAoC;AAAA;;AAAA;;AAChC;AACA,iBAAK+7E,SAAL,GAAiBA,SAAjB;AACA,iBAAK/7E,WAAL,GAAmBA,WAAnB;AACA;;;;;;AAKA,iBAAKysM,QAAL,GAAgB,UAAC9kO,CAAD,EAAO,CAAG,CAA1B;AACA;;;;;;AAIA,iBAAK+kO,SAAL,GAAiB,YAAM,CAAG,CAA1B;;AAdgC;AAenC;AACD;;;;;;;;eAIA,oBAAWltO,KAAX,EAAkB;AACd,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,OAA3D,EAAoEx7B,UAAU,CAACpF,KAAD,CAA9E;AACH;AACD;;;;;;;eAIA,0BAAiB3F,EAAjB,EAAqB;AACjB,eAAK4yO,QAAL,GAAgB,UAACjtO,KAAD,EAAW;AACvB3F,cAAE,CAAC2F,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqBoF,UAAU,CAACpF,KAAD,CAAhC,CAAF;AACH,WAFD;AAGH;AACD;;;;;;;eAIA,2BAAkB3F,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;;;;MA9C4B8vM,2B;;AAgDjCgU,sBAAkB,CAACh9O,IAAnB,GAA0B,SAASi9O,0BAAT,CAAoC/8O,CAApC,EAAuC;AAAE,aAAO,KAAKA,CAAC,IAAI88O,kBAAV,EAA8B,gEAAyB,uDAAzB,CAA9B,EAA0E,gEAAyB,wDAAzB,CAA1E,CAAP;AAAgI,KAAnM;;AACAA,sBAAkB,CAACr/M,IAAnB,GAA0B,gEAAyB;AAAE3pC,UAAI,EAAEgpP,kBAAR;AAA4Bp/M,eAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,iBAA3B,EAA8C,EAA9C,CAAD,EAAoD,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,aAA3B,EAA0C,EAA1C,CAApD,EAAmG,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,SAA3B,EAAsC,EAAtC,CAAnG,CAAvC;AAAsL8M,kBAAY,EAAE,SAASwyM,+BAAT,CAAyCtyM,EAAzC,EAA6C76B,GAA7C,EAAkD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC/S,mEAAkB,QAAlB,EAA4B,SAASuyM,4CAAT,CAAsD1T,MAAtD,EAA8D;AAAE,mBAAO15N,GAAG,CAACq5N,QAAJ,CAAaK,MAAM,CAACt3N,MAAP,CAAchW,KAA3B,CAAP;AAA2C,WAAvI,EAAyI,OAAzI,EAAkJ,SAASihP,2CAAT,CAAqD3T,MAArD,EAA6D;AAAE,mBAAO15N,GAAG,CAACq5N,QAAJ,CAAaK,MAAM,CAACt3N,MAAP,CAAchW,KAA3B,CAAP;AAA2C,WAA5P,EAA8P,MAA9P,EAAsQ,SAASkhP,0CAAT,GAAsD;AAAE,mBAAOttO,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAAvV;AACH;AAAE,OAF4C;AAE1CtrM,cAAQ,EAAE,CAAC,iEAA0B,CAACg/M,oBAAD,CAA1B,CAAD,EAAoD,wEAApD;AAFgC,KAAzB,CAA1B;;AAGAC,sBAAkB,CAACrpN,cAAnB,GAAoC;AAAA,aAAM,CACtC;AAAE3/B,YAAI,EAAE;AAAR,OADsC,EAEtC;AAAEA,YAAI,EAAE;AAAR,OAFsC,CAAN;AAAA,KAApC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB08O,kBAAzB,EAA6C,CAAC;AACxGhpP,YAAI,EAAE,uDADkG;AAExGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,8FADX;AAECy1C,cAAI,EAAE;AACF,wBAAY,+BADV;AAEF,uBAAW,+BAFT;AAGF,sBAAU;AAHR,WAFP;AAOCxC,mBAAS,EAAE,CAAC00M,oBAAD;AAPZ,SAAD;AAFkG,OAAD,CAA7C,EAW1D,YAAY;AAAE,eAAO,CAAC;AAAE/oP,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,CAAP;AAAmE,OAXvB,EAWyB,IAXzB,CAAnD;AAWoF,KAXnG;AAaA;;;;;;;;AAOA;;;;;AAGA,QAAMspP,kCAAkC,GAAG,IAAI,4DAAJ,CAAmB,+BAAnB,CAA3C;AACA,QAAMC,oBAAoB,GAAG;AACzBp1M,aAAO,EAAEkmM,SADgB;AAEzBjmM,iBAAW,EAAE,iEAAW;AAAA,eAAMo1M,oBAAN;AAAA,OAAX;AAFY,KAA7B;AAIA;;;;;;;;;;;;;;;;;;;;;;;QAsBMA,oB;;;;;;;AACF,oCAAY1R,UAAZ,EAAwBkF,eAAxB,EAAyC8B,cAAzC,EAAyD2K,qBAAzD,EAAgF;AAAA;;AAAA;;AAC5E;AACA,iBAAKA,qBAAL,GAA6BA,qBAA7B;AACA;;AACA,iBAAKj2H,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;;;;;;;AAOA,iBAAK8rH,mBAAL,GAA2B,KAA3B;;AACA,iBAAKwG,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AACA,iBAAK1C,aAAL,GAAqBuE,mBAAmB,mCAAOC,cAAP,CAAxC;AAf4E;AAgB/E;AACD;;;;;;;;aAIA,aAAe55M,UAAf,EAA2B;AACvB,cAAI,OAAO54B,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CivO,0BAAc,CAACmO,mBAAf;AACH;AACJ;AACD;;;;eACA,qBAAY9oN,OAAZ,EAAqB;AACjB,cAAI,KAAK+oN,iBAAL,CAAuB/oN,OAAvB,CAAJ,EAAqC;AACjC,gBAAMgpN,YAAY,GAAGhpN,OAAO,CAAC,MAAD,CAAP,CAAgB4kF,aAArC;;AACA,gBAAIokI,YAAJ,EAAkB;AACd5N,4BAAc,CAAC4N,YAAD,EAAe,IAAf;AAAqB;AAAsC,mBAA3D,CAAd;AACH;;AACDnO,wBAAY,CAAC,KAAKrgI,IAAN,EAAY,IAAZ,CAAZ;;AACA,gBAAI,KAAKzmB,OAAL,CAAantF,QAAb,IAAyB,KAAK8yO,aAAL,CAAmBmC,gBAAhD,EAAkE;AAC9D,mBAAKnC,aAAL,CAAmBmC,gBAAnB,CAAoC,IAApC;AACH;;AACD,iBAAKrhI,IAAL,CAAUgiI,sBAAV,CAAiC;AAAEoE,uBAAS,EAAE;AAAb,aAAjC;AACH;;AACD,cAAIjD,iBAAiB,CAAC39M,OAAD,EAAU,KAAK49M,SAAf,CAArB,EAAgD;AAC5C,gBAAI,OAAOlyO,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C6yO,6BAAe,CAAC,aAAD,EAAgBqK,oBAAhB,EAAsC,IAAtC,EAA4C,KAAKC,qBAAjD,CAAf;AACH;;AACD,iBAAKruI,IAAL,CAAUs+C,QAAV,CAAmB,KAAK+sF,KAAxB;AACA,iBAAKjI,SAAL,GAAiB,KAAKiI,KAAtB;AACH;AACJ;AACD;;;;eACA,uBAAc;AACV,cAAI,KAAKrrI,IAAT,EAAe;AACX4gI,0BAAc,CAAC,KAAK5gI,IAAN,EAAY,IAAZ;AAAkB;AAAsC,iBAAxD,CAAd;AACH;AACJ;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAO,EAAP;AACH;AACD;;;;;;;aAIA,eAAc;AACV,iBAAO,KAAKA,IAAZ;AACH;AACD;;;;;;;;;eAMA,2BAAkB/iF,QAAlB,EAA4B;AACxB,eAAKmmN,SAAL,GAAiBnmN,QAAjB;AACA,eAAKm7F,MAAL,CAAYrhF,IAAZ,CAAiB9Z,QAAjB;AACH;;;eACD,2BAAkBuI,OAAlB,EAA2B;AACvB,iBAAOA,OAAO,CAACjzB,cAAR,CAAuB,MAAvB,CAAP;AACH;;;;MAjF8B0sO,S;;AAmFnCmP,wBAAoB,CAACx9O,IAArB,GAA4B,SAAS69O,4BAAT,CAAsC39O,CAAtC,EAAyC;AAAE,aAAO,KAAKA,CAAC,IAAIs9O,oBAAV,EAAgC,gEAAyBzS,aAAzB,EAAwC,EAAxC,CAAhC,EAA6E,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAA7E,EAAgI,gEAAyB/B,iBAAzB,EAA4C,EAA5C,CAAhI,EAAiL,gEAAyBqU,kCAAzB,EAA6D,CAA7D,CAAjL,CAAP;AAA2P,KAAlU;;AACAE,wBAAoB,CAAC7/M,IAArB,GAA4B,gEAAyB;AAAE3pC,UAAI,EAAEwpP,oBAAR;AAA8B5/M,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAzC;AAAoEC,YAAM,EAAE;AAAE3E,kBAAU,EAAE,CAAC,UAAD,EAAa,YAAb,CAAd;AAA0Ck2E,YAAI,EAAE,CAAC,aAAD,EAAgB,MAAhB,CAAhD;AAAyEqrI,aAAK,EAAE,CAAC,SAAD,EAAY,OAAZ;AAAhF,OAA5E;AAAoLp0M,aAAO,EAAE;AAAEmhF,cAAM,EAAE;AAAV,OAA7L;AAA0N1pF,cAAQ,EAAE,CAAC,QAAD,CAApO;AAAgPC,cAAQ,EAAE,CAAC,iEAA0B,CAACw/M,oBAAD,CAA1B,CAAD,EAAoD,wEAApD,EAAuF,kEAAvF;AAA1P,KAAzB,CAA5B;AACA;;;;;;;;AAOAC,wBAAoB,CAACnK,uBAArB,GAA+C,KAA/C;;AACAmK,wBAAoB,CAAC7pN,cAArB,GAAsC;AAAA,aAAM,CACxC;AAAE3/B,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OADwC,EAExC;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAFwC,EAGxC;AAAEh3O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACgvN,iBAAD;AAAtB,SAArC;AAA3B,OAHwC,EAIxC;AAAEj1O,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACqjO,kCAAD;AAAtB,SAArB;AAA5B,OAJwC,CAAN;AAAA,KAAtC;;AAMAE,wBAAoB,CAACx/M,cAArB,GAAsC;AAClCoxE,UAAI,EAAE,CAAC;AAAEp7G,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,aAAD;AAArB,OAAD,CAD4B;AAElCif,gBAAU,EAAE,CAAC;AAAEllC,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,UAAD;AAArB,OAAD,CAFsB;AAGlCwgO,WAAK,EAAE,CAAC;AAAEzmP,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,SAAD;AAArB,OAAD,CAH2B;AAIlCutG,YAAM,EAAE,CAAC;AAAExzH,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,eAAD;AAAtB,OAAD;AAJ0B,KAAtC;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBk9O,oBAAzB,EAA+C,CAAC;AAC1GxpP,YAAI,EAAE,uDADoG;AAE1GimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE,eAAZ;AAA6BizC,mBAAS,EAAE,CAACk1M,oBAAD,CAAxC;AAAgEz/M,kBAAQ,EAAE;AAA1E,SAAD;AAFoG,OAAD,CAA/C,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC1C5/B,gBAAI,EAAE;AADoC,WAAD,EAE1C;AACCA,gBAAI,EAAE;AADP,WAF0C,EAI1C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ0C;AAA3B,SAAD,EAOX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAPW,EAcX;AAAEh3O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACgvN,iBAAD;AAFP,WAJ8B;AAA3B,SAdW,EAqBX;AAAEj1O,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC/B5/B,gBAAI,EAAE;AADyB,WAAD,EAE/B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACqjO,kCAAD;AAFP,WAF+B;AAA5B,SArBW,CAAP;AA0BF,OA7B8C,EA6B5C;AAAE91H,cAAM,EAAE,CAAC;AACrBxzH,cAAI,EAAE,oDADe;AAErBimB,cAAI,EAAE,CAAC,eAAD;AAFe,SAAD,CAAV;AAGVif,kBAAU,EAAE,CAAC;AACbllC,cAAI,EAAE,mDADO;AAEbimB,cAAI,EAAE,CAAC,UAAD;AAFO,SAAD,CAHF;AAMVm1F,YAAI,EAAE,CAAC;AACPp7G,cAAI,EAAE,mDADC;AAEPimB,cAAI,EAAE,CAAC,aAAD;AAFC,SAAD,CANI;AASVwgO,aAAK,EAAE,CAAC;AACRzmP,cAAI,EAAE,mDADE;AAERimB,cAAI,EAAE,CAAC,SAAD;AAFE,SAAD;AATG,OA7B4C,CAAnD;AAyCC,KAzChB;AA2CA;;;;;;;;;AAOA,QAAM6jO,uBAAuB,GAAG;AAC5B31M,aAAO,EAAE+lM,gBADmB;AAE5B9lM,iBAAW,EAAE,iEAAW;AAAA,eAAM21M,kBAAN;AAAA,OAAX;AAFe,KAAhC;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;QAwBMA,kB;;;;;;;AACF,kCAAYjS,UAAZ,EAAwBkF,eAAxB,EAAyC;AAAA;;AAAA;;AACrC;AACA,iBAAKlF,UAAL,GAAkBA,UAAlB;AACA,iBAAKkF,eAAL,GAAuBA,eAAvB;AACA;;;;;AAIA,iBAAKuH,SAAL,GAAiB,KAAjB;AACA;;;;;AAIA,iBAAK5D,mBAAL,GAA2B;AAAA,iBAAM,SAAKqJ,eAAL,EAAN;AAAA,SAA3B;AACA;;;;;;AAIA,iBAAKjvJ,UAAL,GAAkB,EAAlB;AACA;;;;;AAIA,iBAAKqgB,IAAL,GAAY,IAAZ;AACA;;;;;AAIA,iBAAKqpI,QAAL,GAAgB,IAAI,0DAAJ,EAAhB;;AACA,iBAAKqB,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AA9BqC;AA+BxC;AACD;;;;;eACA,qBAAYp8M,OAAZ,EAAqB;AACjB,eAAKqpN,iBAAL;;AACA,cAAIrpN,OAAO,CAACjzB,cAAR,CAAuB,MAAvB,CAAJ,EAAoC;AAChC,iBAAKu8O,iBAAL;;AACA,iBAAKF,eAAL;;AACA,iBAAKG,oBAAL;;AACA,iBAAKC,QAAL,GAAgB,KAAKhvI,IAArB;AACH;AACJ;AACD;;;;eACA,uBAAc;AACV,cAAI,KAAKA,IAAT,EAAe;AACXihI,6BAAiB,CAAC,KAAKjhI,IAAN,EAAY,IAAZ;AAAkB;AAA8B,iBAAhD,CAAjB,CADW,CAEX;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAI,KAAKA,IAAL,CAAUulI,mBAAV,KAAkC,KAAKA,mBAA3C,EAAgE;AAC5D,mBAAKvlI,IAAL,CAAUmhI,2BAAV,CAAsC,YAAM,CAAG,CAA/C;AACH;AACJ;AACJ;AACD;;;;;;;aAIA,eAAoB;AAChB,iBAAO,IAAP;AACH;AACD;;;;;;;aAIA,eAAc;AACV,iBAAO,KAAKnhI,IAAZ;AACH;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAO,EAAP;AACH;AACD;;;;;;;;;;eAOA,oBAAWrlE,GAAX,EAAgB;AACZ,cAAMqsM,IAAI,GAAG,KAAKhnI,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAb;AACAirI,sBAAY,CAAC2G,IAAD,EAAOrsM,GAAP,CAAZ;AACAqsM,cAAI,CAAChF,sBAAL,CAA4B;AAAEoE,qBAAS,EAAE;AAAb,WAA5B;AACA,eAAKzmJ,UAAL,CAAgBt4F,IAAhB,CAAqBszC,GAArB;AACA,iBAAOqsM,IAAP;AACH;AACD;;;;;;;;;eAMA,oBAAWrsM,GAAX,EAAgB;AACZ,iBAAO,KAAKqlE,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAP;AACH;AACD;;;;;;;;;eAMA,uBAAcz6D,GAAd,EAAmB;AACfimM,wBAAc,CAACjmM,GAAG,CAAC4+C,OAAJ,IAAe,IAAhB,EAAsB5+C,GAAtB;AAA2B;AAAsC,eAAjE,CAAd;AACAmpM,wBAAc,CAAC,KAAKnkJ,UAAN,EAAkBhlD,GAAlB,CAAd;AACH;AACD;;;;;;;;eAKA,sBAAaA,GAAb,EAAkB;AACd,eAAKs0M,mBAAL,CAAyBt0M,GAAzB;AACH;AACD;;;;;;;;;eAMA,yBAAgBA,GAAhB,EAAqB;AACjB,eAAKu0M,qBAAL,CAA2Bv0M,GAA3B;AACH;AACD;;;;;;;;;eAMA,sBAAaA,GAAb,EAAkB;AACd,iBAAO,KAAKqlE,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAP;AACH;AACD;;;;;;;;eAKA,sBAAaz6D,GAAb,EAAkB;AACd,eAAKs0M,mBAAL,CAAyBt0M,GAAzB;AACH;AACD;;;;;;;;;eAMA,yBAAgBA,GAAhB,EAAqB;AACjB,eAAKu0M,qBAAL,CAA2Bv0M,GAA3B;AACH;AACD;;;;;;;;;eAMA,sBAAaA,GAAb,EAAkB;AACd,iBAAO,KAAKqlE,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAP;AACH;AACD;;;;;;;;;eAMA,qBAAYz6D,GAAZ,EAAiB5tC,KAAjB,EAAwB;AACpB,cAAMi6O,IAAI,GAAG,KAAKhnI,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAb;AACA4xI,cAAI,CAAC1oF,QAAL,CAAcvxJ,KAAd;AACH;AACD;;;;;;;;;;eAOA,kBAASstO,MAAT,EAAiB;AACb,eAAK8O,SAAL,GAAiB,IAAjB;AACA5F,6BAAmB,CAAC,KAAKvjI,IAAN,EAAY,KAAKrgB,UAAjB,CAAnB;AACA,eAAK0pJ,QAAL,CAActyM,IAAd,CAAmBsjM,MAAnB;AACA,iBAAO,KAAP;AACH;AACD;;;;;;;eAIA,mBAAU;AACN,eAAKmP,SAAL;AACH;AACD;;;;;;;;;eAMA,qBAA6B;AAAA,cAAnBz8O,KAAmB,uEAAXN,SAAW;AACzB,eAAKuzG,IAAL,CAAU52G,KAAV,CAAgB2D,KAAhB;AACA,eAAKo8O,SAAL,GAAiB,KAAjB;AACH;AACD;;;;eACA,2BAAkB;AAAA;;AACd,eAAKxpJ,UAAL,CAAgBx4F,OAAhB,CAAwB,UAAAwzC,GAAG,EAAI;AAC3B,gBAAMw0M,OAAO,GAAGx0M,GAAG,CAAC4+C,OAApB;;AACA,gBAAM61J,OAAO,GAAG,QAAI,CAACpvI,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAhB;;AACA,gBAAI+5I,OAAO,KAAKC,OAAhB,EAAyB;AACrB;AACA;AACAxO,4BAAc,CAACuO,OAAO,IAAI,IAAZ,EAAkBx0M,GAAlB,CAAd,CAHqB,CAIrB;AACA;AACA;AACA;AACA;;AACA,kBAAIy0M,OAAO,YAAYxH,WAAvB,EAAoC;AAChCvH,4BAAY,CAAC+O,OAAD,EAAUz0M,GAAV,CAAZ;AACAA,mBAAG,CAAC4+C,OAAJ,GAAc61J,OAAd;AACH;AACJ;AACJ,WAjBD;;AAkBA,eAAKpvI,IAAL,CAAUinI,mBAAV,CAA8B;AAAEb,qBAAS,EAAE;AAAb,WAA9B;AACH;;;eACD,6BAAoBzrM,GAApB,EAAyB;AACrB,cAAMqsM,IAAI,GAAG,KAAKhnI,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAb;AACA4tI,4BAAkB,CAACgE,IAAD,EAAOrsM,GAAP,CAAlB,CAFqB,CAGrB;AACA;AACA;;AACAqsM,cAAI,CAAChF,sBAAL,CAA4B;AAAEoE,qBAAS,EAAE;AAAb,WAA5B;AACH;;;eACD,+BAAsBzrM,GAAtB,EAA2B;AACvB,cAAI,KAAKqlE,IAAT,EAAe;AACX,gBAAMgnI,IAAI,GAAG,KAAKhnI,IAAL,CAAU/yG,GAAV,CAAc0tC,GAAG,CAACy6D,IAAlB,CAAb;;AACA,gBAAI4xI,IAAJ,EAAU;AACN,kBAAM/E,gBAAgB,GAAGgB,oBAAoB,CAAC+D,IAAD,EAAOrsM,GAAP,CAA7C;;AACA,kBAAIsnM,gBAAJ,EAAsB;AAClB;AACA;AACA+E,oBAAI,CAAChF,sBAAL,CAA4B;AAAEoE,2BAAS,EAAE;AAAb,iBAA5B;AACH;AACJ;AACJ;AACJ;;;eACD,gCAAuB;AACnB,eAAKpmI,IAAL,CAAUmhI,2BAAV,CAAsC,KAAKoE,mBAA3C;;AACA,cAAI,KAAKyJ,QAAT,EAAmB;AACf,iBAAKA,QAAL,CAAc7N,2BAAd,CAA0C,YAAM,CAAG,CAAnD;AACH;AACJ;;;eACD,6BAAoB;AAChBb,yBAAe,CAAC,KAAKtgI,IAAN,EAAY,IAAZ;AAAkB;AAA8B,eAAhD,CAAf;;AACA,cAAI,KAAKgvI,QAAT,EAAmB;AACf/N,6BAAiB,CAAC,KAAK+N,QAAN,EAAgB,IAAhB;AAAsB;AAA8B,iBAApD,CAAjB;AACH;AACJ;;;eACD,6BAAoB;AAChB,cAAI,CAAC,KAAKhvI,IAAN,KAAe,OAAO9uG,SAAP,KAAqB,WAArB,IAAoCA,SAAnD,CAAJ,EAAmE;AAC/DivO,0BAAc,CAACkP,oBAAf;AACH;AACJ;;;;MAxQ4BvQ,gB;;AA0QjC6P,sBAAkB,CAAC/9O,IAAnB,GAA0B,SAAS0+O,0BAAT,CAAoCx+O,CAApC,EAAuC;AAAE,aAAO,KAAKA,CAAC,IAAI69O,kBAAV,EAA8B,gEAAyBhT,aAAzB,EAAwC,EAAxC,CAA9B,EAA2E,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAA3E,CAAP;AAAuI,KAA1M;;AACA+S,sBAAkB,CAACpgN,IAAnB,GAA0B,gEAAyB;AAAE3pC,UAAI,EAAE+pP,kBAAR;AAA4BngN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAAvC;AAAgE8M,kBAAY,EAAE,SAASi0M,+BAAT,CAAyC/zM,EAAzC,EAA6C76B,GAA7C,EAAkD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACzL,mEAAkB,QAAlB,EAA4B,SAASg0M,4CAAT,CAAsDnV,MAAtD,EAA8D;AAAE,mBAAO15N,GAAG,CAACipO,QAAJ,CAAavP,MAAb,CAAP;AAA8B,WAA1H,EAA4H,OAA5H,EAAqI,SAASoV,2CAAT,GAAuD;AAAE,mBAAO9uO,GAAG,CAACmpO,OAAJ,EAAP;AAAuB,WAArN;AACH;AAAE,OAF4C;AAE1Cr7M,YAAM,EAAE;AAAEuxE,YAAI,EAAE,CAAC,WAAD,EAAc,MAAd;AAAR,OAFkC;AAED/oE,aAAO,EAAE;AAAEoyM,gBAAQ,EAAE;AAAZ,OAFR;AAEkC36M,cAAQ,EAAE,CAAC,QAAD,CAF5C;AAEwDC,cAAQ,EAAE,CAAC,iEAA0B,CAAC+/M,uBAAD,CAA1B,CAAD,EAAuD,wEAAvD,EAA0F,kEAA1F;AAFlE,KAAzB,CAA1B;;AAGAC,sBAAkB,CAACpqN,cAAnB,GAAoC;AAAA,aAAM,CACtC;AAAE3/B,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OADsC,EAEtC;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAFsC,CAAN;AAAA,KAApC;;AAIA+S,sBAAkB,CAAC//M,cAAnB,GAAoC;AAChCoxE,UAAI,EAAE,CAAC;AAAEp7G,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,WAAD;AAArB,OAAD,CAD0B;AAEhCw+N,cAAQ,EAAE,CAAC;AAAEzkP,YAAI,EAAE;AAAR,OAAD;AAFsB,KAApC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBy9O,kBAAzB,EAA6C,CAAC;AACxG/pP,YAAI,EAAE,uDADkG;AAExGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,aADX;AAECizC,mBAAS,EAAE,CAACy1M,uBAAD,CAFZ;AAGCjzM,cAAI,EAAE;AAAE,wBAAY,kBAAd;AAAkC,uBAAW;AAA7C,WAHP;AAIC/M,kBAAQ,EAAE;AAJX,SAAD;AAFkG,OAAD,CAA7C,EAQ1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC1C5/B,gBAAI,EAAE;AADoC,WAAD,EAE1C;AACCA,gBAAI,EAAE;AADP,WAF0C,EAI1C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ0C;AAA3B,SAAD,EAOX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAPW,CAAP;AAcF,OAtB8C,EAsB5C;AAAE57H,YAAI,EAAE,CAAC;AACnBp7G,cAAI,EAAE,mDADa;AAEnBimB,cAAI,EAAE,CAAC,WAAD;AAFa,SAAD,CAAR;AAGVw+N,gBAAQ,EAAE,CAAC;AACXzkP,cAAI,EAAE;AADK,SAAD;AAHA,OAtB4C,CAAnD;AA2BC,KA3BhB;AA6BA;;;;;;;;;AAOA,QAAM8qP,qBAAqB,GAAG;AAC1B32M,aAAO,EAAE+lM,gBADiB;AAE1B9lM,iBAAW,EAAE,iEAAW;AAAA,eAAM22M,aAAN;AAAA,OAAX;AAFa,KAA9B;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+CMA,a;;;;;;;AACF,6BAAYtgO,MAAZ,EAAoBqtN,UAApB,EAAgCkF,eAAhC,EAAiD;AAAA;;AAAA;;AAC7C;AACA,iBAAK/zD,OAAL,GAAex+J,MAAf;;AACA,iBAAKq7N,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AAJ6C;AAKhD;AACD;;;;;eACA,4BAAmB;AACf,cAAIgO,iBAAiB,CAAC,KAAK/hE,OAAN,CAAjB,KAAoC,OAAO38K,SAAP,KAAqB,WAArB,IAAoCA,SAAxE,CAAJ,EAAwF;AACpFivO,0BAAc,CAAC0P,oBAAf;AACH;AACJ;;;;MAZuB9F,0B;;AAc5B4F,iBAAa,CAAC/+O,IAAd,GAAqB,SAASk/O,qBAAT,CAA+Bh/O,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAI6+O,aAAV,EAAyB,gEAAyB7Q,gBAAzB,EAA2C,EAA3C,CAAzB,EAAyE,gEAAyBnD,aAAzB,EAAwC,EAAxC,CAAzE,EAAsH,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAAtH,CAAP;AAAkL,KAA3O;;AACA+T,iBAAa,CAACphN,IAAd,GAAqB,gEAAyB;AAAE3pC,UAAI,EAAE+qP,aAAR;AAAuBnhN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAlC;AAA+DC,YAAM,EAAE;AAAE/pC,YAAI,EAAE,CAAC,eAAD,EAAkB,MAAlB;AAAR,OAAvE;AAA4GiqC,cAAQ,EAAE,CAAC,iEAA0B,CAAC+gN,qBAAD,CAA1B,CAAD,EAAqD,wEAArD;AAAtH,KAAzB,CAArB;;AACAC,iBAAa,CAACprN,cAAd,GAA+B;AAAA,aAAM,CACjC;AAAE3/B,YAAI,EAAEk6O,gBAAR;AAA0Bt6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE;AAAR,SAArC;AAAtC,OADiC,EAEjC;AAAEA,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OAFiC,EAGjC;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAHiC,CAAN;AAAA,KAA/B;;AAKA+T,iBAAa,CAAC/gN,cAAd,GAA+B;AAC3BlqC,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,eAAD;AAArB,OAAD;AADqB,KAA/B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBy+O,aAAzB,EAAwC,CAAC;AACnG/qP,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE,iBAAZ;AAA+BizC,mBAAS,EAAE,CAACy2M,qBAAD;AAA1C,SAAD;AAF6F,OAAD,CAAxC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE9qP,cAAI,EAAEk6O,gBAAR;AAA0Bt6M,oBAAU,EAAE,CAAC;AACrD5/B,gBAAI,EAAE;AAD+C,WAAD,EAErD;AACCA,gBAAI,EAAE;AADP,WAFqD,EAIrD;AACCA,gBAAI,EAAE;AADP,WAJqD;AAAtC,SAAD,EAMX;AAAEA,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ8B;AAA3B,SANW,EAaX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAbW,CAAP;AAoBF,OAvB8C,EAuB5C;AAAEl3O,YAAI,EAAE,CAAC;AACnBE,cAAI,EAAE,mDADa;AAEnBimB,cAAI,EAAE,CAAC,eAAD;AAFa,SAAD;AAAR,OAvB4C,CAAnD;AA0BC,KA1BhB;;AA2BA,QAAMklO,qBAAqB,GAAG;AAC1Bh3M,aAAO,EAAE+lM,gBADiB;AAE1B9lM,iBAAW,EAAE,iEAAW;AAAA,eAAMg3M,aAAN;AAAA,OAAX;AAFa,KAA9B;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;QAwBMA,a;;;;;;;AACF,6BAAY3gO,MAAZ,EAAoBqtN,UAApB,EAAgCkF,eAAhC,EAAiD;AAAA;;AAAA;;AAC7C;AACA,iBAAK/zD,OAAL,GAAex+J,MAAf;;AACA,iBAAKq7N,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AAJ6C;AAKhD;AACD;;;;;;;;;eAKA,oBAAW;AACP,eAAKoI,gBAAL;;AACA,eAAKC,aAAL,CAAmBgG,YAAnB,CAAgC,IAAhC;AACH;AACD;;;;;;;eAIA,uBAAc;AACV,cAAI,KAAKhG,aAAT,EAAwB;AACpB,iBAAKA,aAAL,CAAmBiG,eAAnB,CAAmC,IAAnC;AACH;AACJ;AACD;;;;;;;aAIA,eAAc;AACV,iBAAO,KAAKjG,aAAL,CAAmBkG,YAAnB,CAAgC,IAAhC,CAAP;AACH;AACD;;;;;;;aAIA,eAAoB;AAChB,iBAAO,KAAKtiE,OAAL,GAAe,KAAKA,OAAL,CAAao8D,aAA5B,GAA4C,IAAnD;AACH;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAO7J,WAAW,CAAC,KAAK17O,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU0F,QAAV,EAAjC,EAAuD,KAAKyjL,OAA5D,CAAlB;AACH;;;eACD,4BAAmB;AACf,cAAI+hE,iBAAiB,CAAC,KAAK/hE,OAAN,CAAjB,KAAoC,OAAO38K,SAAP,KAAqB,WAArB,IAAoCA,SAAxE,CAAJ,EAAwF;AACpFivO,0BAAc,CAACiQ,oBAAf;AACH;AACJ;;;;MAnDuBtR,gB;;AAqD5BkR,iBAAa,CAACp/O,IAAd,GAAqB,SAASy/O,qBAAT,CAA+Bv/O,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIk/O,aAAV,EAAyB,gEAAyBlR,gBAAzB,EAA2C,EAA3C,CAAzB,EAAyE,gEAAyBnD,aAAzB,EAAwC,EAAxC,CAAzE,EAAsH,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAAtH,CAAP;AAAkL,KAA3O;;AACAoU,iBAAa,CAACzhN,IAAd,GAAqB,gEAAyB;AAAE3pC,UAAI,EAAEorP,aAAR;AAAuBxhN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAlC;AAA+DC,YAAM,EAAE;AAAE/pC,YAAI,EAAE,CAAC,eAAD,EAAkB,MAAlB;AAAR,OAAvE;AAA4GiqC,cAAQ,EAAE,CAAC,iEAA0B,CAACohN,qBAAD,CAA1B,CAAD,EAAqD,wEAArD;AAAtH,KAAzB,CAArB;;AACAC,iBAAa,CAACzrN,cAAd,GAA+B;AAAA,aAAM,CACjC;AAAE3/B,YAAI,EAAEk6O,gBAAR;AAA0Bt6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE;AAAR,SAArC;AAAtC,OADiC,EAEjC;AAAEA,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OAFiC,EAGjC;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAHiC,CAAN;AAAA,KAA/B;;AAKAoU,iBAAa,CAACphN,cAAd,GAA+B;AAC3BlqC,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,eAAD;AAArB,OAAD;AADqB,KAA/B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB8+O,aAAzB,EAAwC,CAAC;AACnGprP,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE,iBAAZ;AAA+BizC,mBAAS,EAAE,CAAC82M,qBAAD;AAA1C,SAAD;AAF6F,OAAD,CAAxC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAEnrP,cAAI,EAAEk6O,gBAAR;AAA0Bt6M,oBAAU,EAAE,CAAC;AACrD5/B,gBAAI,EAAE;AAD+C,WAAD,EAErD;AACCA,gBAAI,EAAE;AADP,WAFqD,EAIrD;AACCA,gBAAI,EAAE;AADP,WAJqD;AAAtC,SAAD,EAMX;AAAEA,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ8B;AAA3B,SANW,EAaX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAbW,CAAP;AAoBF,OAvB8C,EAuB5C;AAAEl3O,YAAI,EAAE,CAAC;AACnBE,cAAI,EAAE,mDADa;AAEnBimB,cAAI,EAAE,CAAC,eAAD;AAFa,SAAD;AAAR,OAvB4C,CAAnD;AA0BC,KA1BhB;;AA2BA,aAAS+kO,iBAAT,CAA2BvgO,MAA3B,EAAmC;AAC/B,aAAO,EAAEA,MAAM,YAAYsgO,aAApB,KAAsC,EAAEtgO,MAAM,YAAYs/N,kBAApB,CAAtC,IACH,EAAEt/N,MAAM,YAAY2gO,aAApB,CADJ;AAEH;AAED;;;;;;;;;AAOA,QAAMM,kBAAkB,GAAG;AACvBv3M,aAAO,EAAEkmM,SADc;AAEvBjmM,iBAAW,EAAE,iEAAW;AAAA,eAAMu3M,eAAN;AAAA,OAAX;AAFU,KAA3B;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkCMA,e;;;;;;;AACF,+BAAYlhO,MAAZ,EAAoBqtN,UAApB,EAAgCkF,eAAhC,EAAiD8B,cAAjD,EAAiE2K,qBAAjE,EAAwF;AAAA;;AAAA;;AACpF;AACA,iBAAKA,qBAAL,GAA6BA,qBAA7B;AACA,iBAAKmC,MAAL,GAAc,KAAd;AACA;;AACA,iBAAKp4H,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;;;;;;;AAOA,iBAAK8rH,mBAAL,GAA2B,KAA3B;AACA,iBAAKr2D,OAAL,GAAex+J,MAAf;;AACA,iBAAKq7N,cAAL,CAAoBhO,UAApB;;AACA,iBAAKiO,mBAAL,CAAyB/I,eAAzB;;AACA,iBAAK1C,aAAL,GAAqBuE,mBAAmB,mCAAOC,cAAP,CAAxC;AAjBoF;AAkBvF;AACD;;;;;;;;aAIA,aAAe55M,UAAf,EAA2B;AACvB,cAAI,OAAO54B,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CivO,0BAAc,CAACmO,mBAAf;AACH;AACJ;AACD;;;;eACA,qBAAY9oN,OAAZ,EAAqB;AACjB,cAAI,CAAC,KAAKgrN,MAAV,EACI,KAAKrF,aAAL;;AACJ,cAAIhI,iBAAiB,CAAC39M,OAAD,EAAU,KAAK49M,SAAf,CAArB,EAAgD;AAC5C,gBAAI,OAAOlyO,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C6yO,6BAAe,CAAC,iBAAD,EAAoBwM,eAApB,EAAqC,IAArC,EAA2C,KAAKlC,qBAAhD,CAAf;AACH;;AACD,iBAAKjL,SAAL,GAAiB,KAAKiI,KAAtB;AACA,iBAAKpB,aAAL,CAAmBwG,WAAnB,CAA+B,IAA/B,EAAqC,KAAKpF,KAA1C;AACH;AACJ;AACD;;;;eACA,uBAAc;AACV,cAAI,KAAKpB,aAAT,EAAwB;AACpB,iBAAKA,aAAL,CAAmBV,aAAnB,CAAiC,IAAjC;AACH;AACJ;AACD;;;;;;;;;eAMA,2BAAkBtsN,QAAlB,EAA4B;AACxB,eAAKmmN,SAAL,GAAiBnmN,QAAjB;AACA,eAAKm7F,MAAL,CAAYrhF,IAAZ,CAAiB9Z,QAAjB;AACH;AACD;;;;;;;;aAKA,eAAW;AACP,iBAAOmjN,WAAW,CAAC,KAAK17O,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU0F,QAAV,EAAjC,EAAuD,KAAKyjL,OAA5D,CAAlB;AACH;AACD;;;;;;;aAIA,eAAoB;AAChB,iBAAO,KAAKA,OAAL,GAAe,KAAKA,OAAL,CAAao8D,aAA5B,GAA4C,IAAnD;AACH;;;eACD,4BAAmB;AACf,cAAI,OAAO/4O,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,gBAAI,EAAE,KAAK28K,OAAL,YAAwB8hE,aAA1B,KACA,KAAK9hE,OAAL,YAAwBk8D,0BAD5B,EACwD;AACpD5J,4BAAc,CAACuQ,qBAAf;AACH,aAHD,MAIK,IAAI,EAAE,KAAK7iE,OAAL,YAAwB8hE,aAA1B,KACL,EAAE,KAAK9hE,OAAL,YAAwB8gE,kBAA1B,CADK,IAEL,EAAE,KAAK9gE,OAAL,YAAwBmiE,aAA1B,CAFC,EAEyC;AAC1C7P,4BAAc,CAACwQ,sBAAf;AACH;AACJ;AACJ;;;eACD,yBAAgB;AACZ,eAAK3G,gBAAL;;AACA,eAAKzwJ,OAAL,GAAe,KAAK0wJ,aAAL,CAAmBuB,UAAnB,CAA8B,IAA9B,CAAf;;AACA,cAAI,KAAKjyJ,OAAL,CAAantF,QAAb,IAAyB,KAAK8yO,aAAL,CAAmBmC,gBAAhD,EAAkE;AAC9D,iBAAKnC,aAAL,CAAmBmC,gBAAnB,CAAoC,IAApC;AACH;;AACD,eAAKmP,MAAL,GAAc,IAAd;AACH;;;;MA5FyBvR,S;;AA8F9BsR,mBAAe,CAAC3/O,IAAhB,GAAuB,SAASggP,uBAAT,CAAiC9/O,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAIy/O,eAAV,EAA2B,gEAAyBzR,gBAAzB,EAA2C,EAA3C,CAA3B,EAA2E,gEAAyBnD,aAAzB,EAAwC,EAAxC,CAA3E,EAAwH,gEAAyBC,mBAAzB,EAA8C,EAA9C,CAAxH,EAA2K,gEAAyB/B,iBAAzB,EAA4C,EAA5C,CAA3K,EAA4N,gEAAyBqU,kCAAzB,EAA6D,CAA7D,CAA5N,CAAP;AAAsS,KAAnW;;AACAqC,mBAAe,CAAChiN,IAAhB,GAAuB,gEAAyB;AAAE3pC,UAAI,EAAE2rP,eAAR;AAAyB/hN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,CAApC;AAAmEC,YAAM,EAAE;AAAE3E,kBAAU,EAAE,CAAC,UAAD,EAAa,YAAb,CAAd;AAA0CplC,YAAI,EAAE,CAAC,iBAAD,EAAoB,MAApB,CAAhD;AAA6E2mP,aAAK,EAAE,CAAC,SAAD,EAAY,OAAZ;AAApF,OAA3E;AAAuLp0M,aAAO,EAAE;AAAEmhF,cAAM,EAAE;AAAV,OAAhM;AAA6NzpF,cAAQ,EAAE,CAAC,iEAA0B,CAAC2hN,kBAAD,CAA1B,CAAD,EAAkD,wEAAlD,EAAqF,kEAArF;AAAvO,KAAzB,CAAvB;AACA;;;;;;;;AAOAC,mBAAe,CAACtM,uBAAhB,GAA0C,KAA1C;;AACAsM,mBAAe,CAAChsN,cAAhB,GAAiC;AAAA,aAAM,CACnC;AAAE3/B,YAAI,EAAEk6O,gBAAR;AAA0Bt6M,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE;AAAR,SAArC;AAAtC,OADmC,EAEnC;AAAEA,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC8wN,aAAD;AAAtB,SAArC;AAA3B,OAFmC,EAGnC;AAAE/2O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC+wN,mBAAD;AAAtB,SAArC;AAA3B,OAHmC,EAInC;AAAEh3O,YAAI,EAAEyO,KAAR;AAAemxB,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB,EAAqC;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACgvN,iBAAD;AAAtB,SAArC;AAA3B,OAJmC,EAKnC;AAAEj1O,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACqjO,kCAAD;AAAtB,SAArB;AAA5B,OALmC,CAAN;AAAA,KAAjC;;AAOAqC,mBAAe,CAAC3hN,cAAhB,GAAiC;AAC7BlqC,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CADuB;AAE7Bif,gBAAU,EAAE,CAAC;AAAEllC,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,UAAD;AAArB,OAAD,CAFiB;AAG7BwgO,WAAK,EAAE,CAAC;AAAEzmP,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,SAAD;AAArB,OAAD,CAHsB;AAI7ButG,YAAM,EAAE,CAAC;AAAExzH,YAAI,EAAE,oDAAR;AAAgBimB,YAAI,EAAE,CAAC,eAAD;AAAtB,OAAD;AAJqB,KAAjC;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBq/O,eAAzB,EAA0C,CAAC;AACrG3rP,YAAI,EAAE,uDAD+F;AAErGimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE,mBAAZ;AAAiCizC,mBAAS,EAAE,CAACq3M,kBAAD;AAA5C,SAAD;AAF+F,OAAD,CAA1C,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAE1rP,cAAI,EAAEk6O,gBAAR;AAA0Bt6M,oBAAU,EAAE,CAAC;AACrD5/B,gBAAI,EAAE;AAD+C,WAAD,EAErD;AACCA,gBAAI,EAAE;AADP,WAFqD,EAIrD;AACCA,gBAAI,EAAE;AADP,WAJqD;AAAtC,SAAD,EAMX;AAAEA,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC8wN,aAAD;AAFP,WAJ8B;AAA3B,SANW,EAaX;AAAE/2O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC+wN,mBAAD;AAFP,WAJ8B;AAA3B,SAbW,EAoBX;AAAEh3O,cAAI,EAAEyO,KAAR;AAAemxB,oBAAU,EAAE,CAAC;AAC9B5/B,gBAAI,EAAE;AADwB,WAAD,EAE9B;AACCA,gBAAI,EAAE;AADP,WAF8B,EAI9B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACgvN,iBAAD;AAFP,WAJ8B;AAA3B,SApBW,EA2BX;AAAEj1O,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC/B5/B,gBAAI,EAAE;AADyB,WAAD,EAE/B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACqjO,kCAAD;AAFP,WAF+B;AAA5B,SA3BW,CAAP;AAgCF,OAnC8C,EAmC5C;AAAE91H,cAAM,EAAE,CAAC;AACrBxzH,cAAI,EAAE,oDADe;AAErBimB,cAAI,EAAE,CAAC,eAAD;AAFe,SAAD,CAAV;AAGVif,kBAAU,EAAE,CAAC;AACbllC,cAAI,EAAE,mDADO;AAEbimB,cAAI,EAAE,CAAC,UAAD;AAFO,SAAD,CAHF;AAMVnmB,YAAI,EAAE,CAAC;AACPE,cAAI,EAAE,mDADC;AAEPimB,cAAI,EAAE,CAAC,iBAAD;AAFC,SAAD,CANI;AASVwgO,aAAK,EAAE,CAAC;AACRzmP,cAAI,EAAE,mDADE;AAERimB,cAAI,EAAE,CAAC,SAAD;AAFE,SAAD;AATG,OAnC4C,CAAnD;AA+CC,KA/ChB;AAiDA;;;;;;;;;AAOA,QAAMgmO,qBAAqB,GAAG;AAC1B93M,aAAO,EAAE8gM,iBADiB;AAE1B7gM,iBAAW,EAAE,iEAAW;AAAA,eAAM83M,0BAAN;AAAA,OAAX,CAFa;AAG1B5iP,WAAK,EAAE;AAHmB,KAA9B;;AAKA,aAAS6iP,iBAAT,CAA2BxjP,EAA3B,EAA+BR,KAA/B,EAAsC;AAClC,UAAIQ,EAAE,IAAI,IAAV,EACI,iBAAUR,KAAV;AACJ,UAAIA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EACIA,KAAK,GAAG,QAAR;AACJ,aAAO,UAAGQ,EAAH,eAAUR,KAAV,EAAkBwW,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACH;;AACD,aAASytO,UAAT,CAAoBC,WAApB,EAAiC;AAC7B,aAAOA,WAAW,CAACv5O,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwDMo5O,0B;;;;;;;AACF,0CAAYxnI,SAAZ,EAAuB/7E,WAAvB,EAAoC;AAAA;;AAAA;;AAChC;AACA,iBAAK+7E,SAAL,GAAiBA,SAAjB;AACA,iBAAK/7E,WAAL,GAAmBA,WAAnB;AACA;;AACA,iBAAK2jN,UAAL,GAAkB,IAAIlkP,GAAJ,EAAlB;AACA;;AACA,iBAAKmkP,UAAL,GAAkB,CAAlB;AACA;;;;;AAIA,iBAAKnX,QAAL,GAAgB,UAAC9kO,CAAD,EAAO,CAAG,CAA1B;AACA;;;;;;AAIA,iBAAK+kO,SAAL,GAAiB,YAAM,CAAG,CAA1B;;AACA,iBAAKmX,YAAL,GAAoBhmP,MAAM,CAAC43K,EAA3B;AAlBgC;AAmBnC;AACD;;;;;;;;;aAKA,aAAgB57K,EAAhB,EAAoB;AAChB,cAAI,OAAOA,EAAP,KAAc,UAAd,KAA6B,OAAO8J,SAAP,KAAqB,WAArB,IAAoCA,SAAjE,CAAJ,EAAiF;AAC7E,kBAAM,IAAItF,KAAJ,wDAA0Dq4F,IAAI,CAACC,SAAL,CAAe98F,EAAf,CAA1D,EAAN;AACH;;AACD,eAAKgqP,YAAL,GAAoBhqP,EAApB;AACH;AACD;;;;;;;;eAKA,oBAAW2F,KAAX,EAAkB;AACd,eAAKA,KAAL,GAAaA,KAAb;;AACA,cAAMQ,EAAE,GAAG,KAAK8jP,YAAL,CAAkBtkP,KAAlB,CAAX;;AACA,cAAIQ,EAAE,IAAI,IAAV,EAAgB;AACZ,iBAAK+7G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,eAA3D,EAA4E,CAAC,CAA7E;AACH;;AACD,cAAMsjN,WAAW,GAAGF,iBAAiB,CAACxjP,EAAD,EAAKR,KAAL,CAArC;;AACA,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,OAA3D,EAAoEsjN,WAApE;AACH;AACD;;;;;;;eAIA,0BAAiB7pP,EAAjB,EAAqB;AAAA;;AACjB,eAAK4yO,QAAL,GAAgB,UAACiX,WAAD,EAAiB;AAC7B,oBAAI,CAAClkP,KAAL,GAAa,QAAI,CAACukP,eAAL,CAAqBL,WAArB,CAAb;AACA7pP,cAAE,CAAC,QAAI,CAAC2F,KAAN,CAAF;AACH,WAHD;AAIH;AACD;;;;;;;eAIA,2BAAkB3F,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;AACD;;;;eACA,2BAAkB;AACd,iBAAO,CAAC,KAAKqnN,UAAL,EAAD,EAAoB/mP,QAApB,EAAP;AACH;AACD;;;;eACA,sBAAa2C,KAAb,EAAoB;AAChB,2CAAiBsG,KAAK,CAAC2f,IAAN,CAAW,KAAKk+N,UAAL,CAAgB7lP,IAAhB,EAAX,CAAjB,qCAAqD;AAAhD,gBAAMkC,EAAE,oBAAR;AACD,gBAAI,KAAK6jP,YAAL,CAAkB,KAAKF,UAAL,CAAgBjkP,GAAhB,CAAoBM,EAApB,CAAlB,EAA2CR,KAA3C,CAAJ,EACI,OAAOQ,EAAP;AACP;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,yBAAgB0jP,WAAhB,EAA6B;AACzB,cAAM1jP,EAAE,GAAGyjP,UAAU,CAACC,WAAD,CAArB;;AACA,iBAAO,KAAKC,UAAL,CAAgB14O,GAAhB,CAAoBjL,EAApB,IAA0B,KAAK2jP,UAAL,CAAgBjkP,GAAhB,CAAoBM,EAApB,CAA1B,GAAoD0jP,WAA3D;AACH;;;;MAtFoCrX,2B;;AAwFzCkX,8BAA0B,CAAClgP,IAA3B,GAAkC,SAAS2gP,kCAAT,CAA4CzgP,CAA5C,EAA+C;AAAE,aAAO,KAAKA,CAAC,IAAIggP,0BAAV,EAAsC,gEAAyB,uDAAzB,CAAtC,EAAkF,gEAAyB,wDAAzB,CAAlF,CAAP;AAAwI,KAA3N;;AACAA,8BAA0B,CAACviN,IAA3B,GAAkC,gEAAyB;AAAE3pC,UAAI,EAAEksP,0BAAR;AAAoCtiN,eAAS,EAAE,CAAC,CAAC,QAAD,EAAW,iBAAX,EAA8B,EAA9B,EAAkC,CAAlC,EAAqC,UAArC,EAAiD,EAAjD,CAAD,EAAuD,CAAC,QAAD,EAAW,aAAX,EAA0B,EAA1B,EAA8B,CAA9B,EAAiC,UAAjC,EAA6C,EAA7C,CAAvD,EAAyG,CAAC,QAAD,EAAW,SAAX,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,UAA7B,EAAyC,EAAzC,CAAzG,CAA/C;AAAuM8M,kBAAY,EAAE,SAASk2M,uCAAT,CAAiDh2M,EAAjD,EAAqD76B,GAArD,EAA0D;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAChV,mEAAkB,QAAlB,EAA4B,SAASi2M,oDAAT,CAA8DpX,MAA9D,EAAsE;AAAE,mBAAO15N,GAAG,CAACq5N,QAAJ,CAAaK,MAAM,CAACt3N,MAAP,CAAchW,KAA3B,CAAP;AAA2C,WAA/I,EAAiJ,MAAjJ,EAAyJ,SAAS2kP,kDAAT,GAA8D;AAAE,mBAAO/wO,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAAlP;AACH;AAAE,OAFoD;AAElDxrM,YAAM,EAAE;AAAEkjN,mBAAW,EAAE;AAAf,OAF0C;AAEVhjN,cAAQ,EAAE,CAAC,iEAA0B,CAACkiN,qBAAD,CAA1B,CAAD,EAAqD,wEAArD;AAFA,KAAzB,CAAlC;;AAGAC,8BAA0B,CAACvsN,cAA3B,GAA4C;AAAA,aAAM,CAC9C;AAAE3/B,YAAI,EAAE;AAAR,OAD8C,EAE9C;AAAEA,YAAI,EAAE;AAAR,OAF8C,CAAN;AAAA,KAA5C;;AAIAksP,8BAA0B,CAACliN,cAA3B,GAA4C;AACxC+iN,iBAAW,EAAE,CAAC;AAAE/sP,YAAI,EAAE;AAAR,OAAD;AAD2B,KAA5C;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB4/O,0BAAzB,EAAqD,CAAC;AAChHlsP,YAAI,EAAE,uDAD0G;AAEhHimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,6GADX;AAECy1C,cAAI,EAAE;AAAE,wBAAY,+BAAd;AAA+C,sBAAU;AAAzD,WAFP;AAGCxC,mBAAS,EAAE,CAAC43M,qBAAD;AAHZ,SAAD;AAF0G,OAAD,CAArD,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAEjsP,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,CAAP;AAAmE,OAPvB,EAOyB;AAAE+sP,mBAAW,EAAE,CAAC;AAC/F/sP,cAAI,EAAE;AADyF,SAAD;AAAf,OAPzB,CAAnD;AASC,KAThB;AAUA;;;;;;;;;;;;QAUMgtP,c;;;AACF,8BAAYp3N,QAAZ,EAAsB8uF,SAAtB,EAAiCuoI,OAAjC,EAA0C;AAAA;;AACtC,aAAKr3N,QAAL,GAAgBA,QAAhB;AACA,aAAK8uF,SAAL,GAAiBA,SAAjB;AACA,aAAKuoI,OAAL,GAAeA,OAAf;AACA,YAAI,KAAKA,OAAT,EACI,KAAKtkP,EAAL,GAAU,KAAKskP,OAAL,CAAaC,eAAb,EAAV;AACP;AACD;;;;;;;;;aAKA,aAAY/kP,KAAZ,EAAmB;AACf,cAAI,KAAK8kP,OAAL,IAAgB,IAApB,EACI;;AACJ,eAAKA,OAAL,CAAaX,UAAb,CAAwBhkP,GAAxB,CAA4B,KAAKK,EAAjC,EAAqCR,KAArC;;AACA,eAAKglP,gBAAL,CAAsBhB,iBAAiB,CAAC,KAAKxjP,EAAN,EAAUR,KAAV,CAAvC;;AACA,eAAK8kP,OAAL,CAAatR,UAAb,CAAwB,KAAKsR,OAAL,CAAa9kP,KAArC;AACH;AACD;;;;;;;;aAKA,aAAUA,KAAV,EAAiB;AACb,eAAKglP,gBAAL,CAAsBhlP,KAAtB;;AACA,cAAI,KAAK8kP,OAAT,EACI,KAAKA,OAAL,CAAatR,UAAb,CAAwB,KAAKsR,OAAL,CAAa9kP,KAArC;AACP;AACD;;;;eACA,0BAAiBA,KAAjB,EAAwB;AACpB,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAKjE,QAAL,CAAcmT,aAAzC,EAAwD,OAAxD,EAAiE5gC,KAAjE;AACH;AACD;;;;eACA,uBAAc;AACV,cAAI,KAAK8kP,OAAT,EAAkB;AACd,iBAAKA,OAAL,CAAaX,UAAb,WAA+B,KAAK3jP,EAApC;;AACA,iBAAKskP,OAAL,CAAatR,UAAb,CAAwB,KAAKsR,OAAL,CAAa9kP,KAArC;AACH;AACJ;;;;;;AAEL6kP,kBAAc,CAAChhP,IAAf,GAAsB,SAASohP,sBAAT,CAAgClhP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI8gP,cAAV,EAA0B,gEAAyB,wDAAzB,CAA1B,EAAuE,gEAAyB,uDAAzB,CAAvE,EAAmH,gEAAyBd,0BAAzB,EAAqD,CAArD,CAAnH,CAAP;AAAqL,KAAhP;;AACAc,kBAAc,CAACrjN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAEgtP,cAAR;AAAwBpjN,eAAS,EAAE,CAAC,CAAC,QAAD,CAAD,CAAnC;AAAiDC,YAAM,EAAE;AAAEwjN,eAAO,EAAE,SAAX;AAAsBllP,aAAK,EAAE;AAA7B;AAAzD,KAAzB,CAAtB;;AACA6kP,kBAAc,CAACrtN,cAAf,GAAgC;AAAA,aAAM,CAClC;AAAE3/B,YAAI,EAAE;AAAR,OADkC,EAElC;AAAEA,YAAI,EAAE;AAAR,OAFkC,EAGlC;AAAEA,YAAI,EAAEksP,0BAAR;AAAoCtsN,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB;AAAhD,OAHkC,CAAN;AAAA,KAAhC;;AAKAgtP,kBAAc,CAAChjN,cAAf,GAAgC;AAC5BqjN,aAAO,EAAE,CAAC;AAAErtP,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,SAAD;AAArB,OAAD,CADmB;AAE5B9d,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,OAAD;AAArB,OAAD;AAFqB,KAAhC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0gP,cAAzB,EAAyC,CAAC;AACpGhtP,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE;AAAZ,SAAD;AAF8F,OAAD,CAAzC,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAEpB,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAA0D;AAAEA,cAAI,EAAEksP,0BAAR;AAAoCtsN,oBAAU,EAAE,CAAC;AACxH5/B,gBAAI,EAAE;AADkH,WAAD,EAExH;AACCA,gBAAI,EAAE;AADP,WAFwH;AAAhD,SAA1D,CAAP;AAIF,OAP8C,EAO5C;AAAEqtP,eAAO,EAAE,CAAC;AACtBrtP,cAAI,EAAE,mDADgB;AAEtBimB,cAAI,EAAE,CAAC,SAAD;AAFgB,SAAD,CAAX;AAGV9d,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE,mDADE;AAERimB,cAAI,EAAE,CAAC,OAAD;AAFE,SAAD;AAHG,OAP4C,CAAnD;AAaC,KAbhB;AAeA;;;;;;;;;AAOA,QAAMqnO,8BAA8B,GAAG;AACnCn5M,aAAO,EAAE8gM,iBAD0B;AAEnC7gM,iBAAW,EAAE,iEAAW;AAAA,eAAMm5M,kCAAN;AAAA,OAAX,CAFsB;AAGnCjkP,WAAK,EAAE;AAH4B,KAAvC;;AAKA,aAASkkP,mBAAT,CAA6B7kP,EAA7B,EAAiCR,KAAjC,EAAwC;AACpC,UAAIQ,EAAE,IAAI,IAAV,EACI,iBAAUR,KAAV;AACJ,UAAI,OAAOA,KAAP,KAAiB,QAArB,EACIA,KAAK,cAAOA,KAAP,MAAL;AACJ,UAAIA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EACIA,KAAK,GAAG,QAAR;AACJ,aAAO,UAAGQ,EAAH,eAAUR,KAAV,EAAkBwW,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACH;;AACD,aAAS8uO,YAAT,CAAsBpB,WAAtB,EAAmC;AAC/B,aAAOA,WAAW,CAACv5O,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACH;AACD;;;QACM46O,c;;;AAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmCMH,kC;;;;;;;AACF,kDAAY7oI,SAAZ,EAAuB/7E,WAAvB,EAAoC;AAAA;;AAAA;;AAChC;AACA,iBAAK+7E,SAAL,GAAiBA,SAAjB;AACA,iBAAK/7E,WAAL,GAAmBA,WAAnB;AACA;;AACA,iBAAK2jN,UAAL,GAAkB,IAAIlkP,GAAJ,EAAlB;AACA;;AACA,iBAAKmkP,UAAL,GAAkB,CAAlB;AACA;;;;;AAIA,iBAAKnX,QAAL,GAAgB,UAAC9kO,CAAD,EAAO,CAAG,CAA1B;AACA;;;;;;AAIA,iBAAK+kO,SAAL,GAAiB,YAAM,CAAG,CAA1B;;AACA,iBAAKmX,YAAL,GAAoBhmP,MAAM,CAAC43K,EAA3B;AAlBgC;AAmBnC;AACD;;;;;;;;;aAKA,aAAgB57K,EAAhB,EAAoB;AAChB,cAAI,OAAOA,EAAP,KAAc,UAAd,KAA6B,OAAO8J,SAAP,KAAqB,WAArB,IAAoCA,SAAjE,CAAJ,EAAiF;AAC7E,kBAAM,IAAItF,KAAJ,wDAA0Dq4F,IAAI,CAACC,SAAL,CAAe98F,EAAf,CAA1D,EAAN;AACH;;AACD,eAAKgqP,YAAL,GAAoBhqP,EAApB;AACH;AACD;;;;;;;eAIA,oBAAW2F,KAAX,EAAkB;AAAA;;AACd,eAAKA,KAAL,GAAaA,KAAb;AACA,cAAIwlP,yBAAJ;;AACA,cAAIl/O,KAAK,CAACC,OAAN,CAAcvG,KAAd,CAAJ,EAA0B;AACtB;AACA,gBAAM00B,GAAG,GAAG10B,KAAK,CAACH,GAAN,CAAU,UAACkR,CAAD;AAAA,qBAAO,QAAI,CAACuzO,YAAL,CAAkBvzO,CAAlB,CAAP;AAAA,aAAV,CAAZ;;AACAy0O,qCAAyB,GAAG,mCAACC,GAAD,EAAM7uE,CAAN,EAAY;AACpC6uE,iBAAG,CAACC,YAAJ,CAAiBhxN,GAAG,CAACn0B,OAAJ,CAAYq2K,CAAC,CAACv5K,QAAF,EAAZ,IAA4B,CAAC,CAA9C;AACH,aAFD;AAGH,WAND,MAOK;AACDmoP,qCAAyB,GAAG,mCAACC,GAAD,EAAM7uE,CAAN,EAAY;AACpC6uE,iBAAG,CAACC,YAAJ,CAAiB,KAAjB;AACH,aAFD;AAGH;;AACD,eAAKvB,UAAL,CAAgB/pP,OAAhB,CAAwBorP,yBAAxB;AACH;AACD;;;;;;;;eAKA,0BAAiBnrP,EAAjB,EAAqB;AAAA;;AACjB,eAAK4yO,QAAL,GAAgB,UAAC9kO,CAAD,EAAO;AACnB,gBAAMgqC,QAAQ,GAAG,EAAjB;;AACA,gBAAIhqC,CAAC,CAACw9O,eAAF,KAAsBjmP,SAA1B,EAAqC;AACjC,kBAAM5H,OAAO,GAAGqQ,CAAC,CAACw9O,eAAlB;;AACA,mBAAK,IAAIvjP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGtK,OAAO,CAACiD,MAA5B,EAAoCqH,CAAC,EAArC,EAAyC;AACrC,oBAAMqjP,GAAG,GAAG3tP,OAAO,CAAC+O,IAAR,CAAazE,CAAb,CAAZ;;AACA,oBAAMmV,GAAG,GAAG,QAAI,CAACgtO,eAAL,CAAqBkB,GAAG,CAACzlP,KAAzB,CAAZ;;AACAmyC,wBAAQ,CAAC73C,IAAT,CAAcid,GAAd;AACH;AACJ,aAPD,CAQA;AARA,iBASK;AACD,kBAAMzf,SAAO,GAAGqQ,CAAC,CAACrQ,OAAlB;;AACA,mBAAK,IAAIsK,IAAC,GAAG,CAAb,EAAgBA,IAAC,GAAGtK,SAAO,CAACiD,MAA5B,EAAoCqH,IAAC,EAArC,EAAyC;AACrC,oBAAMqjP,IAAG,GAAG3tP,SAAO,CAAC+O,IAAR,CAAazE,IAAb,CAAZ;;AACA,oBAAIqjP,IAAG,CAACtzM,QAAR,EAAkB;AACd,sBAAM56B,IAAG,GAAG,QAAI,CAACgtO,eAAL,CAAqBkB,IAAG,CAACzlP,KAAzB,CAAZ;;AACAmyC,0BAAQ,CAAC73C,IAAT,CAAcid,IAAd;AACH;AACJ;AACJ;;AACD,oBAAI,CAACvX,KAAL,GAAamyC,QAAb;AACA93C,cAAE,CAAC83C,QAAD,CAAF;AACH,WAvBD;AAwBH;AACD;;;;;;;eAIA,2BAAkB93C,EAAlB,EAAsB;AAClB,eAAK6yO,SAAL,GAAiB7yO,EAAjB;AACH;AACD;;;;;;;eAIA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAKw/E,SAAL,CAAe7qF,WAAf,CAA2B,KAAK8O,WAAL,CAAiBI,aAA5C,EAA2D,UAA3D,EAAuE7D,UAAvE;AACH;AACD;;;;eACA,yBAAgB/8B,KAAhB,EAAuB;AACnB,cAAMQ,EAAE,GAAG,CAAC,KAAK4jP,UAAL,EAAD,EAAoB/mP,QAApB,EAAX;;AACA,eAAK8mP,UAAL,CAAgBhkP,GAAhB,CAAoBK,EAApB,EAAwBR,KAAxB;;AACA,iBAAOQ,EAAP;AACH;AACD;;;;eACA,sBAAaR,KAAb,EAAoB;AAChB,4CAAiBsG,KAAK,CAAC2f,IAAN,CAAW,KAAKk+N,UAAL,CAAgB7lP,IAAhB,EAAX,CAAjB,sCAAqD;AAAhD,gBAAMkC,EAAE,qBAAR;AACD,gBAAI,KAAK6jP,YAAL,CAAkB,KAAKF,UAAL,CAAgBjkP,GAAhB,CAAoBM,EAApB,EAAwBisH,MAA1C,EAAkDzsH,KAAlD,CAAJ,EACI,OAAOQ,EAAP;AACP;;AACD,iBAAO,IAAP;AACH;AACD;;;;eACA,yBAAgB0jP,WAAhB,EAA6B;AACzB,cAAM1jP,EAAE,GAAG8kP,YAAY,CAACpB,WAAD,CAAvB;;AACA,iBAAO,KAAKC,UAAL,CAAgB14O,GAAhB,CAAoBjL,EAApB,IAA0B,KAAK2jP,UAAL,CAAgBjkP,GAAhB,CAAoBM,EAApB,EAAwBisH,MAAlD,GAA2Dy3H,WAAlE;AACH;;;;MApH4CrX,2B;;AAsHjDuY,sCAAkC,CAACvhP,IAAnC,GAA0C,SAAS+hP,0CAAT,CAAoD7hP,CAApD,EAAuD;AAAE,aAAO,KAAKA,CAAC,IAAIqhP,kCAAV,EAA8C,gEAAyB,uDAAzB,CAA9C,EAA0F,gEAAyB,wDAAzB,CAA1F,CAAP;AAAgJ,KAAnP;;AACAA,sCAAkC,CAAC5jN,IAAnC,GAA0C,gEAAyB;AAAE3pC,UAAI,EAAEutP,kCAAR;AAA4C3jN,eAAS,EAAE,CAAC,CAAC,QAAD,EAAW,UAAX,EAAuB,EAAvB,EAA2B,iBAA3B,EAA8C,EAA9C,CAAD,EAAoD,CAAC,QAAD,EAAW,UAAX,EAAuB,EAAvB,EAA2B,aAA3B,EAA0C,EAA1C,CAApD,EAAmG,CAAC,QAAD,EAAW,UAAX,EAAuB,EAAvB,EAA2B,SAA3B,EAAsC,EAAtC,CAAnG,CAAvD;AAAsM8M,kBAAY,EAAE,SAASs3M,+CAAT,CAAyDp3M,EAAzD,EAA6D76B,GAA7D,EAAkE;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC/V,mEAAkB,QAAlB,EAA4B,SAASq3M,4DAAT,CAAsExY,MAAtE,EAA8E;AAAE,mBAAO15N,GAAG,CAACq5N,QAAJ,CAAaK,MAAM,CAACt3N,MAApB,CAAP;AAAqC,WAAjJ,EAAmJ,MAAnJ,EAA2J,SAAS+vO,0DAAT,GAAsE;AAAE,mBAAOnyO,GAAG,CAACs5N,SAAJ,EAAP;AAAyB,WAA5P;AACH;AAAE,OAF4D;AAE1DxrM,YAAM,EAAE;AAAEkjN,mBAAW,EAAE;AAAf,OAFkD;AAElBhjN,cAAQ,EAAE,CAAC,iEAA0B,CAACujN,8BAAD,CAA1B,CAAD,EAA8D,wEAA9D;AAFQ,KAAzB,CAA1C;;AAGAC,sCAAkC,CAAC5tN,cAAnC,GAAoD;AAAA,aAAM,CACtD;AAAE3/B,YAAI,EAAE;AAAR,OADsD,EAEtD;AAAEA,YAAI,EAAE;AAAR,OAFsD,CAAN;AAAA,KAApD;;AAIAutP,sCAAkC,CAACvjN,cAAnC,GAAoD;AAChD+iN,iBAAW,EAAE,CAAC;AAAE/sP,YAAI,EAAE;AAAR,OAAD;AADmC,KAApD;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBihP,kCAAzB,EAA6D,CAAC;AACxHvtP,YAAI,EAAE,uDADkH;AAExHimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,2FADX;AAECy1C,cAAI,EAAE;AAAE,wBAAY,yBAAd;AAAyC,sBAAU;AAAnD,WAFP;AAGCxC,mBAAS,EAAE,CAACi5M,8BAAD;AAHZ,SAAD;AAFkH,OAAD,CAA7D,EAO1D,YAAY;AAAE,eAAO,CAAC;AAAEttP,cAAI,EAAE;AAAR,SAAD,EAA6B;AAAEA,cAAI,EAAE;AAAR,SAA7B,CAAP;AAAmE,OAPvB,EAOyB;AAAE+sP,mBAAW,EAAE,CAAC;AAC/F/sP,cAAI,EAAE;AADyF,SAAD;AAAf,OAPzB,CAAnD;AASC,KAThB;AAUA;;;;;;;;;;;;QAUMmuP,uB;;;AACF,uCAAYv4N,QAAZ,EAAsB8uF,SAAtB,EAAiCuoI,OAAjC,EAA0C;AAAA;;AACtC,aAAKr3N,QAAL,GAAgBA,QAAhB;AACA,aAAK8uF,SAAL,GAAiBA,SAAjB;AACA,aAAKuoI,OAAL,GAAeA,OAAf;;AACA,YAAI,KAAKA,OAAT,EAAkB;AACd,eAAKtkP,EAAL,GAAU,KAAKskP,OAAL,CAAaC,eAAb,CAA6B,IAA7B,CAAV;AACH;AACJ;AACD;;;;;;;;;aAKA,aAAY/kP,KAAZ,EAAmB;AACf,cAAI,KAAK8kP,OAAL,IAAgB,IAApB,EACI;AACJ,eAAKr4H,MAAL,GAAczsH,KAAd;;AACA,eAAKglP,gBAAL,CAAsBK,mBAAmB,CAAC,KAAK7kP,EAAN,EAAUR,KAAV,CAAzC;;AACA,eAAK8kP,OAAL,CAAatR,UAAb,CAAwB,KAAKsR,OAAL,CAAa9kP,KAArC;AACH;AACD;;;;;;;;aAKA,aAAUA,KAAV,EAAiB;AACb,cAAI,KAAK8kP,OAAT,EAAkB;AACd,iBAAKr4H,MAAL,GAAczsH,KAAd;;AACA,iBAAKglP,gBAAL,CAAsBK,mBAAmB,CAAC,KAAK7kP,EAAN,EAAUR,KAAV,CAAzC;;AACA,iBAAK8kP,OAAL,CAAatR,UAAb,CAAwB,KAAKsR,OAAL,CAAa9kP,KAArC;AACH,WAJD,MAKK;AACD,iBAAKglP,gBAAL,CAAsBhlP,KAAtB;AACH;AACJ;AACD;;;;eACA,0BAAiBA,KAAjB,EAAwB;AACpB,eAAKu8G,SAAL,CAAe7qF,WAAf,CAA2B,KAAKjE,QAAL,CAAcmT,aAAzC,EAAwD,OAAxD,EAAiE5gC,KAAjE;AACH;AACD;;;;eACA,sBAAamyC,QAAb,EAAuB;AACnB,eAAKoqE,SAAL,CAAe7qF,WAAf,CAA2B,KAAKjE,QAAL,CAAcmT,aAAzC,EAAwD,UAAxD,EAAoEuR,QAApE;AACH;AACD;;;;eACA,uBAAc;AACV,cAAI,KAAK2yM,OAAT,EAAkB;AACd,iBAAKA,OAAL,CAAaX,UAAb,WAA+B,KAAK3jP,EAApC;;AACA,iBAAKskP,OAAL,CAAatR,UAAb,CAAwB,KAAKsR,OAAL,CAAa9kP,KAArC;AACH;AACJ;;;;;;AAELgmP,2BAAuB,CAACniP,IAAxB,GAA+B,SAASoiP,+BAAT,CAAyCliP,CAAzC,EAA4C;AAAE,aAAO,KAAKA,CAAC,IAAIiiP,uBAAV,EAAmC,gEAAyB,wDAAzB,CAAnC,EAAgF,gEAAyB,uDAAzB,CAAhF,EAA4H,gEAAyBZ,kCAAzB,EAA6D,CAA7D,CAA5H,CAAP;AAAsM,KAAnR;;AACAY,2BAAuB,CAACxkN,IAAxB,GAA+B,gEAAyB;AAAE3pC,UAAI,EAAEmuP,uBAAR;AAAiCvkN,eAAS,EAAE,CAAC,CAAC,QAAD,CAAD,CAA5C;AAA0DC,YAAM,EAAE;AAAEwjN,eAAO,EAAE,SAAX;AAAsBllP,aAAK,EAAE;AAA7B;AAAlE,KAAzB,CAA/B;;AACAgmP,2BAAuB,CAACxuN,cAAxB,GAAyC;AAAA,aAAM,CAC3C;AAAE3/B,YAAI,EAAE;AAAR,OAD2C,EAE3C;AAAEA,YAAI,EAAE;AAAR,OAF2C,EAG3C;AAAEA,YAAI,EAAEutP,kCAAR;AAA4C3tN,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE;AAAR,SAArB;AAAxD,OAH2C,CAAN;AAAA,KAAzC;;AAKAmuP,2BAAuB,CAACnkN,cAAxB,GAAyC;AACrCqjN,aAAO,EAAE,CAAC;AAAErtP,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,SAAD;AAArB,OAAD,CAD4B;AAErC9d,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,OAAD;AAArB,OAAD;AAF8B,KAAzC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB6hP,uBAAzB,EAAkD,CAAC;AAC7GnuP,YAAI,EAAE,uDADuG;AAE7GimB,YAAI,EAAE,CAAC;AAAE7kB,kBAAQ,EAAE;AAAZ,SAAD;AAFuG,OAAD,CAAlD,EAG1D,YAAY;AAAE,eAAO,CAAC;AAAEpB,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAA0D;AAAEA,cAAI,EAAEutP,kCAAR;AAA4C3tN,oBAAU,EAAE,CAAC;AAChI5/B,gBAAI,EAAE;AAD0H,WAAD,EAEhI;AACCA,gBAAI,EAAE;AADP,WAFgI;AAAxD,SAA1D,CAAP;AAIF,OAP8C,EAO5C;AAAEqtP,eAAO,EAAE,CAAC;AACtBrtP,cAAI,EAAE,mDADgB;AAEtBimB,cAAI,EAAE,CAAC,SAAD;AAFgB,SAAD,CAAX;AAGV9d,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE,mDADE;AAERimB,cAAI,EAAE,CAAC,OAAD;AAFE,SAAD;AAHG,OAP4C,CAAnD;AAaC,KAbhB;AAeA;;;;;;;;AAOA;;;;;;AAIA,QAAMooO,kBAAkB,GAAG;AACvBl6M,aAAO,EAAE4iM,aADc;AAEvB3iM,iBAAW,EAAE,iEAAW;AAAA,eAAMk6M,iBAAN;AAAA,OAAX,CAFU;AAGvBhlP,WAAK,EAAE;AAHgB,KAA3B;AAKA;;;;;AAIA,QAAMilP,2BAA2B,GAAG;AAChCp6M,aAAO,EAAE4iM,aADuB;AAEhC3iM,iBAAW,EAAE,iEAAW;AAAA,eAAMo6M,yBAAN;AAAA,OAAX,CAFmB;AAGhCllP,WAAK,EAAE;AAHyB,KAApC;AAKA;;;;;;;;;;;;;;;;;;;;QAmBMglP,iB;;;AACF,mCAAc;AAAA;;AACV,aAAKG,SAAL,GAAiB,KAAjB;AACH;AACD;;;;;;;;aAIA,eAAe;AACX,iBAAO,KAAKA,SAAZ;AACH,S;aACD,aAAatmP,KAAb,EAAoB;AAChB,eAAKsmP,SAAL,GAAiBtmP,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,KAA3B,IAAoC,UAAGA,KAAH,MAAe,OAApE;AACA,cAAI,KAAK86O,SAAT,EACI,KAAKA,SAAL;AACP;AACD;;;;;;;;eAKA,kBAAStuJ,OAAT,EAAkB;AACd,iBAAO,KAAK+5J,QAAL,GAAgBrX,iBAAiB,CAAC1iJ,OAAD,CAAjC,GAA6C,IAApD;AACH;AACD;;;;;;;eAIA,mCAA0BnyF,EAA1B,EAA8B;AAC1B,eAAKygP,SAAL,GAAiBzgP,EAAjB;AACH;;;;;;AAEL8rP,qBAAiB,CAACtiP,IAAlB,GAAyB,SAAS2iP,yBAAT,CAAmCziP,CAAnC,EAAsC;AAAE,aAAO,KAAKA,CAAC,IAAIoiP,iBAAV,GAAP;AAAwC,KAAzG;;AACAA,qBAAiB,CAAC3kN,IAAlB,GAAyB,gEAAyB;AAAE3pC,UAAI,EAAEsuP,iBAAR;AAA2B1kN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,EAAqB,iBAArB,EAAwC,EAAxC,EAA4C,CAA5C,EAA+C,MAA/C,EAAuD,UAAvD,CAAD,EAAqE,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,EAAqB,aAArB,EAAoC,EAApC,EAAwC,CAAxC,EAA2C,MAA3C,EAAmD,UAAnD,CAArE,EAAqI,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,EAAqB,SAArB,EAAgC,EAAhC,EAAoC,CAApC,EAAuC,MAAvC,EAA+C,UAA/C,CAArI,CAAtC;AAAwO6M,cAAQ,EAAE,CAAlP;AAAqPC,kBAAY,EAAE,SAASk4M,8BAAT,CAAwCh4M,EAAxC,EAA4C76B,GAA5C,EAAiD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC5W,oEAAmB,UAAnB,EAA+B76B,GAAG,CAAC2yO,QAAJ,GAAe,EAAf,GAAoB,IAAnD;AACH;AAAE,OAF2C;AAEzC7kN,YAAM,EAAE;AAAE6kN,gBAAQ,EAAE;AAAZ,OAFiC;AAEP3kN,cAAQ,EAAE,CAAC,iEAA0B,CAACskN,kBAAD,CAA1B,CAAD;AAFH,KAAzB,CAAzB;AAGAC,qBAAiB,CAACtkN,cAAlB,GAAmC;AAC/B0kN,cAAQ,EAAE,CAAC;AAAE1uP,YAAI,EAAE;AAAR,OAAD;AADqB,KAAnC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBgiP,iBAAzB,EAA4C,CAAC;AACvGtuP,YAAI,EAAE,uDADiG;AAEvGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,wIADX;AAECizC,mBAAS,EAAE,CAACg6M,kBAAD,CAFZ;AAGCx3M,cAAI,EAAE;AAAE,+BAAmB;AAArB;AAHP,SAAD;AAFiG,OAAD,CAA5C,EAO1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAPgC,EAO9B;AAAE63M,gBAAQ,EAAE,CAAC;AACrC1uP,cAAI,EAAE;AAD+B,SAAD;AAAZ,OAP8B,CAAnD;AASC,KAThB;AAUA;;;;;;;;;;;;;;;;;;;;;;;QAqBMwuP,yB;;;;;;;;;;;;;;;;AACF;;;;;AAKA,0BAAS75J,OAAT,EAAkB;AACd,iBAAO,KAAK+5J,QAAL,GAAgBpX,qBAAqB,CAAC3iJ,OAAD,CAArC,GAAiD,IAAxD;AACH;;;;MARmC25J,iB;;AAUxCE,6BAAyB,CAACxiP,IAA1B,GAAiC,SAAS6iP,iCAAT,CAA2C3iP,CAA3C,EAA8C;AAAE,aAAO4iP,sCAAsC,CAAC5iP,CAAC,IAAIsiP,yBAAN,CAA7C;AAAgF,KAAjK;;AACAA,6BAAyB,CAAC7kN,IAA1B,GAAiC,gEAAyB;AAAE3pC,UAAI,EAAEwuP,yBAAR;AAAmC5kN,eAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,UAA9B,EAA0C,EAA1C,EAA8C,iBAA9C,EAAiE,EAAjE,CAAD,EAAuE,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,UAA9B,EAA0C,EAA1C,EAA8C,aAA9C,EAA6D,EAA7D,CAAvE,EAAyI,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,UAA9B,EAA0C,EAA1C,EAA8C,SAA9C,EAAyD,EAAzD,CAAzI,CAA9C;AAAsP6M,cAAQ,EAAE,CAAhQ;AAAmQC,kBAAY,EAAE,SAASq4M,sCAAT,CAAgDn4M,EAAhD,EAAoD76B,GAApD,EAAyD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC1Y,oEAAmB,UAAnB,EAA+B76B,GAAG,CAAC2yO,QAAJ,GAAe,EAAf,GAAoB,IAAnD;AACH;AAAE,OAFmD;AAEjD3kN,cAAQ,EAAE,CAAC,iEAA0B,CAACwkN,2BAAD,CAA1B,CAAD,EAA2D,wEAA3D;AAFuC,KAAzB,CAAjC;;AAGA,QAAMO,sCAAsC;AAAG;AAAc,wEAA6BN,yBAA7B,CAA7D;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOliP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBkiP,yBAAzB,EAAoD,CAAC;AAC/GxuP,YAAI,EAAE,uDADyG;AAE/GimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,qIADX;AAECizC,mBAAS,EAAE,CAACk6M,2BAAD,CAFZ;AAGC13M,cAAI,EAAE;AAAE,+BAAmB;AAArB;AAHP,SAAD;AAFyG,OAAD,CAApD,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AAQA;;;;;;AAIA,QAAMm4M,eAAe,GAAG;AACpB76M,aAAO,EAAE4iM,aADW;AAEpB3iM,iBAAW,EAAE,iEAAW;AAAA,eAAM66M,cAAN;AAAA,OAAX,CAFO;AAGpB3lP,WAAK,EAAE;AAHa,KAAxB;AAKA;;;;;;;;;;;;;;;;;;;;;;;;QAuBM2lP,c;;;AACF,gCAAc;AAAA;;AACV,aAAKroN,QAAL,GAAgB,KAAhB;AACH;AACD;;;;;;;;aAIA,aAAUz+B,KAAV,EAAiB;AACb,eAAKy+B,QAAL,GAAgBz+B,KAAK,KAAK,EAAV,IAAgBA,KAAK,KAAK,IAA1B,IAAkCA,KAAK,KAAK,MAA5D;AACA,cAAI,KAAK86O,SAAT,EACI,KAAKA,SAAL;AACP;AACD;;;;;;;;eAKA,kBAAStuJ,OAAT,EAAkB;AACd,iBAAO,KAAK/tD,QAAL,GAAgB2wM,cAAc,CAAC5iJ,OAAD,CAA9B,GAA0C,IAAjD;AACH;AACD;;;;;;;eAIA,mCAA0BnyF,EAA1B,EAA8B;AAC1B,eAAKygP,SAAL,GAAiBzgP,EAAjB;AACH;;;;;;AAELysP,kBAAc,CAACjjP,IAAf,GAAsB,SAASkjP,sBAAT,CAAgChjP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI+iP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACtlN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAEivP,cAAR;AAAwBrlN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,iBAAlB,EAAqC,EAArC,CAAD,EAA2C,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,aAAlB,EAAiC,EAAjC,CAA3C,EAAiF,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,SAAlB,EAA6B,EAA7B,CAAjF,CAAnC;AAAuJC,YAAM,EAAE;AAAEslN,aAAK,EAAE;AAAT,OAA/J;AAAmLplN,cAAQ,EAAE,CAAC,iEAA0B,CAACilN,eAAD,CAA1B,CAAD;AAA7L,KAAzB,CAAtB;AACAC,kBAAc,CAACjlN,cAAf,GAAgC;AAC5BmlN,WAAK,EAAE,CAAC;AAAEnvP,YAAI,EAAE;AAAR,OAAD;AADqB,KAAhC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB2iP,cAAzB,EAAyC,CAAC;AACpGjvP,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,gEADX;AAECizC,mBAAS,EAAE,CAAC26M,eAAD;AAFZ,SAAD;AAF8F,OAAD,CAAzC,EAM1D,YAAY;AAAE,eAAO,EAAP;AAAY,OANgC,EAM9B;AAAEG,aAAK,EAAE,CAAC;AAClCnvP,cAAI,EAAE;AAD4B,SAAD;AAAT,OAN8B,CAAnD;AAQC,KARhB;AASA;;;;;;AAIA,QAAMovP,oBAAoB,GAAG;AACzBj7M,aAAO,EAAE4iM,aADgB;AAEzB3iM,iBAAW,EAAE,iEAAW;AAAA,eAAMi7M,kBAAN;AAAA,OAAX,CAFY;AAGzB/lP,WAAK,EAAE;AAHkB,KAA7B;AAKA;;;;;;;;;;;;;;;;;;;;;;QAqBM+lP,kB;;;AACF,oCAAc;AAAA;;AACV,aAAKC,UAAL,GAAkBzX,cAAlB;AACH;AACD;;;;;eACA,qBAAYj3M,OAAZ,EAAqB;AACjB,cAAI,eAAeA,OAAnB,EAA4B;AACxB,iBAAK2uN,gBAAL;;AACA,gBAAI,KAAKtM,SAAT,EACI,KAAKA,SAAL;AACP;AACJ;AACD;;;;;;;;eAKA,kBAAStuJ,OAAT,EAAkB;AACd,iBAAO,KAAK66J,SAAL,IAAkB,IAAlB,GAAyB,IAAzB,GAAgC,KAAKF,UAAL,CAAgB36J,OAAhB,CAAvC;AACH;AACD;;;;;;;eAIA,mCAA0BnyF,EAA1B,EAA8B;AAC1B,eAAKygP,SAAL,GAAiBzgP,EAAjB;AACH;;;eACD,4BAAmB;AACf,eAAK8sP,UAAL,GAAkB7X,kBAAkB,CAAC,OAAO,KAAK+X,SAAZ,KAA0B,QAA1B,GAAqC,KAAKA,SAA1C,GAAsDzpN,QAAQ,CAAC,KAAKypN,SAAN,EAAiB,EAAjB,CAA/D,CAApC;AACH;;;;;;AAELH,sBAAkB,CAACrjP,IAAnB,GAA0B,SAASyjP,0BAAT,CAAoCvjP,CAApC,EAAuC;AAAE,aAAO,KAAKA,CAAC,IAAImjP,kBAAV,GAAP;AAAyC,KAA5G;;AACAA,sBAAkB,CAAC1lN,IAAnB,GAA0B,gEAAyB;AAAE3pC,UAAI,EAAEqvP,kBAAR;AAA4BzlN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,iBAAtB,EAAyC,EAAzC,CAAD,EAA+C,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,aAAtB,EAAqC,EAArC,CAA/C,EAAyF,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,SAAtB,EAAiC,EAAjC,CAAzF,CAAvC;AAAuK6M,cAAQ,EAAE,CAAjL;AAAoLC,kBAAY,EAAE,SAASg5M,+BAAT,CAAyC94M,EAAzC,EAA6C76B,GAA7C,EAAkD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC7S,oEAAmB,WAAnB,EAAgC76B,GAAG,CAACyzO,SAAJ,GAAgBzzO,GAAG,CAACyzO,SAApB,GAAgC,IAAhE;AACH;AAAE,OAF4C;AAE1C3lN,YAAM,EAAE;AAAE2lN,iBAAS,EAAE;AAAb,OAFkC;AAENzlN,cAAQ,EAAE,CAAC,iEAA0B,CAACqlN,oBAAD,CAA1B,CAAD,EAAoD,kEAApD;AAFJ,KAAzB,CAA1B;AAGAC,sBAAkB,CAACrlN,cAAnB,GAAoC;AAChCwlN,eAAS,EAAE,CAAC;AAAExvP,YAAI,EAAE;AAAR,OAAD;AADqB,KAApC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB+iP,kBAAzB,EAA6C,CAAC;AACxGrvP,YAAI,EAAE,uDADkG;AAExGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,4EADX;AAECizC,mBAAS,EAAE,CAAC+6M,oBAAD,CAFZ;AAGCv4M,cAAI,EAAE;AAAE,gCAAoB;AAAtB;AAHP,SAAD;AAFkG,OAAD,CAA7C,EAO1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAPgC,EAO9B;AAAE24M,iBAAS,EAAE,CAAC;AACtCxvP,cAAI,EAAE;AADgC,SAAD;AAAb,OAP8B,CAAnD;AASC,KAThB;AAUA;;;;;;AAIA,QAAM2vP,oBAAoB,GAAG;AACzBx7M,aAAO,EAAE4iM,aADgB;AAEzB3iM,iBAAW,EAAE,iEAAW;AAAA,eAAMw7M,kBAAN;AAAA,OAAX,CAFY;AAGzBtmP,WAAK,EAAE;AAHkB,KAA7B;AAKA;;;;;;;;;;;;;;;;;;;;;;QAqBMsmP,kB;;;AACF,oCAAc;AAAA;;AACV,aAAKN,UAAL,GAAkBzX,cAAlB;AACH;AACD;;;;;eACA,qBAAYj3M,OAAZ,EAAqB;AACjB,cAAI,eAAeA,OAAnB,EAA4B;AACxB,iBAAK2uN,gBAAL;;AACA,gBAAI,KAAKtM,SAAT,EACI,KAAKA,SAAL;AACP;AACJ;AACD;;;;;;;eAIA,kBAAStuJ,OAAT,EAAkB;AACd,iBAAO,KAAKk7J,SAAL,IAAkB,IAAlB,GAAyB,KAAKP,UAAL,CAAgB36J,OAAhB,CAAzB,GAAoD,IAA3D;AACH;AACD;;;;;;;eAIA,mCAA0BnyF,EAA1B,EAA8B;AAC1B,eAAKygP,SAAL,GAAiBzgP,EAAjB;AACH;;;eACD,4BAAmB;AACf,eAAK8sP,UAAL,GAAkB3X,kBAAkB,CAAC,OAAO,KAAKkY,SAAZ,KAA0B,QAA1B,GAAqC,KAAKA,SAA1C,GAAsD9pN,QAAQ,CAAC,KAAK8pN,SAAN,EAAiB,EAAjB,CAA/D,CAApC;AACH;;;;;;AAELD,sBAAkB,CAAC5jP,IAAnB,GAA0B,SAAS8jP,0BAAT,CAAoC5jP,CAApC,EAAuC;AAAE,aAAO,KAAKA,CAAC,IAAI0jP,kBAAV,GAAP;AAAyC,KAA5G;;AACAA,sBAAkB,CAACjmN,IAAnB,GAA0B,gEAAyB;AAAE3pC,UAAI,EAAE4vP,kBAAR;AAA4BhmN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,iBAAtB,EAAyC,EAAzC,CAAD,EAA+C,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,aAAtB,EAAqC,EAArC,CAA/C,EAAyF,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,SAAtB,EAAiC,EAAjC,CAAzF,CAAvC;AAAuK6M,cAAQ,EAAE,CAAjL;AAAoLC,kBAAY,EAAE,SAASq5M,+BAAT,CAAyCn5M,EAAzC,EAA6C76B,GAA7C,EAAkD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC7S,oEAAmB,WAAnB,EAAgC76B,GAAG,CAAC8zO,SAAJ,GAAgB9zO,GAAG,CAAC8zO,SAApB,GAAgC,IAAhE;AACH;AAAE,OAF4C;AAE1ChmN,YAAM,EAAE;AAAEgmN,iBAAS,EAAE;AAAb,OAFkC;AAEN9lN,cAAQ,EAAE,CAAC,iEAA0B,CAAC4lN,oBAAD,CAA1B,CAAD,EAAoD,kEAApD;AAFJ,KAAzB,CAA1B;AAGAC,sBAAkB,CAAC5lN,cAAnB,GAAoC;AAChC6lN,eAAS,EAAE,CAAC;AAAE7vP,YAAI,EAAE;AAAR,OAAD;AADqB,KAApC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBsjP,kBAAzB,EAA6C,CAAC;AACxG5vP,YAAI,EAAE,uDADkG;AAExGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,4EADX;AAECizC,mBAAS,EAAE,CAACs7M,oBAAD,CAFZ;AAGC94M,cAAI,EAAE;AAAE,gCAAoB;AAAtB;AAHP,SAAD;AAFkG,OAAD,CAA7C,EAO1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAPgC,EAO9B;AAAEg5M,iBAAS,EAAE,CAAC;AACtC7vP,cAAI,EAAE;AADgC,SAAD;AAAb,OAP8B,CAAnD;AASC,KAThB;AAUA;;;;;;AAIA,QAAMgwP,iBAAiB,GAAG;AACtB77M,aAAO,EAAE4iM,aADa;AAEtB3iM,iBAAW,EAAE,iEAAW;AAAA,eAAM67M,gBAAN;AAAA,OAAX,CAFS;AAGtB3mP,WAAK,EAAE;AAHe,KAA1B;AAKA;;;;;;;;;;;;;;;;;;;;;;;;QAuBM2mP,gB;;;AACF,kCAAc;AAAA;;AACV,aAAKX,UAAL,GAAkBzX,cAAlB;AACH;AACD;;;;;eACA,qBAAYj3M,OAAZ,EAAqB;AACjB,cAAI,aAAaA,OAAjB,EAA0B;AACtB,iBAAK2uN,gBAAL;;AACA,gBAAI,KAAKtM,SAAT,EACI,KAAKA,SAAL;AACP;AACJ;AACD;;;;;;;eAIA,kBAAStuJ,OAAT,EAAkB;AACd,iBAAO,KAAK26J,UAAL,CAAgB36J,OAAhB,CAAP;AACH;AACD;;;;;;;eAIA,mCAA0BnyF,EAA1B,EAA8B;AAC1B,eAAKygP,SAAL,GAAiBzgP,EAAjB;AACH;;;eACD,4BAAmB;AACf,eAAK8sP,UAAL,GAAkB1X,gBAAgB,CAAC,KAAKx4H,OAAN,CAAlC;AACH;;;;;;AAEL6wI,oBAAgB,CAACjkP,IAAjB,GAAwB,SAASkkP,wBAAT,CAAkChkP,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAI+jP,gBAAV,GAAP;AAAuC,KAAtG;;AACAA,oBAAgB,CAACtmN,IAAjB,GAAwB,gEAAyB;AAAE3pC,UAAI,EAAEiwP,gBAAR;AAA0BrmN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,iBAApB,EAAuC,EAAvC,CAAD,EAA6C,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,aAApB,EAAmC,EAAnC,CAA7C,EAAqF,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,SAApB,EAA+B,EAA/B,CAArF,CAArC;AAA+J6M,cAAQ,EAAE,CAAzK;AAA4KC,kBAAY,EAAE,SAASy5M,6BAAT,CAAuCv5M,EAAvC,EAA2C76B,GAA3C,EAAgD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACjS,oEAAmB,SAAnB,EAA8B76B,GAAG,CAACqjG,OAAJ,GAAcrjG,GAAG,CAACqjG,OAAlB,GAA4B,IAA1D;AACH;AAAE,OAF0C;AAExCv1E,YAAM,EAAE;AAAEu1E,eAAO,EAAE;AAAX,OAFgC;AAERr1E,cAAQ,EAAE,CAAC,iEAA0B,CAACimN,iBAAD,CAA1B,CAAD,EAAiD,kEAAjD;AAFF,KAAzB,CAAxB;AAGAC,oBAAgB,CAACjmN,cAAjB,GAAkC;AAC9Bo1E,aAAO,EAAE,CAAC;AAAEp/G,YAAI,EAAE;AAAR,OAAD;AADqB,KAAlC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB2jP,gBAAzB,EAA2C,CAAC;AACtGjwP,YAAI,EAAE,uDADgG;AAEtGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,sEADX;AAECizC,mBAAS,EAAE,CAAC27M,iBAAD,CAFZ;AAGCn5M,cAAI,EAAE;AAAE,8BAAkB;AAApB;AAHP,SAAD;AAFgG,OAAD,CAA3C,EAO1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAPgC,EAO9B;AAAEuoE,eAAO,EAAE,CAAC;AACpCp/G,cAAI,EAAE;AAD8B,SAAD;AAAX,OAP8B,CAAnD;AASC,KAThB;AAWA;;;;;;;;;AAOA,QAAMowP,sBAAsB,GAAG,CAC3BhJ,aAD2B,EAE3B4F,cAF2B,EAG3BmB,uBAH2B,EAI3BtY,oBAJ2B,EAK3B0R,mBAL2B,EAM3ByB,kBAN2B,EAO3B7T,4BAP2B,EAQ3B+W,0BAR2B,EAS3BqB,kCAT2B,EAU3B1F,yBAV2B,EAW3BlN,eAX2B,EAY3BG,oBAZ2B,EAa3BwT,iBAb2B,EAc3Be,kBAd2B,EAe3BO,kBAf2B,EAgB3BK,gBAhB2B,EAiB3BzB,yBAjB2B,EAkB3BS,cAlB2B,CAA/B;AAoBA,QAAMoB,0BAA0B,GAAG,CAAClK,OAAD,EAAUN,YAAV,EAAwBvB,MAAxB,CAAnC;AACA,QAAMgM,0BAA0B,GAAG,CAAC9G,oBAAD,EAAuBO,kBAAvB,EAA2C4B,eAA3C,EAA4DZ,aAA5D,EAA2EK,aAA3E,CAAnC;AACA;;;;QAGMmF,0B;;;;AAENA,8BAA0B,CAACvkP,IAA3B,GAAkC,SAASwkP,kCAAT,CAA4CtkP,CAA5C,EAA+C;AAAE,aAAO,KAAKA,CAAC,IAAIqkP,0BAAV,GAAP;AAAiD,KAApI;;AACAA,8BAA0B,CAACh9M,IAA3B,GAAkC,+DAAwB;AAAEvzC,UAAI,EAAEuwP;AAAR,KAAxB,CAAlC;AACAA,8BAA0B,CAAC/8M,IAA3B,GAAkC,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAACs0M,0BAAD,CAAD;AAAX,KAAxB,CAAlC;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOr0M,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B68M,0BAA1B,EAAsD;AAAE58M,oBAAY,EAAE,CAACyzM,aAAD,EAAgB4F,cAAhB,EAAgCmB,uBAAhC,EAAyDtY,oBAAzD,EAA+E0R,mBAA/E,EAAoGyB,kBAApG,EAAwH7T,4BAAxH,EAAsJ+W,0BAAtJ,EAAkLqB,kCAAlL,EAAsN1F,yBAAtN,EAAiPlN,eAAjP,EAAkQG,oBAAlQ,EAAwRwT,iBAAxR,EAA2Se,kBAA3S,EAA+TO,kBAA/T,EAAmVK,gBAAnV,EAAqWzB,yBAArW,EAAgYS,cAAhY,CAAhB;AAAiax7M,eAAO,EAAE,CAACs0M,0BAAD,CAA1a;AAAwcn0M,eAAO,EAAE,CAACwzM,aAAD,EAAgB4F,cAAhB,EAAgCmB,uBAAhC,EAAyDtY,oBAAzD,EAA+E0R,mBAA/E,EAAoGyB,kBAApG,EAAwH7T,4BAAxH,EAAsJ+W,0BAAtJ,EAAkLqB,kCAAlL,EAAsN1F,yBAAtN,EAAiPlN,eAAjP,EAAkQG,oBAAlQ,EAAwRwT,iBAAxR,EAA2Se,kBAA3S,EAA+TO,kBAA/T,EAAmVK,gBAAnV,EAAqWzB,yBAArW,EAAgYS,cAAhY;AAAjd,OAAtD,CAAnD;AAA+8B,KAA99B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3iP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBikP,0BAAzB,EAAqD,CAAC;AAChHvwP,YAAI,EAAE,sDAD0G;AAEhHimB,YAAI,EAAE,CAAC;AACC0tB,sBAAY,EAAEy8M,sBADf;AAEC38M,iBAAO,EAAE,CAACs0M,0BAAD,CAFV;AAGCn0M,iBAAO,EAAEw8M;AAHV,SAAD;AAF0G,OAAD,CAArD,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAOA;;;;;;;;;;;;;;QAYMK,W;;;;AAENA,eAAW,CAACzkP,IAAZ,GAAmB,SAAS0kP,mBAAT,CAA6BxkP,CAA7B,EAAgC;AAAE,aAAO,KAAKA,CAAC,IAAIukP,WAAV,GAAP;AAAkC,KAAvF;;AACAA,eAAW,CAACl9M,IAAZ,GAAmB,+DAAwB;AAAEvzC,UAAI,EAAEywP;AAAR,KAAxB,CAAnB;AACAA,eAAW,CAACj9M,IAAZ,GAAmB,+DAAwB;AAAEC,aAAO,EAAE,CAAC88M,0BAAD;AAAX,KAAxB,CAAnB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO78M,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B+8M,WAA1B,EAAuC;AAAE98M,oBAAY,EAAE,CAACwyM,OAAD,EAAUN,YAAV,EAAwBvB,MAAxB,CAAhB;AAAiD1wM,eAAO,EAAE,CAAC28M,0BAAD,EAA6BpK,OAA7B,EAAsCN,YAAtC,EAAoDvB,MAApD;AAA1D,OAAvC,CAAnD;AAAqN,KAApO;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOh4O,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBmkP,WAAzB,EAAsC,CAAC;AACjGzwP,YAAI,EAAE,sDAD2F;AAEjGimB,YAAI,EAAE,CAAC;AACC0tB,sBAAY,EAAE08M,0BADf;AAECz8M,iBAAO,EAAE,CAAC28M,0BAAD,EAA6BF,0BAA7B;AAFV,SAAD;AAF2F,OAAD,CAAtC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;;;;;;;;;;QAaMM,mB;;;;;;;;;;AACF;;;;;;;;AAQA,4BAAkB9vH,IAAlB,EAAwB;AACpB,iBAAO;AACHlE,oBAAQ,EAAEg0H,mBADP;AAEHt8M,qBAAS,EAAE,CACP;AAAEF,qBAAO,EAAEm1M,kCAAX;AAA+C9zM,sBAAQ,EAAEqrF,IAAI,CAAC+vH;AAA9D,aADO;AAFR,WAAP;AAMH;;;;;;AAELD,uBAAmB,CAAC3kP,IAApB,GAA2B,SAAS6kP,2BAAT,CAAqC3kP,CAArC,EAAwC;AAAE,aAAO,KAAKA,CAAC,IAAIykP,mBAAV,GAAP;AAA0C,KAA/G;;AACAA,uBAAmB,CAACp9M,IAApB,GAA2B,+DAAwB;AAAEvzC,UAAI,EAAE2wP;AAAR,KAAxB,CAA3B;AACAA,uBAAmB,CAACn9M,IAApB,GAA2B,+DAAwB;AAAEC,aAAO,EAAE,CAAC88M,0BAAD;AAAX,KAAxB,CAA3B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO78M,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0Bi9M,mBAA1B,EAA+C;AAAEh9M,oBAAY,EAAE,CAAC61M,oBAAD,EAAuBO,kBAAvB,EAA2C4B,eAA3C,EAA4DZ,aAA5D,EAA2EK,aAA3E,CAAhB;AAA2Gx3M,eAAO,EAAE,CAAC28M,0BAAD,EAA6B/G,oBAA7B,EAAmDO,kBAAnD,EAAuE4B,eAAvE,EAAwFZ,aAAxF,EAAuGK,aAAvG;AAApH,OAA/C,CAAnD;AAAiV,KAAhW;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO9+O,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBqkP,mBAAzB,EAA8C,CAAC;AACzG3wP,YAAI,EAAE,sDADmG;AAEzGimB,YAAI,EAAE,CAAC;AACC0tB,sBAAY,EAAE,CAAC28M,0BAAD,CADf;AAEC18M,iBAAO,EAAE,CAAC28M,0BAAD,EAA6BD,0BAA7B;AAFV,SAAD;AAFmG,OAAD,CAA9C,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAQA;;;;;;;;;AAOA,aAASQ,wBAAT,CAAkC7wP,OAAlC,EAA2C;AACvC,aAAOA,OAAO,CAAC+8O,eAAR,KAA4Bn1O,SAA5B,IACH5H,OAAO,CAAC63O,UAAR,KAAuBjwO,SADpB,IAEH5H,OAAO,CAAC09O,QAAR,KAAqB91O,SAFzB;AAGH;AACD;;;;;;;;;;;;;;QAYMkpP,W;;;;;;;;;eACF,eAAMC,cAAN,EAAsC;AAAA,cAAhB/wP,OAAgB,uEAAN,IAAM;;AAClC,cAAM+/O,QAAQ,GAAG,KAAKiR,eAAL,CAAqBD,cAArB,CAAjB;;AACA,cAAIlZ,UAAU,GAAG,IAAjB;AACA,cAAIkF,eAAe,GAAG,IAAtB;AACA,cAAIW,QAAQ,GAAG91O,SAAf;;AACA,cAAI5H,OAAO,IAAI,IAAf,EAAqB;AACjB,gBAAI6wP,wBAAwB,CAAC7wP,OAAD,CAA5B,EAAuC;AACnC;AACA63O,wBAAU,GAAG73O,OAAO,CAAC63O,UAAR,IAAsB,IAAtB,GAA6B73O,OAAO,CAAC63O,UAArC,GAAkD,IAA/D;AACAkF,6BAAe,GAAG/8O,OAAO,CAAC+8O,eAAR,IAA2B,IAA3B,GAAkC/8O,OAAO,CAAC+8O,eAA1C,GAA4D,IAA9E;AACAW,sBAAQ,GAAG19O,OAAO,CAAC09O,QAAR,IAAoB,IAApB,GAA2B19O,OAAO,CAAC09O,QAAnC,GAA8C91O,SAAzD;AACH,aALD,MAMK;AACD;AACAiwO,wBAAU,GAAG73O,OAAO,CAAC,WAAD,CAAP,IAAwB,IAAxB,GAA+BA,OAAO,CAAC,WAAD,CAAtC,GAAsD,IAAnE;AACA+8O,6BAAe,GAAG/8O,OAAO,CAAC,gBAAD,CAAP,IAA6B,IAA7B,GAAoCA,OAAO,CAAC,gBAAD,CAA3C,GAAgE,IAAlF;AACH;AACJ;;AACD,iBAAO,IAAI8/O,SAAJ,CAAcC,QAAd,EAAwB;AAAEhD,2BAAe,EAAfA,eAAF;AAAmBW,oBAAQ,EAARA,QAAnB;AAA6B7F,sBAAU,EAAVA;AAA7B,WAAxB,CAAP;AACH;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;eAuBA,iBAAQgL,SAAR,EAAmB1C,eAAnB,EAAoCnD,cAApC,EAAoD;AAChD,iBAAO,IAAI+F,WAAJ,CAAgBF,SAAhB,EAA2B1C,eAA3B,EAA4CnD,cAA5C,CAAP;AACH;AACD;;;;;;;;;;;;;;;;;eAcA,eAAM+T,cAAN,EAAsB5Q,eAAtB,EAAuCnD,cAAvC,EAAuD;AAAA;;AACnD,cAAM+C,QAAQ,GAAGgR,cAAc,CAAChpP,GAAf,CAAmB,UAAA4wB,CAAC;AAAA,mBAAI,QAAI,CAACs4N,cAAL,CAAoBt4N,CAApB,CAAJ;AAAA,WAApB,CAAjB;AACA,iBAAO,IAAIqnN,SAAJ,CAAcD,QAAd,EAAwBI,eAAxB,EAAyCnD,cAAzC,CAAP;AACH;AACD;;;;eACA,yBAAgB+T,cAAhB,EAAgC;AAAA;;AAC5B,cAAMhR,QAAQ,GAAG,EAAjB;AACAx5O,gBAAM,CAACC,IAAP,CAAYuqP,cAAZ,EAA4BzuP,OAA5B,CAAoC,UAAAmhP,WAAW,EAAI;AAC/C1D,oBAAQ,CAAC0D,WAAD,CAAR,GAAwB,QAAI,CAACwN,cAAL,CAAoBF,cAAc,CAACtN,WAAD,CAAlC,CAAxB;AACH,WAFD;AAGA,iBAAO1D,QAAP;AACH;AACD;;;;eACA,wBAAemR,aAAf,EAA8B;AAC1B,cAAIA,aAAa,YAAYnO,WAAzB,IAAwCmO,aAAa,YAAYpR,SAAjE,IACAoR,aAAa,YAAYlR,SAD7B,EACwC;AACpC,mBAAOkR,aAAP;AACH,WAHD,MAIK,IAAI1iP,KAAK,CAACC,OAAN,CAAcyiP,aAAd,CAAJ,EAAkC;AACnC,gBAAMhpP,KAAK,GAAGgpP,aAAa,CAAC,CAAD,CAA3B;AACA,gBAAM3Y,SAAS,GAAG2Y,aAAa,CAACjuP,MAAd,GAAuB,CAAvB,GAA2BiuP,aAAa,CAAC,CAAD,CAAxC,GAA8C,IAAhE;AACA,gBAAMlU,cAAc,GAAGkU,aAAa,CAACjuP,MAAd,GAAuB,CAAvB,GAA2BiuP,aAAa,CAAC,CAAD,CAAxC,GAA8C,IAArE;AACA,mBAAO,KAAKx8J,OAAL,CAAaxsF,KAAb,EAAoBqwO,SAApB,EAA+ByE,cAA/B,CAAP;AACH,WALI,MAMA;AACD,mBAAO,KAAKtoJ,OAAL,CAAaw8J,aAAb,CAAP;AACH;AACJ;;;;;;AAELJ,eAAW,CAAC/kP,IAAZ,GAAmB,SAASolP,mBAAT,CAA6BllP,CAA7B,EAAgC;AAAE,aAAO,KAAKA,CAAC,IAAI6kP,WAAV,GAAP;AAAkC,KAAvF;;AACAA,eAAW,CAAC5kP,KAAZ,GAAoB,yEAAmB;AAAEE,aAAO,EAAE,SAAS+kP,mBAAT,GAA+B;AAAE,eAAO,IAAIL,WAAJ,EAAP;AAA2B,OAAvE;AAAyE3kP,WAAK,EAAE2kP,WAAhF;AAA6FrxN,gBAAU,EAAEixN;AAAzG,KAAnB,CAApB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOrkP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBykP,WAAzB,EAAsC,CAAC;AACjG/wP,YAAI,EAAE,wDAD2F;AAEjGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAEixN;AAAd,SAAD;AAF2F,OAAD,CAAtC,EAG1D,IAH0D,EAGpD,IAHoD,CAAnD;AAGO,KAHtB;AAKA;;;;;;;;AAOA;;;;;AAGA,QAAM9kJ,OAAO,GAAG,IAAI,qDAAJ,CAAY,SAAZ,CAAhB;AAEA;;;;;;;;AAQA;;;;;;;AAOA;;AAEA;;;;;;;;AAQA;;;AAMA;;;;;;;;;AChiOA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAOA;;;;;;;;AAOA;;;;;;AAQA,QAAM7mB,GAAG,GAAG,CAAC,QAAD,CAAZ;AACA,QAAMC,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,QAAMosK,iCAAiC,GAAG,IAAI,4DAAJ,CAAmB,mCAAnB,CAA1C;AACA;;;;;;AAKA,QAAMC,uBAAuB,GAAG,IAAI,4DAAJ,CAAmB,sBAAnB,CAAhC;AACA;;;;;;AAKA,QAAMC,sCAAsC,GAAG;AAC3Cp9M,aAAO,EAAE,gEADkC;AAE3CC,iBAAW,EAAE,iEAAW;AAAA,eAAMo9M,oBAAN;AAAA,OAAX,CAF8B;AAG3CloP,WAAK,EAAE;AAHoC,KAA/C,C,CAKA;;AACA,QAAImoP,eAAe,GAAG,CAAtB;AACA;;QACMC,qB,GACF;AACA;AACAziN,UAFA;AAGA;AACA9mC,SAJA,EAIO;AAAA;;AACH,WAAK8mC,MAAL,GAAcA,MAAd;AACA,WAAK9mC,KAAL,GAAaA,KAAb;AACH,K;AAEL;;;QACMqpP,oB;;;AACF,oCAAYG,eAAZ,EAA6BplN,cAA7B,EAA6C;AAAA;;AACzC,aAAKolN,eAAL,GAAuBA,eAAvB;AACA,aAAKtxN,SAAL,GAAiB,KAAjB;AACA,aAAKiZ,SAAL,GAAiB,KAAjB;AACA,aAAKtE,SAAL,GAAiB,KAAjB;AACA;;;;;AAIA,aAAK48M,6BAAL,GAAqC,YAAM,CAAG,CAA9C;AACA;;;AACA,aAAKC,UAAL,GAAkB,YAAM,CAAG,CAA3B;;AACA,aAAKn7N,KAAL,qCAAwC+6N,eAAe,EAAvD;AACA;;;;;;AAKA,aAAKK,WAAL,GAAmB,IAAI,0DAAJ,EAAnB;AACA;;AACA,aAAKnxN,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA,aAAKoxN,UAAL,GACIxlN,cAAc,IAAIA,cAAc,CAACwlN,UAAjC,GAA8CxlN,cAAc,CAACwlN,UAA7D,GAA0E,UAD9E;AAEH;AACD;;;;;aACA,eAAW;AAAE,iBAAO,KAAKr7N,KAAZ;AAAoB,S;aACjC,aAASvuB,KAAT,EAAgB;AAAA;;AACZ,eAAKuuB,KAAL,GAAavuB,KAAb;;AACA,cAAI,KAAK6pP,cAAT,EAAyB;AACrB,iBAAKA,cAAL,CAAoBzvP,OAApB,CAA4B,UAAA0vP,MAAM,EAAI;AAClCA,oBAAM,CAACnyP,IAAP,GAAc,QAAI,CAAC42B,KAAnB;;AACAu7N,oBAAM,CAACC,aAAP;AACH,aAHD;AAIH;AACJ;AACD;;;;aACA,eAAe;AAAE,iBAAO,KAAK7xN,SAAZ;AAAwB,S;aACzC,aAAal4B,KAAb,EAAoB;AAChB,eAAKk4B,SAAL,GAAiB,oFAAsBl4B,KAAtB,CAAjB;AACH;AACD;;;;aACA,eAAY;AACR,cAAMmyC,QAAQ,GAAG,KAAK63M,eAAL,GAAuB,KAAKA,eAAL,CAAqB73M,QAA5C,GAAuD,EAAxE;;AACA,cAAI,KAAK83M,QAAT,EAAmB;AACf,mBAAO93M,QAAQ,CAACtyC,GAAT,CAAa,UAAAiqP,MAAM;AAAA,qBAAIA,MAAM,CAAC9pP,KAAX;AAAA,aAAnB,CAAP;AACH;;AACD,iBAAOmyC,QAAQ,CAAC,CAAD,CAAR,GAAcA,QAAQ,CAAC,CAAD,CAAR,CAAYnyC,KAA1B,GAAkCN,SAAzC;AACH,S;aACD,aAAUwwB,QAAV,EAAoB;AAChB,eAAKg6N,oBAAL,CAA0Bh6N,QAA1B;;AACA,eAAKy5N,WAAL,CAAiB3/M,IAAjB,CAAsB,KAAKhqC,KAA3B;AACH;AACD;;;;aACA,eAAe;AACX,cAAMmyC,QAAQ,GAAG,KAAK63M,eAAL,GAAuB,KAAKA,eAAL,CAAqB73M,QAA5C,GAAuD,EAAxE;AACA,iBAAO,KAAK83M,QAAL,GAAgB93M,QAAhB,GAA4BA,QAAQ,CAAC,CAAD,CAAR,IAAe,IAAlD;AACH;AACD;;;;aACA,eAAe;AAAE,iBAAO,KAAKhB,SAAZ;AAAwB,S;aACzC,aAAanxC,KAAb,EAAoB;AAChB,eAAKmxC,SAAL,GAAiB,oFAAsBnxC,KAAtB,CAAjB;AACH;AACD;;;;aACA,eAAe;AAAE,iBAAO,KAAK6sC,SAAZ;AAAwB,S;aACzC,aAAa7sC,KAAb,EAAoB;AAChB,eAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;;AACA,cAAI,KAAK6pP,cAAT,EAAyB;AACrB,iBAAKA,cAAL,CAAoBzvP,OAApB,CAA4B,UAAA0vP,MAAM;AAAA,qBAAIA,MAAM,CAACC,aAAP,EAAJ;AAAA,aAAlC;AACH;AACJ;;;eACD,oBAAW;AACP,eAAKC,eAAL,GAAuB,IAAI,uEAAJ,CAAmB,KAAKC,QAAxB,EAAkCvqP,SAAlC,EAA6C,KAA7C,CAAvB;AACH;;;eACD,8BAAqB;AAAA;;AACjB,wCAAKsqP,eAAL,EAAqB/3M,MAArB,iDAA+B,KAAK43M,cAAL,CAAoBl3O,MAApB,CAA2B,UAAAm3O,MAAM;AAAA,mBAAIA,MAAM,CAACvc,OAAX;AAAA,WAAjC,CAA/B;AACH;AACD;;;;;;;eAIA,oBAAWvtO,KAAX,EAAkB;AACd,eAAKA,KAAL,GAAaA,KAAb;;AACA,eAAKwpP,eAAL,CAAqBr8M,YAArB;AACH,S,CACD;;;;eACA,0BAAiB9yC,EAAjB,EAAqB;AACjB,eAAKovP,6BAAL,GAAqCpvP,EAArC;AACH,S,CACD;;;;eACA,2BAAkBA,EAAlB,EAAsB;AAClB,eAAKqvP,UAAL,GAAkBrvP,EAAlB;AACH,S,CACD;;;;eACA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAK19B,QAAL,GAAgB09B,UAAhB;AACH;AACD;;;;eACA,4BAAmB;AACf,cAAMoV,QAAQ,GAAG,KAAKA,QAAtB;AACA,cAAMrL,MAAM,GAAGxgC,KAAK,CAACC,OAAN,CAAc4rC,QAAd,IAA0BA,QAAQ,CAACA,QAAQ,CAACp3C,MAAT,GAAkB,CAAnB,CAAlC,GAA0Do3C,QAAzE;AACA,cAAMlzC,KAAK,GAAG,IAAIsqP,qBAAJ,CAA0BziN,MAA1B,EAAkC,KAAK9mC,KAAvC,CAAd;;AACA,eAAKypP,6BAAL,CAAmCxqP,KAAK,CAACe,KAAzC;;AACA,eAAKw4B,MAAL,CAAYwR,IAAZ,CAAiB/qC,KAAjB;AACH;AACD;;;;;;;;;;eAOA,2BAAkB6qP,MAAlB,EAA0B73M,MAA1B,EAA4E;AAAA;;AAAA,cAA1Ck4M,WAA0C,uEAA5B,KAA4B;AAAA,cAArBC,WAAqB,uEAAP,KAAO;;AACxE;AACA;AACA,cAAI,CAAC,KAAKH,QAAN,IAAkB,KAAK93M,QAAvB,IAAmC,CAAC23M,MAAM,CAACvc,OAA/C,EAAwD;AACpD,iBAAKp7L,QAAL,CAAco7L,OAAd,GAAwB,KAAxB;AACH;;AACD,cAAI,KAAKyc,eAAT,EAA0B;AACtB,gBAAI/3M,MAAJ,EAAY;AACR,mBAAK+3M,eAAL,CAAqB/3M,MAArB,CAA4B63M,MAA5B;AACH,aAFD,MAGK;AACD,mBAAKE,eAAL,CAAqBh4M,QAArB,CAA8B83M,MAA9B;AACH;AACJ,WAPD,MAQK;AACDM,uBAAW,GAAG,IAAd;AACH,WAhBuE,CAiBxE;AACA;AACA;;;AACA,cAAIA,WAAJ,EAAiB;AACb/wP,mBAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB;AAAA,qBAAM,QAAI,CAAC8wP,iBAAL,CAAuBF,WAAvB,CAAN;AAAA,aAAvB;AACH,WAFD,MAGK;AACD,iBAAKE,iBAAL,CAAuBF,WAAvB;AACH;AACJ;AACD;;;;eACA,qBAAYL,MAAZ,EAAoB;AAChB,iBAAO,KAAKE,eAAL,IAAwB,KAAKA,eAAL,CAAqBj4M,UAArB,CAAgC+3M,MAAhC,CAA/B;AACH;AACD;;;;eACA,uBAAcA,MAAd,EAAsB;AAClB,cAAI,OAAO,KAAKQ,SAAZ,KAA0B,WAA9B,EAA2C;AACvC,mBAAO,KAAP;AACH;;AACD,cAAI,KAAKL,QAAL,IAAiB3jP,KAAK,CAACC,OAAN,CAAc,KAAK+jP,SAAnB,CAArB,EAAoD;AAChD,mBAAO,KAAKA,SAAL,CAAex5O,IAAf,CAAoB,UAAA9Q,KAAK;AAAA,qBAAI8pP,MAAM,CAAC9pP,KAAP,IAAgB,IAAhB,IAAwBA,KAAK,KAAK8pP,MAAM,CAAC9pP,KAA7C;AAAA,aAAzB,CAAP;AACH;;AACD,iBAAO8pP,MAAM,CAAC9pP,KAAP,KAAiB,KAAKsqP,SAA7B;AACH;AACD;;;;eACA,8BAAqBtqP,KAArB,EAA4B;AAAA;;AACxB,eAAKsqP,SAAL,GAAiBtqP,KAAjB;;AACA,cAAI,CAAC,KAAK6pP,cAAV,EAA0B;AACtB;AACH;;AACD,cAAI,KAAKI,QAAL,IAAiBjqP,KAArB,EAA4B;AACxB,gBAAI,CAACsG,KAAK,CAACC,OAAN,CAAcvG,KAAd,CAAD,KAA0B,OAAOmE,SAAP,KAAqB,WAArB,IAAoCA,SAA9D,CAAJ,EAA8E;AAC1E,oBAAMtF,KAAK,CAAC,oDAAD,CAAX;AACH;;AACD,iBAAK0rP,eAAL;;AACAvqP,iBAAK,CAAC5F,OAAN,CAAc,UAACo1E,YAAD;AAAA,qBAAkB,QAAI,CAACg7K,YAAL,CAAkBh7K,YAAlB,CAAlB;AAAA,aAAd;AACH,WAND,MAOK;AACD,iBAAK+6K,eAAL;;AACA,iBAAKC,YAAL,CAAkBxqP,KAAlB;AACH;AACJ;AACD;;;;eACA,2BAAkB;AACd,eAAKgqP,eAAL,CAAqBv4O,KAArB;;AACA,eAAKo4O,cAAL,CAAoBzvP,OAApB,CAA4B,UAAA0vP,MAAM;AAAA,mBAAIA,MAAM,CAACvc,OAAP,GAAiB,KAArB;AAAA,WAAlC;AACH;AACD;;;;eACA,sBAAavtO,KAAb,EAAoB;AAChB,cAAMyqP,mBAAmB,GAAG,KAAKZ,cAAL,CAAoBr5O,IAApB,CAAyB,UAAAs5O,MAAM,EAAI;AAC3D,mBAAOA,MAAM,CAAC9pP,KAAP,IAAgB,IAAhB,IAAwB8pP,MAAM,CAAC9pP,KAAP,KAAiBA,KAAhD;AACH,WAF2B,CAA5B;;AAGA,cAAIyqP,mBAAJ,EAAyB;AACrBA,+BAAmB,CAACld,OAApB,GAA8B,IAA9B;;AACA,iBAAKyc,eAAL,CAAqB/3M,MAArB,CAA4Bw4M,mBAA5B;AACH;AACJ;AACD;;;;eACA,2BAAkBN,WAAlB,EAA+B;AAC3B;AACA,cAAIA,WAAJ,EAAiB;AACb,iBAAKt4M,gBAAL;AACH,WAJ0B,CAK3B;AACA;;;AACA,eAAK83M,WAAL,CAAiB3/M,IAAjB,CAAsB,KAAKhqC,KAA3B;AACH;;;;;;AAELqpP,wBAAoB,CAACxlP,IAArB,GAA4B,SAAS6mP,4BAAT,CAAsC3mP,CAAtC,EAAyC;AAAE,aAAO,KAAKA,CAAC,IAAIslP,oBAAV,EAAgC,gEAAyB,+DAAzB,CAAhC,EAAoF,gEAAyBH,iCAAzB,EAA4D,CAA5D,CAApF,CAAP;AAA6J,KAApO;;AACAG,wBAAoB,CAAC7nN,IAArB,GAA4B,gEAAyB;AAAE3pC,UAAI,EAAEwxP,oBAAR;AAA8B5nN,eAAS,EAAE,CAAC,CAAC,yBAAD,CAAD,CAAzC;AAAwEiwB,oBAAc,EAAE,SAASi5L,mCAAT,CAA6Cl8M,EAA7C,EAAiD76B,GAAjD,EAAsDg+C,QAAtD,EAAgE;AAAE,YAAInjB,EAAE,GAAG,CAAT,EAAY;AACnN,uEAAsBmjB,QAAtB,EAAgCg5L,eAAhC,EAAiD,CAAjD;AACH;;AAAC,YAAIn8M,EAAE,GAAG,CAAT,EAAY;AACV,cAAIojB,EAAJ;;AACA,uEAAsBA,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAACi2O,cAAJ,GAAqBh4L,EAA1E;AACH;AAAE,OAL8C;AAK5C/C,eAAS,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,CAAlB,EAAqB,yBAArB,CALiC;AAKgBxgB,cAAQ,EAAE,CAL1B;AAK6BC,kBAAY,EAAE,SAASs8M,iCAAT,CAA2Cp8M,EAA3C,EAA+C76B,GAA/C,EAAoD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC1J,oEAAmB,eAAnB,EAAoC76B,GAAG,CAACvU,QAAxC;;AACA,oEAAmB,4BAAnB,EAAiDuU,GAAG,CAACk3O,QAArD,EAA+D,6CAA/D,EAA8Gl3O,GAAG,CAACg2O,UAAJ,KAAmB,UAAjI;AACH;AAAE,OAR8C;AAQ5CloN,YAAM,EAAE;AAAEkoN,kBAAU,EAAE,YAAd;AAA4BjyP,YAAI,EAAE,MAAlC;AAA0CmzP,gBAAQ,EAAE,UAApD;AAAgE9qP,aAAK,EAAE,OAAvE;AAAgFiqP,gBAAQ,EAAE,UAA1F;AAAsG5qP,gBAAQ,EAAE;AAAhH,OARoC;AAQ0F6qC,aAAO,EAAE;AAAEy/M,mBAAW,EAAE,aAAf;AAA8BnxN,cAAM,EAAE;AAAtC,OARnG;AAQqJmJ,cAAQ,EAAE,CAAC,sBAAD,CAR/J;AAQyLC,cAAQ,EAAE,CAAC,iEAA0B,CACvQwnN,sCADuQ,EAEvQ;AAAEp9M,eAAO,EAAEm9M,uBAAX;AAAoCl9M,mBAAW,EAAEo9M;AAAjD,OAFuQ,CAA1B,CAAD;AARnM,KAAzB,CAA5B;;AAYAA,wBAAoB,CAAC7xN,cAArB,GAAsC;AAAA,aAAM,CACxC;AAAE3/B,YAAI,EAAE;AAAR,OADwC,EAExC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACorO,iCAAD;AAAtB,SAArB;AAA/B,OAFwC,CAAN;AAAA,KAAtC;;AAIAG,wBAAoB,CAACxnN,cAArB,GAAsC;AAClCgoN,oBAAc,EAAE,CAAC;AAAEhyP,YAAI,EAAE,6DAAR;AAAyBimB,YAAI,EAAE,CAAC,iEAAW;AAAA,iBAAM8sO,eAAN;AAAA,SAAX,CAAD,EAAoC;AACpE;AACA;AACA54L,qBAAW,EAAE;AAHuD,SAApC;AAA/B,OAAD,CADkB;AAMlC43L,gBAAU,EAAE,CAAC;AAAE/xP,YAAI,EAAE;AAAR,OAAD,CANsB;AAOlCF,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE;AAAR,OAAD,CAP4B;AAQlCizP,cAAQ,EAAE,CAAC;AAAEjzP,YAAI,EAAE;AAAR,OAAD,CARwB;AASlCmI,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE;AAAR,OAAD,CAT2B;AAUlC8xP,iBAAW,EAAE,CAAC;AAAE9xP,YAAI,EAAE;AAAR,OAAD,CAVqB;AAWlCoyP,cAAQ,EAAE,CAAC;AAAEpyP,YAAI,EAAE;AAAR,OAAD,CAXwB;AAYlCwH,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE;AAAR,OAAD,CAZwB;AAalC2gC,YAAM,EAAE,CAAC;AAAE3gC,YAAI,EAAE;AAAR,OAAD;AAb0B,KAAtC;;AAeA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBklP,oBAAzB,EAA+C,CAAC;AAC1GxxP,YAAI,EAAE,uDADoG;AAE1GimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,yBADX;AAECizC,mBAAS,EAAE,CACPk9M,sCADO,EAEP;AAAEp9M,mBAAO,EAAEm9M,uBAAX;AAAoCl9M,uBAAW,EAAEo9M;AAAjD,WAFO,CAFZ;AAMC36M,cAAI,EAAE;AACF,oBAAQ,OADN;AAEF,qBAAS,yBAFP;AAGF,oCAAwB,UAHtB;AAIF,kDAAsC,UAJpC;AAKF,mEAAuD;AALrD,WANP;AAaC/M,kBAAQ,EAAE;AAbX,SAAD;AAFoG,OAAD,CAA/C,EAiB1D,YAAY;AAAE,eAAO,CAAC;AAAE9pC,cAAI,EAAE;AAAR,SAAD,EAAqC;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClF5/B,gBAAI,EAAE;AAD4E,WAAD,EAElF;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACorO,iCAAD;AAFP,WAFkF;AAA/B,SAArC,CAAP;AAKF,OAtB8C,EAsB5C;AAAES,mBAAW,EAAE,CAAC;AAC1B9xP,cAAI,EAAE;AADoB,SAAD,CAAf;AAEV2gC,cAAM,EAAE,CAAC;AACT3gC,cAAI,EAAE;AADG,SAAD,CAFE;AAIV+xP,kBAAU,EAAE,CAAC;AACb/xP,cAAI,EAAE;AADO,SAAD,CAJF;AAMVF,YAAI,EAAE,CAAC;AACPE,cAAI,EAAE;AADC,SAAD,CANI;AAQVizP,gBAAQ,EAAE,CAAC;AACXjzP,cAAI,EAAE;AADK,SAAD,CARA;AAUVmI,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE;AADE,SAAD,CAVG;AAYVoyP,gBAAQ,EAAE,CAAC;AACXpyP,cAAI,EAAE;AADK,SAAD,CAZA;AAcVwH,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE;AADK,SAAD,CAdA;AAgBVgyP,sBAAc,EAAE,CAAC;AACjBhyP,cAAI,EAAE,6DADW;AAEjBimB,cAAI,EAAE,CAAC,iEAAW;AAAA,mBAAM8sO,eAAN;AAAA,WAAX,CAAD,EAAoC;AAClC;AACA;AACA54L,uBAAW,EAAE;AAHqB,WAApC;AAFW,SAAD;AAhBN,OAtB4C,CAAnD;AA6CC,KA7ChB,I,CA8CA;;AACA;;;QACM+4L,mB;;;;AAEN,QAAMC,yBAAyB,GAAG,kFAAmBD,mBAAnB,CAAlC;AACA;;;QACMH,e;;;;;;;AACF,+BAAYK,WAAZ,EAAyB3+M,kBAAzB,EAA6C9L,WAA7C,EAA0DoJ,aAA1D,EAAyEshN,eAAzE,EAA0F9mN,cAA1F,EAA0G;AAAA;;AAAA;;AACtG;AACA,iBAAKkI,kBAAL,GAA0BA,kBAA1B;AACA,iBAAK9L,WAAL,GAAmBA,WAAnB;AACA,iBAAKoJ,aAAL,GAAqBA,aAArB;AACA,iBAAKuhN,iBAAL,GAAyB,KAAzB;AACA,iBAAKC,QAAL,GAAgB,KAAhB;AACA;;;;AAGA,iBAAK5gK,cAAL,GAAsB,IAAtB;AACA,iBAAK39C,SAAL,GAAiB,KAAjB;AACA;;AACA,iBAAKrU,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA,YAAM6yN,cAAc,GAAG1nK,MAAM,CAACunK,eAAD,CAA7B;AACA,iBAAKtuN,QAAL,GAAiByuN,cAAc,IAAIA,cAAc,KAAK,CAAtC,GAA2CA,cAA3C,GAA4D,IAA5E;AACA,iBAAKC,iBAAL,GAAyBL,WAAzB;AACA,iBAAKrB,UAAL,GACIxlN,cAAc,IAAIA,cAAc,CAACwlN,UAAjC,GAA8CxlN,cAAc,CAACwlN,UAA7D,GAA0E,UAD9E;AAjBsG;AAmBzG;AACD;;;;;aACA,eAAe;AAAE,2BAAU,KAAKppP,EAAf;AAA6B;AAC9C;;;;aACA,eAAiB;AACb,iBAAO,KAAK8qP,iBAAL,GAAyB,KAAKA,iBAAL,CAAuB1B,UAAhD,GAA6D,KAAK2B,WAAzE;AACH,S;aACD,aAAevrP,KAAf,EAAsB;AAClB,eAAKurP,WAAL,GAAmBvrP,KAAnB;AACH;AACD;;;;aACA,eAAc;AACV,iBAAO,KAAKsrP,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBE,WAAvB,CAAmC,IAAnC,CAAzB,GAAoE,KAAKJ,QAAhF;AACH,S;aACD,aAAYprP,KAAZ,EAAmB;AACf,cAAMkwB,QAAQ,GAAG,oFAAsBlwB,KAAtB,CAAjB;;AACA,cAAIkwB,QAAQ,KAAK,KAAKk7N,QAAtB,EAAgC;AAC5B,iBAAKA,QAAL,GAAgBl7N,QAAhB;;AACA,gBAAI,KAAKo7N,iBAAT,EAA4B;AACxB,mBAAKA,iBAAL,CAAuBG,iBAAvB,CAAyC,IAAzC,EAA+C,KAAKL,QAApD;AACH;;AACD,iBAAK9+M,kBAAL,CAAwBa,YAAxB;AACH;AACJ;AACD;;;;aACA,eAAe;AACX,iBAAO,KAAKN,SAAL,IAAmB,KAAKy+M,iBAAL,IAA0B,KAAKA,iBAAL,CAAuBjsP,QAA3E;AACH,S;aACD,aAAaW,KAAb,EAAoB;AAAE,eAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;AAAgD;;;eACtE,oBAAW;AACP,cAAM9H,KAAK,GAAG,KAAKozP,iBAAnB;AACA,eAAKH,iBAAL,GAAyBjzP,KAAK,IAAI,CAACA,KAAK,CAAC+xP,QAAzC;AACA,eAAKzpP,EAAL,GAAU,KAAKA,EAAL,gCAAgC8oP,eAAe,EAA/C,CAAV;;AACA,cAAI,KAAK6B,iBAAT,EAA4B;AACxB,iBAAKxzP,IAAL,GAAYO,KAAK,CAACP,IAAlB;AACH;;AACD,cAAIO,KAAJ,EAAW;AACP,gBAAIA,KAAK,CAACwzP,aAAN,CAAoB,IAApB,CAAJ,EAA+B;AAC3B,mBAAKne,OAAL,GAAe,IAAf;AACH,aAFD,MAGK,IAAIr1O,KAAK,CAACszP,WAAN,CAAkB,IAAlB,MAA4B,KAAKJ,QAArC,EAA+C;AAChD;AACA;AACA;AACA;AACAlzP,mBAAK,CAACuzP,iBAAN,CAAwB,IAAxB,EAA8B,KAAKL,QAAnC;AACH;AACJ;AACJ;;;eACD,2BAAkB;AACd,eAAKxhN,aAAL,CAAmBG,OAAnB,CAA2B,KAAKvJ,WAAhC,EAA6C,IAA7C;AACH;;;eACD,uBAAc;AACV,cAAMtoC,KAAK,GAAG,KAAKozP,iBAAnB;;AACA,eAAK1hN,aAAL,CAAmBjB,cAAnB,CAAkC,KAAKnI,WAAvC,EAFU,CAGV;AACA;;;AACA,cAAItoC,KAAK,IAAIA,KAAK,CAACszP,WAAN,CAAkB,IAAlB,CAAb,EAAsC;AAClCtzP,iBAAK,CAACuzP,iBAAN,CAAwB,IAAxB,EAA8B,KAA9B,EAAqC,KAArC,EAA4C,IAA5C;AACH;AACJ;AACD;;;;eACA,eAAM3zP,OAAN,EAAe;AACX,eAAK6zP,cAAL,CAAoB/qN,aAApB,CAAkClF,KAAlC,CAAwC5jC,OAAxC;AACH;AACD;;;;eACA,0BAAiB;AACb,cAAM8zP,UAAU,GAAG,KAAKT,iBAAL,GAAyB,IAAzB,GAAgC,CAAC,KAAKC,QAAzD;;AACA,cAAIQ,UAAU,KAAK,KAAKR,QAAxB,EAAkC;AAC9B,iBAAKA,QAAL,GAAgBQ,UAAhB;;AACA,gBAAI,KAAKN,iBAAT,EAA4B;AACxB,mBAAKA,iBAAL,CAAuBG,iBAAvB,CAAyC,IAAzC,EAA+C,KAAKL,QAApD,EAA8D,IAA9D;;AACA,mBAAKE,iBAAL,CAAuB5B,UAAvB;AACH;AACJ,WARY,CASb;;;AACA,eAAKlxN,MAAL,CAAYwR,IAAZ,CAAiB,IAAIu/M,qBAAJ,CAA0B,IAA1B,EAAgC,KAAKvpP,KAArC,CAAjB;AACH;AACD;;;;;;;;eAKA,yBAAgB;AACZ;AACA;AACA,eAAKssC,kBAAL,CAAwBa,YAAxB;AACH;;;;MA3GyB69M,yB;;AA6G9BJ,mBAAe,CAAC/mP,IAAhB,GAAuB,SAASgoP,uBAAT,CAAiC9nP,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAI6mP,eAAV,EAA2B,gEAAyBzB,uBAAzB,EAAkD,CAAlD,CAA3B,EAAiF,gEAAyB,+DAAzB,CAAjF,EAAqI,gEAAyB,wDAAzB,CAArI,EAAkL,gEAAyB,8DAAzB,CAAlL,EAAiO,gEAAyB,UAAzB,CAAjO,EAAuQ,gEAAyBD,iCAAzB,EAA4D,CAA5D,CAAvQ,CAAP;AAAgV,KAA7Y;;AACA0B,mBAAe,CAACrmK,IAAhB,GAAuB,gEAAyB;AAAE1sF,UAAI,EAAE+yP,eAAR;AAAyBnpN,eAAS,EAAE,CAAC,CAAC,mBAAD,CAAD,CAApC;AAA6D+iD,eAAS,EAAE,SAASsnK,qBAAT,CAA+Br9M,EAA/B,EAAmC76B,GAAnC,EAAwC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACtK,oEAAmBouC,GAAnB,EAAwB,CAAxB;AACH;;AAAC,YAAIpuC,EAAE,GAAG,CAAT,EAAY;AACV,cAAIojB,EAAJ;;AACA,uEAAsBA,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAAC+3O,cAAJ,GAAqB95L,EAAE,CAACC,KAA7E;AACH;AAAE,OALyC;AAKvChD,eAAS,EAAE,CAAC,MAAD,EAAS,cAAT,EAAyB,CAAzB,EAA4B,mBAA5B,CAL4B;AAKsBxgB,cAAQ,EAAE,EALhC;AAKoCC,kBAAY,EAAE,SAASw9M,4BAAT,CAAsCt9M,EAAtC,EAA0C76B,GAA1C,EAA+C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACvJ,mEAAkB,OAAlB,EAA2B,SAASu9M,wCAAT,GAAoD;AAAE,mBAAOp4O,GAAG,CAAC8nB,KAAJ,EAAP;AAAqB,WAAtG;AACH;;AAAC,YAAI+S,EAAE,GAAG,CAAT,EAAY;AACV,oEAAmB,YAAnB,EAAiC,IAAjC,EAAuC,iBAAvC,EAA0D,IAA1D,EAAgE,IAAhE,EAAsE76B,GAAG,CAACpT,EAA1E,EAA8E,MAA9E,EAAsF,IAAtF;;AACA,oEAAmB,8BAAnB,EAAmD,CAACoT,GAAG,CAAC03O,iBAAxD,EAA2E,2BAA3E,EAAwG13O,GAAG,CAAC25N,OAA5G,EAAqH,4BAArH,EAAmJ35N,GAAG,CAACvU,QAAvJ,EAAiK,uCAAjK,EAA0MuU,GAAG,CAACg2O,UAAJ,KAAmB,UAA7N;AACH;AAAE,OAVyC;AAUvCloN,YAAM,EAAE;AAAEuqN,qBAAa,EAAE,eAAjB;AAAkCzhK,sBAAc,EAAE,CAAC,iBAAD,EAAoB,gBAApB,CAAlD;AAAyF5tD,gBAAQ,EAAE,UAAnG;AAA+GgtN,kBAAU,EAAE,YAA3H;AAAyIrc,eAAO,EAAE,SAAlJ;AAA6JluO,gBAAQ,EAAE,UAAvK;AAAmLmB,UAAE,EAAE,IAAvL;AAA6L7I,YAAI,EAAE,MAAnM;AAA2Mw/B,iBAAS,EAAE,CAAC,YAAD,EAAe,WAAf,CAAtN;AAAmPn3B,aAAK,EAAE;AAA1P,OAV+B;AAUsOkqC,aAAO,EAAE;AAAE1R,cAAM,EAAE;AAAV,OAV/O;AAUqQmJ,cAAQ,EAAE,CAAC,iBAAD,CAV/Q;AAUoSC,cAAQ,EAAE,CAAC,wEAAD,CAV9S;AAUmV+iD,wBAAkB,EAAE7H,GAVvW;AAU4W8H,WAAK,EAAE,CAVnX;AAUsXC,UAAI,EAAE,CAV5X;AAU+XC,YAAM,EAAE,CAAC,CAAC,MAAD,EAAS,QAAT,EAAmB,CAAnB,EAAsB,0BAAtB,EAAkD,qBAAlD,EAAyE,CAAzE,EAA4E,IAA5E,EAAkF,UAAlF,EAA8F,OAA9F,CAAD,EAAyG,CAAC,QAAD,EAAW,EAAX,CAAzG,EAAyH,CAAC,CAAD,EAAI,iCAAJ,CAAzH,EAAiK,CAAC,CAAD,EAAI,iCAAJ,CAAjK,EAAyM,CAAC,WAAD,EAAc,EAAd,EAAkB,CAAlB,EAAqB,0BAArB,EAAiD,CAAjD,EAAoD,kBAApD,EAAwE,mBAAxE,CAAzM,CAVvY;AAU+qBjpC,cAAQ,EAAE,SAASqwM,wBAAT,CAAkCz9M,EAAlC,EAAsC76B,GAAtC,EAA2C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC1xB;;AACA,uEAAsB,CAAtB,EAAyB,QAAzB,EAAmC,CAAnC,EAAsC,CAAtC;;AACA,mEAAkB,OAAlB,EAA2B,SAAS09M,gDAAT,GAA4D;AAAE,mBAAOv4O,GAAG,CAACw4O,cAAJ,EAAP;AAA8B,WAAvH;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,qEAAoB,CAApB;;AACA;;AACA;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACH;;AAAC,YAAI39M,EAAE,GAAG,CAAT,EAAY;AACV,cAAM49M,GAAG,GAAG,0DAAmB,CAAnB,CAAZ;;AACA,mEAAkB,IAAlB,EAAwBz4O,GAAG,CAAC04O,QAA5B,EAAsC,UAAtC,EAAkD14O,GAAG,CAACvU,QAAJ,IAAgB,IAAlE;;AACA,oEAAmB,UAAnB,EAA+BuU,GAAG,CAACvU,QAAJ,GAAe,CAAC,CAAhB,GAAoBuU,GAAG,CAACgpB,QAAvD,EAAiE,cAAjE,EAAiFhpB,GAAG,CAAC25N,OAArF,EAA8F,MAA9F,EAAsG35N,GAAG,CAACjc,IAAJ,IAAY,IAAlH,EAAwH,YAAxH,EAAsIic,GAAG,CAACujB,SAA1I,EAAqJ,iBAArJ,EAAwKvjB,GAAG,CAAC42E,cAA5K;;AACA,kEAAiB,CAAjB;;AACA,mEAAkB,kBAAlB,EAAsC6hK,GAAtC,EAA2C,mBAA3C,EAAgEz4O,GAAG,CAACq4O,aAAJ,IAAqBr4O,GAAG,CAACvU,QAAzF;AACH;AAAE,OA1ByC;AA0BvCuzF,gBAAU,EAAE,CAAC,gEAAD,CA1B2B;AA0BP36F,YAAM,EAAE,CAAC,6vFAAD,CA1BD;AA0BkwF+sF,mBAAa,EAAE,CA1BjxF;AA0BoxFC,qBAAe,EAAE;AA1BryF,KAAzB,CAAvB;;AA2BA2lK,mBAAe,CAACpzN,cAAhB,GAAiC;AAAA,aAAM,CACnC;AAAE3/B,YAAI,EAAEwxP,oBAAR;AAA8B5xN,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACqrO,uBAAD;AAAtB,SAArB;AAA1C,OADmC,EAEnC;AAAEtxP,YAAI,EAAE;AAAR,OAFmC,EAGnC;AAAEA,YAAI,EAAE;AAAR,OAHmC,EAInC;AAAEA,YAAI,EAAE;AAAR,OAJmC,EAKnC;AAAEA,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,uDAAR;AAAmBimB,cAAI,EAAE,CAAC,UAAD;AAAzB,SAAD;AAA5B,OALmC,EAMnC;AAAEjmB,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACorO,iCAAD;AAAtB,SAArB;AAA/B,OANmC,CAAN;AAAA,KAAjC;;AAQA0B,mBAAe,CAAC/oN,cAAhB,GAAiC;AAC7B1K,eAAS,EAAE,CAAC;AAAEt/B,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,YAAD;AAArB,OAAD,CADkB;AAE7B0sE,oBAAc,EAAE,CAAC;AAAE3yF,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CAFa;AAG7B6tO,oBAAc,EAAE,CAAC;AAAE9zP,YAAI,EAAE,uDAAR;AAAmBimB,YAAI,EAAE,CAAC,QAAD;AAAzB,OAAD,CAHa;AAI7Btd,QAAE,EAAE,CAAC;AAAE3I,YAAI,EAAE;AAAR,OAAD,CAJyB;AAK7BF,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE;AAAR,OAAD,CALuB;AAM7BmI,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE;AAAR,OAAD,CANsB;AAO7B+kC,cAAQ,EAAE,CAAC;AAAE/kC,YAAI,EAAE;AAAR,OAAD,CAPmB;AAQ7B+xP,gBAAU,EAAE,CAAC;AAAE/xP,YAAI,EAAE;AAAR,OAAD,CARiB;AAS7B01O,aAAO,EAAE,CAAC;AAAE11O,YAAI,EAAE;AAAR,OAAD,CAToB;AAU7BwH,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE;AAAR,OAAD,CAVmB;AAW7B2gC,YAAM,EAAE,CAAC;AAAE3gC,YAAI,EAAE;AAAR,OAAD;AAXqB,KAAjC;;AAaA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBymP,eAAzB,EAA0C,CAAC;AACrG/yP,YAAI,EAAE,uDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,mBADX;AAEC4iD,kBAAQ,EAAE,uvBAFX;AAGCmpC,uBAAa,EAAE,gEAAkBE,IAHlC;AAICvjD,kBAAQ,EAAE,iBAJX;AAKCsjD,yBAAe,EAAE,sEAAwBE,MAL1C;AAMCzjD,gBAAM,EAAE,CAAC,eAAD,CANT;AAOCgN,cAAI,EAAE;AACF,oDAAwC,oBADtC;AAEF,iDAAqC,SAFnC;AAGF,kDAAsC,UAHpC;AAIF,6DAAiD,2BAJ/C;AAKF,qBAAS,mBALP;AAMF,iCAAqB,MANnB;AAOF,sCAA0B,MAPxB;AAQF,yBAAa,IARX;AASF,2BAAe,MATb;AAUF,uBAAW,SAVT;AAWF,oBAAQ;AAXN,WAPP;AAoBCz2C,gBAAM,EAAE,CAAC,6vFAAD;AApBT,SAAD;AAF+F,OAAD,CAA1C,EAwB1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAEwxP,oBAAR;AAA8B5xN,oBAAU,EAAE,CAAC;AACzD5/B,gBAAI,EAAE;AADmD,WAAD,EAEzD;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACqrO,uBAAD;AAFP,WAFyD;AAA1C,SAAD,EAKX;AAAEtxP,cAAI,EAAE;AAAR,SALW,EAKyB;AAAEA,cAAI,EAAE;AAAR,SALzB,EAKsD;AAAEA,cAAI,EAAE;AAAR,SALtD,EAKqF;AAAEA,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC/H5/B,gBAAI,EAAE,uDADyH;AAE/HimB,gBAAI,EAAE,CAAC,UAAD;AAFyH,WAAD;AAA5B,SALrF,EAQX;AAAEjmB,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE;AAD4B,WAAD,EAElC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACorO,iCAAD;AAFP,WAFkC;AAA/B,SARW,CAAP;AAaF,OArC8C,EAqC5C;AAAE1+J,sBAAc,EAAE,CAAC;AAC7B3yF,cAAI,EAAE,mDADuB;AAE7BimB,cAAI,EAAE,CAAC,iBAAD;AAFuB,SAAD,CAAlB;AAGV0a,cAAM,EAAE,CAAC;AACT3gC,cAAI,EAAE;AADG,SAAD,CAHE;AAKV+kC,gBAAQ,EAAE,CAAC;AACX/kC,cAAI,EAAE;AADK,SAAD,CALA;AAOV+xP,kBAAU,EAAE,CAAC;AACb/xP,cAAI,EAAE;AADO,SAAD,CAPF;AASV01O,eAAO,EAAE,CAAC;AACV11O,cAAI,EAAE;AADI,SAAD,CATC;AAWVwH,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE;AADK,SAAD,CAXA;AAaV2I,UAAE,EAAE,CAAC;AACL3I,cAAI,EAAE;AADD,SAAD,CAbM;AAeVF,YAAI,EAAE,CAAC;AACPE,cAAI,EAAE;AADC,SAAD,CAfI;AAiBVs/B,iBAAS,EAAE,CAAC;AACZt/B,cAAI,EAAE,mDADM;AAEZimB,cAAI,EAAE,CAAC,YAAD;AAFM,SAAD,CAjBD;AAoBV6tO,sBAAc,EAAE,CAAC;AACjB9zP,cAAI,EAAE,uDADW;AAEjBimB,cAAI,EAAE,CAAC,QAAD;AAFW,SAAD,CApBN;AAuBV9d,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE;AADE,SAAD;AAvBG,OArC4C,CAAnD;AA8DC,KA9DhB;AAgEA;;;;;;;;;QAOM00P,qB;;;;AAENA,yBAAqB,CAAC1oP,IAAtB,GAA6B,SAAS2oP,6BAAT,CAAuCzoP,CAAvC,EAA0C;AAAE,aAAO,KAAKA,CAAC,IAAIwoP,qBAAV,GAAP;AAA4C,KAArH;;AACAA,yBAAqB,CAACnhN,IAAtB,GAA6B,+DAAwB;AAAEvzC,UAAI,EAAE00P;AAAR,KAAxB,CAA7B;AACAA,yBAAqB,CAAClhN,IAAtB,GAA6B,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAAC,sEAAD,EAAkB,sEAAlB,CAAD,EAAqC,sEAArC;AAAX,KAAxB,CAA7B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BghN,qBAA1B,EAAiD;AAAE/gN,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAAC69M,oBAAD,EAAuBuB,eAAvB,CAAP;AAAiD,SAA/E;AAAiFt/M,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,sEAAD,EAAkB,sEAAlB,CAAP;AAA4C,SAApJ;AAAsJG,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,sEAAD,EAAkB49M,oBAAlB,EAAwCuB,eAAxC,CAAP;AAAkE;AAA/O,OAAjD,CAAnD;AAAyV,KAAxW;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOzmP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBooP,qBAAzB,EAAgD,CAAC;AAC3G10P,YAAI,EAAE,sDADqG;AAE3GimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAAC,sEAAD,EAAkB,sEAAlB,CADV;AAECG,iBAAO,EAAE,CAAC,sEAAD,EAAkB49M,oBAAlB,EAAwCuB,eAAxC,CAFV;AAGCp/M,sBAAY,EAAE,CAAC69M,oBAAD,EAAuBuB,eAAvB;AAHf,SAAD;AAFqG,OAAD,CAAhD,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACllBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAKA;;;;;;;;AAOA;;;AAKA,QAAM/tK,GAAG,GAAG,CAAC,YAAD,EAAe,EAAf,CAAZ;AACA,QAAMC,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,QAAM2vK,GAAG,GAAG,8iNAAZ;AACA,QAAMC,0BAA0B,GAAG,QAAnC;AACA;;;;;AAIA,QAAMC,sBAAsB,GAAG,CAC3B,YAD2B,EAE3B,iBAF2B,EAG3B,iBAH2B,EAI3B,mBAJ2B,EAK3B,oBAL2B,EAM3B,cAN2B,EAO3B,SAP2B,CAA/B,C,CASA;;AACA;;QACMC,a,GACF,uBAAYpsN,WAAZ,EAAyB;AAAA;;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH,K;;AAEL,QAAMqsN,mBAAmB,GAAG,0EAAW,6EAAc,kFAAmBD,aAAnB,CAAd,CAAX,CAA5B;AACA;;;;;QAGME,S;;;;;;;AACF,yBAAY56K,UAAZ,EAAwBtoC,aAAxB,EAAuCmjN,cAAvC,EAAuD;AAAA;;AAAA;;AACnD,uCAAM76K,UAAN;AACA,iBAAKtoC,aAAL,GAAqBA,aAArB;AACA,iBAAKmjN,cAAL,GAAsBA,cAAtB;AACA;;AACA,iBAAKC,aAAL,GAAqB,SAAKC,kBAAL,CAAwB,SAAxB,EAAmC,cAAnC,CAArB;AACA;;AACA,iBAAKC,YAAL,GAAoB,SAAKD,kBAAL,CAAwB,iBAAxB,CAApB,CAPmD,CAQnD;AACA;;AATmD,qDAUhCN,sBAVgC;AAAA;;AAAA;AAUnD,oEAA2C;AAAA,gBAAhCl4N,IAAgC;;AACvC,gBAAI,SAAKw4N,kBAAL,CAAwBx4N,IAAxB,CAAJ,EAAmC;AAC/B,uBAAK04N,eAAL,GAAuBrhO,SAAvB,CAAiCte,GAAjC,CAAqCinB,IAArC;AACH;AACJ,WAdkD,CAenD;AACA;AACA;;AAjBmD;AAAA;AAAA;AAAA;AAAA;;AAkBnDy9C,kBAAU,CAACtxC,aAAX,CAAyB9U,SAAzB,CAAmCte,GAAnC,CAAuC,iBAAvC;;AACA,YAAI,SAAKw/O,aAAT,EAAwB;AACpB,mBAAKI,KAAL,GAAaV,0BAAb;AACH;;AArBkD;AAsBtD;;;;eACD,2BAAkB;AACd,eAAK9iN,aAAL,CAAmBG,OAAnB,CAA2B,KAAKvJ,WAAhC,EAA6C,IAA7C;AACH;;;eACD,uBAAc;AACV,eAAKoJ,aAAL,CAAmBjB,cAAnB,CAAkC,KAAKnI,WAAvC;AACH;AACD;;;;eACA,eAAM/E,MAAN,EAAc3jC,OAAd,EAAuB;AACnB,cAAI2jC,MAAJ,EAAY;AACR,iBAAKmO,aAAL,CAAmByjN,QAAnB,CAA4B,KAAKF,eAAL,EAA5B,EAAoD1xN,MAApD,EAA4D3jC,OAA5D;AACH,WAFD,MAGK;AACD,iBAAKq1P,eAAL,GAAuBzxN,KAAvB,CAA6B5jC,OAA7B;AACH;AACJ;;;eACD,2BAAkB;AACd,iBAAO,KAAK0oC,WAAL,CAAiBI,aAAxB;AACH;;;eACD,6BAAoB;AAChB,iBAAO,KAAKqrN,aAAL,IAAsB,KAAK5sP,QAAlC;AACH;AACD;;;;eACA,8BAAkC;AAAA;;AAAA,8CAAZumJ,UAAY;AAAZA,sBAAY;AAAA;;AAC9B,iBAAOA,UAAU,CAAC90I,IAAX,CAAgB,UAAAw8O,SAAS;AAAA,mBAAI,QAAI,CAACH,eAAL,GAAuBpxN,YAAvB,CAAoCuxN,SAApC,CAAJ;AAAA,WAAzB,CAAP;AACH;;;;MAhDmBT,mB;;AAkDxBC,aAAS,CAACjpP,IAAV,GAAiB,SAAS0pP,iBAAT,CAA2BxpP,CAA3B,EAA8B;AAAE,aAAO,KAAKA,CAAC,IAAI+oP,SAAV,EAAqB,gEAAyB,wDAAzB,CAArB,EAAkE,gEAAyB,8DAAzB,CAAlE,EAAiH,gEAAyB,0FAAzB,EAAgD,CAAhD,CAAjH,CAAP;AAA8K,KAA/N;;AACAA,aAAS,CAACvoK,IAAV,GAAiB,gEAAyB;AAAE1sF,UAAI,EAAEi1P,SAAR;AAAmBrrN,eAAS,EAAE,CAAC,CAAC,QAAD,EAAW,YAAX,EAAyB,EAAzB,CAAD,EAA+B,CAAC,QAAD,EAAW,mBAAX,EAAgC,EAAhC,CAA/B,EAAoE,CAAC,QAAD,EAAW,iBAAX,EAA8B,EAA9B,CAApE,EAAuG,CAAC,QAAD,EAAW,SAAX,EAAsB,EAAtB,CAAvG,EAAkI,CAAC,QAAD,EAAW,cAAX,EAA2B,EAA3B,CAAlI,EAAkK,CAAC,QAAD,EAAW,oBAAX,EAAiC,EAAjC,CAAlK,EAAwM,CAAC,QAAD,EAAW,iBAAX,EAA8B,EAA9B,CAAxM,CAA9B;AAA0Q+iD,eAAS,EAAE,SAASgpK,eAAT,CAAyB/+M,EAAzB,EAA6B76B,GAA7B,EAAkC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACvW,oEAAmB,gEAAnB,EAA8B,CAA9B;AACH;;AAAC,YAAIA,EAAE,GAAG,CAAT,EAAY;AACV,cAAIojB,EAAJ;;AACA,uEAAsBA,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAAC65O,MAAJ,GAAa57L,EAAE,CAACC,KAArE;AACH;AAAE,OALmC;AAKjChD,eAAS,EAAE,CAAC,CAAD,EAAI,qBAAJ,CALsB;AAKMxgB,cAAQ,EAAE,CALhB;AAKmBC,kBAAY,EAAE,SAASm/M,sBAAT,CAAgCj/M,EAAhC,EAAoC76B,GAApC,EAAyC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC1H,oEAAmB,UAAnB,EAA+B76B,GAAG,CAACvU,QAAJ,IAAgB,IAA/C;;AACA,oEAAmB,yBAAnB,EAA8CuU,GAAG,CAACm5O,cAAJ,KAAuB,gBAArE,EAAuF,qBAAvF,EAA8Gn5O,GAAG,CAACvU,QAAlH;AACH;AAAE,OARmC;AAQjCqiC,YAAM,EAAE;AAAEriC,gBAAQ,EAAE,UAAZ;AAAwB4sP,qBAAa,EAAE,eAAvC;AAAwDmB,aAAK,EAAE;AAA/D,OARyB;AAQiDzrN,cAAQ,EAAE,CAAC,WAAD,CAR3D;AAQ0EC,cAAQ,EAAE,CAAC,wEAAD,CARpF;AAQyH4uG,WAAK,EAAE3zD,GARhI;AAQqI8H,wBAAkB,EAAE7H,GARzJ;AAQ8J8H,WAAK,EAAE,CARrK;AAQwKC,UAAI,EAAE,CAR9K;AAQiLC,YAAM,EAAE,CAAC,CAAC,CAAD,EAAI,oBAAJ,CAAD,EAA4B,CAAC,WAAD,EAAc,EAAd,EAAkB,CAAlB,EAAqB,mBAArB,EAA0C,CAA1C,EAA6C,mBAA7C,EAAkE,mBAAlE,EAAuF,kBAAvF,CAA5B,EAAwI,CAAC,CAAD,EAAI,0BAAJ,CAAxI,CARzL;AAQmWjpC,cAAQ,EAAE,SAAS8xM,kBAAT,CAA4Bl/M,EAA5B,EAAgC76B,GAAhC,EAAqC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAClc;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,qEAAoB,CAApB;;AACA;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACH;;AAAC,YAAIA,EAAE,GAAG,CAAT,EAAY;AACV,kEAAiB,CAAjB;;AACA,oEAAmB,yBAAnB,EAA8C76B,GAAG,CAACo5O,aAAJ,IAAqBp5O,GAAG,CAACs5O,YAAvE;;AACA,mEAAkB,mBAAlB,EAAuCt5O,GAAG,CAACg6O,iBAAJ,EAAvC,EAAgE,mBAAhE,EAAqFh6O,GAAG,CAACs5O,YAAzF,EAAuG,kBAAvG,EAA2Ht5O,GAAG,CAACu5O,eAAJ,EAA3H;AACH;AAAE,OAnBmC;AAmBjCv6J,gBAAU,EAAE,CAAC,gEAAD,CAnBqB;AAmBD36F,YAAM,EAAE,CAACw0P,GAAD,CAnBP;AAmBcznK,mBAAa,EAAE,CAnB7B;AAmBgCC,qBAAe,EAAE;AAnBjD,KAAzB,CAAjB;;AAoBA6nK,aAAS,CAACt1N,cAAV,GAA2B;AAAA,aAAM,CAC7B;AAAE3/B,YAAI,EAAE;AAAR,OAD6B,EAE7B;AAAEA,YAAI,EAAE;AAAR,OAF6B,EAG7B;AAAEA,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,0FAAD;AAAtB,SAArB;AAA5B,OAH6B,CAAN;AAAA,KAA3B;;AAKAgvO,aAAS,CAACjrN,cAAV,GAA2B;AACvB4rN,YAAM,EAAE,CAAC;AAAE51P,YAAI,EAAE,uDAAR;AAAmBimB,YAAI,EAAE,CAAC,gEAAD;AAAzB,OAAD;AADe,KAA3B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB2oP,SAAzB,EAAoC,CAAC;AAC/Fj1P,YAAI,EAAE,uDADyF;AAE/FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,kMADT;AAIC0oC,kBAAQ,EAAE,WAJX;AAKC+M,cAAI,EAAE;AACF,+BAAmB,kBADjB;AAEF,+CAAmC,qCAFjC;AAGF;AACA;AACA;AACA,2CAA+B,UAN7B;AAOF,qBAAS;AAPP,WALP;AAcCmN,kBAAQ,EAAE,sYAdX;AAeCna,gBAAM,EAAE,CAAC,UAAD,EAAa,eAAb,EAA8B,OAA9B,CAfT;AAgBCsjD,uBAAa,EAAE,gEAAkBE,IAhBlC;AAiBCD,yBAAe,EAAE,sEAAwBE,MAjB1C;AAkBCltF,gBAAM,EAAE,CAAC,8iNAAD;AAlBT,SAAD;AAFyF,OAAD,CAApC,EAsB1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAA6D;AAAEA,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AACvG5/B,gBAAI,EAAE;AADiG,WAAD,EAEvG;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,0FAAD;AAFP,WAFuG;AAA5B,SAA7D,CAAP;AAKF,OA3B8C,EA2B5C;AAAE2vO,cAAM,EAAE,CAAC;AACrB51P,cAAI,EAAE,uDADe;AAErBimB,cAAI,EAAE,CAAC,gEAAD;AAFe,SAAD;AAAV,OA3B4C,CAAnD;AA8BC,KA9BhB;AA+BA;;;;;QAGM+vO,S;;;;;;;AACF,yBAAYC,YAAZ,EAA0B57K,UAA1B,EAAsC67K,aAAtC,EAAqD;AAAA;;AAAA,mCAC3C77K,UAD2C,EAC/B47K,YAD+B,EACjBC,aADiB;AAEpD;;;;eACD,6BAAoB9uP,KAApB,EAA2B;AACvB;AACA,cAAI,KAAKI,QAAT,EAAmB;AACfJ,iBAAK,CAAC07B,cAAN;AACA17B,iBAAK,CAAC+uP,wBAAN;AACH;AACJ;;;;MAVmBlB,S;;AAYxBe,aAAS,CAAChqP,IAAV,GAAiB,SAASoqP,iBAAT,CAA2BlqP,CAA3B,EAA8B;AAAE,aAAO,KAAKA,CAAC,IAAI8pP,SAAV,EAAqB,gEAAyB,8DAAzB,CAArB,EAAoE,gEAAyB,wDAAzB,CAApE,EAAiH,gEAAyB,0FAAzB,EAAgD,CAAhD,CAAjH,CAAP;AAA8K,KAA/N;;AACAA,aAAS,CAACtpK,IAAV,GAAiB,gEAAyB;AAAE1sF,UAAI,EAAEg2P,SAAR;AAAmBpsN,eAAS,EAAE,CAAC,CAAC,GAAD,EAAM,YAAN,EAAoB,EAApB,CAAD,EAA0B,CAAC,GAAD,EAAM,mBAAN,EAA2B,EAA3B,CAA1B,EAA0D,CAAC,GAAD,EAAM,iBAAN,EAAyB,EAAzB,CAA1D,EAAwF,CAAC,GAAD,EAAM,SAAN,EAAiB,EAAjB,CAAxF,EAA8G,CAAC,GAAD,EAAM,cAAN,EAAsB,EAAtB,CAA9G,EAAyI,CAAC,GAAD,EAAM,oBAAN,EAA4B,EAA5B,CAAzI,EAA0K,CAAC,GAAD,EAAM,iBAAN,EAAyB,EAAzB,CAA1K,CAA9B;AAAuOqtB,eAAS,EAAE,CAAC,CAAD,EAAI,qBAAJ,CAAlP;AAA8QxgB,cAAQ,EAAE,CAAxR;AAA2RC,kBAAY,EAAE,SAAS2/M,sBAAT,CAAgCz/M,EAAhC,EAAoC76B,GAApC,EAAyC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAClY,mEAAkB,OAAlB,EAA2B,SAAS0/M,kCAAT,CAA4C7gB,MAA5C,EAAoD;AAAE,mBAAO15N,GAAG,CAACw6O,mBAAJ,CAAwB9gB,MAAxB,CAAP;AAAyC,WAA1H;AACH;;AAAC,YAAI7+L,EAAE,GAAG,CAAT,EAAY;AACV,oEAAmB,UAAnB,EAA+B76B,GAAG,CAACvU,QAAJ,GAAe,CAAC,CAAhB,GAAoBuU,GAAG,CAACgpB,QAAJ,IAAgB,CAAnE,EAAsE,UAAtE,EAAkFhpB,GAAG,CAACvU,QAAJ,IAAgB,IAAlG,EAAwG,eAAxG,EAAyHuU,GAAG,CAACvU,QAAJ,CAAahC,QAAb,EAAzH;;AACA,oEAAmB,yBAAnB,EAA8CuW,GAAG,CAACm5O,cAAJ,KAAuB,gBAArE,EAAuF,qBAAvF,EAA8Gn5O,GAAG,CAACvU,QAAlH;AACH;AAAE,OALmC;AAKjCqiC,YAAM,EAAE;AAAEriC,gBAAQ,EAAE,UAAZ;AAAwB4sP,qBAAa,EAAE,eAAvC;AAAwDmB,aAAK,EAAE,OAA/D;AAAwExwN,gBAAQ,EAAE;AAAlF,OALyB;AAKuE+E,cAAQ,EAAE,CAAC,WAAD,EAAc,WAAd,CALjF;AAK6GC,cAAQ,EAAE,CAAC,wEAAD,CALvH;AAK4J4uG,WAAK,EAAE3zD,GALnK;AAKwK8H,wBAAkB,EAAE7H,GAL5L;AAKiM8H,WAAK,EAAE,CALxM;AAK2MC,UAAI,EAAE,CALjN;AAKoNC,YAAM,EAAE,CAAC,CAAC,CAAD,EAAI,oBAAJ,CAAD,EAA4B,CAAC,WAAD,EAAc,EAAd,EAAkB,CAAlB,EAAqB,mBAArB,EAA0C,CAA1C,EAA6C,mBAA7C,EAAkE,mBAAlE,EAAuF,kBAAvF,CAA5B,EAAwI,CAAC,CAAD,EAAI,0BAAJ,CAAxI,CAL5N;AAKsYjpC,cAAQ,EAAE,SAASwyM,kBAAT,CAA4B5/M,EAA5B,EAAgC76B,GAAhC,EAAqC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACre;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,qEAAoB,CAApB;;AACA;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACH;;AAAC,YAAIA,EAAE,GAAG,CAAT,EAAY;AACV,kEAAiB,CAAjB;;AACA,oEAAmB,yBAAnB,EAA8C76B,GAAG,CAACo5O,aAAJ,IAAqBp5O,GAAG,CAACs5O,YAAvE;;AACA,mEAAkB,mBAAlB,EAAuCt5O,GAAG,CAACg6O,iBAAJ,EAAvC,EAAgE,mBAAhE,EAAqFh6O,GAAG,CAACs5O,YAAzF,EAAuG,kBAAvG,EAA2Ht5O,GAAG,CAACu5O,eAAJ,EAA3H;AACH;AAAE,OAhBmC;AAgBjCv6J,gBAAU,EAAE,CAAC,gEAAD,CAhBqB;AAgBD36F,YAAM,EAAE,CAACw0P,GAAD,CAhBP;AAgBcznK,mBAAa,EAAE,CAhB7B;AAgBgCC,qBAAe,EAAE;AAhBjD,KAAzB,CAAjB;;AAiBA4oK,aAAS,CAACr2N,cAAV,GAA2B;AAAA,aAAM,CAC7B;AAAE3/B,YAAI,EAAE;AAAR,OAD6B,EAE7B;AAAEA,YAAI,EAAE;AAAR,OAF6B,EAG7B;AAAEA,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,0FAAD;AAAtB,SAArB;AAA5B,OAH6B,CAAN;AAAA,KAA3B;;AAKA+vO,aAAS,CAAChsN,cAAV,GAA2B;AACvBjF,cAAQ,EAAE,CAAC;AAAE/kC,YAAI,EAAE;AAAR,OAAD;AADa,KAA3B;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0pP,SAAzB,EAAoC,CAAC;AAC/Fh2P,YAAI,EAAE,uDADyF;AAE/FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,iJADT;AAGC0oC,kBAAQ,EAAE,sBAHX;AAIC+M,cAAI,EAAE;AACF;AACA;AACA;AACA,+BAAmB,iCAJjB;AAKF,+BAAmB,kBALjB;AAMF,oCAAwB,qBANtB;AAOF,uBAAW,6BAPT;AAQF,+CAAmC,qCARjC;AASF,2CAA+B,UAT7B;AAUF,qBAAS;AAVP,WAJP;AAgBChN,gBAAM,EAAE,CAAC,UAAD,EAAa,eAAb,EAA8B,OAA9B,CAhBT;AAiBCma,kBAAQ,EAAE,sYAjBX;AAkBCmpC,uBAAa,EAAE,gEAAkBE,IAlBlC;AAmBCD,yBAAe,EAAE,sEAAwBE,MAnB1C;AAoBCltF,gBAAM,EAAE,CAAC,8iNAAD;AApBT,SAAD;AAFyF,OAAD,CAApC,EAwB1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAE;AAAR,SAAD,EAAgC;AAAEA,cAAI,EAAE;AAAR,SAAhC,EAA6D;AAAEA,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AACvG5/B,gBAAI,EAAE;AADiG,WAAD,EAEvG;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,0FAAD;AAFP,WAFuG;AAA5B,SAA7D,CAAP;AAKF,OA7B8C,EA6B5C;AAAE8e,gBAAQ,EAAE,CAAC;AACvB/kC,cAAI,EAAE;AADiB,SAAD;AAAZ,OA7B4C,CAAnD;AA+BC,KA/BhB;AAiCA;;;;;;;;;QAOMy2P,e;;;;AAENA,mBAAe,CAACzqP,IAAhB,GAAuB,SAAS0qP,uBAAT,CAAiCxqP,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAIuqP,eAAV,GAAP;AAAsC,KAAnG;;AACAA,mBAAe,CAACljN,IAAhB,GAAuB,+DAAwB;AAAEvzC,UAAI,EAAEy2P;AAAR,KAAxB,CAAvB;AACAA,mBAAe,CAACjjN,IAAhB,GAAuB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAC/C,sEAD+C,EAE/C,sEAF+C,CAAD,EAG/C,sEAH+C;AAAX,KAAxB,CAAvB;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B+iN,eAA1B,EAA2C;AAAE9iN,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAACshN,SAAD,EAAYe,SAAZ,CAAP;AAAgC,SAA9D;AAAgEviN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,sEAAD,EACnM,sEADmM,CAAP;AACzK,SADkF;AAChFG,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAACqhN,SAAD,EAAYe,SAAZ,EAAuB,sEAAvB,CAAP;AAAiD;AADQ,OAA3C,CAAnD;AAC4F,KAD3G;;AAEA,KAAC,YAAY;AAAE,OAAC,OAAO1pP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBmqP,eAAzB,EAA0C,CAAC;AACrGz2P,YAAI,EAAE,sDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CACL,sEADK,EAEL,sEAFK,CADV;AAKCG,iBAAO,EAAE,CACLqhN,SADK,EAELe,SAFK,EAGL,sEAHK,CALV;AAUCriN,sBAAY,EAAE,CACVshN,SADU,EAEVe,SAFU;AAVf,SAAD;AAF+F,OAAD,CAA1C,EAiB1D,IAjB0D,EAiBpD,IAjBoD,CAAnD;AAiBO,KAjBtB;AAmBA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACvRA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAIA;;;;;;;;AAOA;;;;;;AAMA,QAAMhxK,GAAG,GAAG,CAAC,GAAD,EAAM,CAAC,CAAC,iBAAD,CAAD,CAAN,CAAZ;AACA,QAAMC,GAAG,GAAG,CAAC,GAAD,EAAM,iBAAN,CAAZ;AACA,QAAM2vK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,EAA8B,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAA9B,CAAD,EAA2D,CAAC,CAAC,gBAAD,CAAD,EAAqB,CAAC,mBAAD,CAArB,EAA4C,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAA5C,EAAwE,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAxE,EAAuG,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAvG,EAAiI,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAjI,CAA3D,EAA0N,GAA1N,CAAZ;AACA,QAAM+B,GAAG,GAAG,CAAC,oCAAD,EAAuC,2HAAvC,EAAoK,GAApK,CAAZ;AACA,QAAMC,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAD,CAAD,EAAqB,CAAC,mBAAD,CAArB,EAA4C,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAA5C,EAAwE,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAxE,EAAuG,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAvG,EAAiI,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAjI,CAAD,EAAgK,CAAC,CAAC,KAAD,CAAD,CAAhK,EAA2K,GAA3K,CAAZ;AACA,QAAMC,GAAG,GAAG,CAAC,2HAAD,EAA8H,KAA9H,EAAqI,GAArI,CAAZ;;QACMC,c;;;;AAENA,kBAAc,CAAC9qP,IAAf,GAAsB,SAAS+qP,sBAAT,CAAgC7qP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI4qP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACntN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAE82P,cAAR;AAAwBltN,eAAS,EAAE,CAAC,CAAC,kBAAD,CAAD,EAAuB,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAAvB,EAAqD,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAArD,CAAnC;AAAqHqtB,eAAS,EAAE,CAAC,CAAD,EAAI,kBAAJ;AAAhI,KAAzB,CAAtB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBwqP,cAAzB,EAAyC,CAAC;AACpG92P,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,wDADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF8F,OAAD,CAAzC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIMmgN,Y;;;;AAENA,gBAAY,CAAChrP,IAAb,GAAoB,SAASirP,oBAAT,CAA8B/qP,CAA9B,EAAiC;AAAE,aAAO,KAAKA,CAAC,IAAI8qP,YAAV,GAAP;AAAmC,KAA1F;;AACAA,gBAAY,CAACrtN,IAAb,GAAoB,gEAAyB;AAAE3pC,UAAI,EAAEg3P,YAAR;AAAsBptN,eAAS,EAAE,CAAC,CAAC,gBAAD,CAAD,EAAqB,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAArB,EAAiD,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAjD,CAAjC;AAA6GqtB,eAAS,EAAE,CAAC,CAAD,EAAI,gBAAJ;AAAxH,KAAzB,CAApB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0qP,YAAzB,EAAuC,CAAC;AAClGh3P,YAAI,EAAE,uDAD4F;AAElGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,oDADT;AAECy1C,cAAI,EAAE;AACF,qBAAS;AADP;AAFP,SAAD;AAF4F,OAAD,CAAvC,EAQ1D,IAR0D,EAQpD,IARoD,CAAnD;AAQO,KARtB;AASA;;;;;;QAIMqgN,e;;;;AAENA,mBAAe,CAAClrP,IAAhB,GAAuB,SAASmrP,uBAAT,CAAiCjrP,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAIgrP,eAAV,GAAP;AAAsC,KAAnG;;AACAA,mBAAe,CAACvtN,IAAhB,GAAuB,gEAAyB;AAAE3pC,UAAI,EAAEk3P,eAAR;AAAyBttN,eAAS,EAAE,CAAC,CAAC,mBAAD,CAAD,EAAwB,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAxB,EAAuD,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAvD,CAApC;AAAyHqtB,eAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ;AAApI,KAAzB,CAAvB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB4qP,eAAzB,EAA0C,CAAC;AACrGl3P,YAAI,EAAE,uDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,6DADT;AAECy1C,cAAI,EAAE;AACF,qBAAS;AADP;AAFP,SAAD;AAF+F,OAAD,CAA1C,EAQ1D,IAR0D,EAQpD,IARoD,CAAnD;AAQO,KARtB;AASA;;;;;;QAIMugN,c,GACF,0BAAc;AAAA;;AACV;AACA,WAAKC,KAAL,GAAa,OAAb;AACH,K;;AAELD,kBAAc,CAACprP,IAAf,GAAsB,SAASsrP,sBAAT,CAAgCprP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAIkrP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACztN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAEo3P,cAAR;AAAwBxtN,eAAS,EAAE,CAAC,CAAC,kBAAD,CAAD,CAAnC;AAA2DqtB,eAAS,EAAE,CAAC,CAAD,EAAI,kBAAJ,CAAtE;AAA+FxgB,cAAQ,EAAE,CAAzG;AAA4GC,kBAAY,EAAE,SAAS6gN,2BAAT,CAAqC3gN,EAArC,EAAyC76B,GAAzC,EAA8C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC7N,oEAAmB,4BAAnB,EAAiD76B,GAAG,CAACs7O,KAAJ,KAAc,KAA/D;AACH;AAAE,OAFwC;AAEtCxtN,YAAM,EAAE;AAAEwtN,aAAK,EAAE;AAAT,OAF8B;AAEVvtN,cAAQ,EAAE,CAAC,gBAAD;AAFA,KAAzB,CAAtB;AAGAstN,kBAAc,CAACptN,cAAf,GAAgC;AAC5BqtN,WAAK,EAAE,CAAC;AAAEr3P,YAAI,EAAE;AAAR,OAAD;AADqB,KAAhC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB8qP,cAAzB,EAAyC,CAAC;AACpGp3P,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,kBADX;AAEC0oC,kBAAQ,EAAE,gBAFX;AAGC+M,cAAI,EAAE;AACF,qBAAS,kBADP;AAEF,kDAAsC;AAFpC;AAHP,SAAD;AAF8F,OAAD,CAAzC,EAU1D,YAAY;AAAE,eAAO,EAAP;AAAY,OAVgC,EAU9B;AAAEwgN,aAAK,EAAE,CAAC;AAClCr3P,cAAI,EAAE;AAD4B,SAAD;AAAT,OAV8B,CAAnD;AAYC,KAZhB;AAaA;;;;;;QAIMw3P,a;;;;AAENA,iBAAa,CAACxrP,IAAd,GAAqB,SAASyrP,qBAAT,CAA+BvrP,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIsrP,aAAV,GAAP;AAAoC,KAA7F;;AACAA,iBAAa,CAAC7tN,IAAd,GAAqB,gEAAyB;AAAE3pC,UAAI,EAAEw3P,aAAR;AAAuB5tN,eAAS,EAAE,CAAC,CAAC,iBAAD,CAAD,CAAlC;AAAyDqtB,eAAS,EAAE,CAAC,CAAD,EAAI,iBAAJ;AAApE,KAAzB,CAArB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBkrP,aAAzB,EAAwC,CAAC;AACnGx3P,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,iBADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF6F,OAAD,CAAxC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIM6gN,Y;;;;AAENA,gBAAY,CAAC1rP,IAAb,GAAoB,SAAS2rP,oBAAT,CAA8BzrP,CAA9B,EAAiC;AAAE,aAAO,KAAKA,CAAC,IAAIwrP,YAAV,GAAP;AAAmC,KAA1F;;AACAA,gBAAY,CAAC/tN,IAAb,GAAoB,gEAAyB;AAAE3pC,UAAI,EAAE03P,YAAR;AAAsB9tN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAAD,EAA6B,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAA7B,CAAjC;AAAyFqtB,eAAS,EAAE,CAAC,CAAD,EAAI,gBAAJ;AAApG,KAAzB,CAApB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBorP,YAAzB,EAAuC,CAAC;AAClG13P,YAAI,EAAE,uDAD4F;AAElGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,kCADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF4F,OAAD,CAAvC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIM+gN,c;;;;AAENA,kBAAc,CAAC5rP,IAAf,GAAsB,SAAS6rP,sBAAT,CAAgC3rP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI0rP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACjuN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAE43P,cAAR;AAAwBhuN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,EAAgC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAhC,CAAnC;AAAmGqtB,eAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ;AAA9G,KAAzB,CAAtB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBsrP,cAAzB,EAAyC,CAAC;AACpG53P,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,0CADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF8F,OAAD,CAAzC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIMihN,c;;;;AAENA,kBAAc,CAAC9rP,IAAf,GAAsB,SAAS+rP,sBAAT,CAAgC7rP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI4rP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACnuN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAE83P,cAAR;AAAwBluN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,EAAgC,CAAC,EAAD,EAAK,oBAAL,EAA2B,EAA3B,CAAhC,CAAnC;AAAoGqtB,eAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ;AAA/G,KAAzB,CAAtB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBwrP,cAAzB,EAAyC,CAAC;AACpG93P,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,2CADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF8F,OAAD,CAAzC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIMmhN,c;;;;AAENA,kBAAc,CAAChsP,IAAf,GAAsB,SAASisP,sBAAT,CAAgC/rP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAI8rP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACruN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAEg4P,cAAR;AAAwBpuN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,EAAgC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAhC,CAAnC;AAAmGqtB,eAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ;AAA9G,KAAzB,CAAtB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0rP,cAAzB,EAAyC,CAAC;AACpGh4P,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,0CADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF8F,OAAD,CAAzC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIMqhN,c;;;;AAENA,kBAAc,CAAClsP,IAAf,GAAsB,SAASmsP,sBAAT,CAAgCjsP,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAIgsP,cAAV,GAAP;AAAqC,KAAhG;;AACAA,kBAAc,CAACvuN,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAEk4P,cAAR;AAAwBtuN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,EAAgC,CAAC,EAAD,EAAK,oBAAL,EAA2B,EAA3B,CAAhC,CAAnC;AAAoGqtB,eAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ;AAA/G,KAAzB,CAAtB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB4rP,cAAzB,EAAyC,CAAC;AACpGl4P,YAAI,EAAE,uDAD8F;AAEpGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,2CADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF8F,OAAD,CAAzC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;QAIMuhN,a;;;;AAENA,iBAAa,CAACpsP,IAAd,GAAqB,SAASqsP,qBAAT,CAA+BnsP,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIksP,aAAV,GAAP;AAAoC,KAA7F;;AACAA,iBAAa,CAACzuN,IAAd,GAAqB,gEAAyB;AAAE3pC,UAAI,EAAEo4P,aAAR;AAAuBxuN,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,EAA8B,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAA9B,CAAlC;AAA4FqtB,eAAS,EAAE,CAAC,CAAD,EAAI,iBAAJ;AAAvG,KAAzB,CAArB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB8rP,aAAzB,EAAwC,CAAC;AACnGp4P,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,oCADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAF6F,OAAD,CAAxC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;;;;;;;;QAWMyhN,O,GACF;AACA,qBAAYpD,cAAZ,EAA4B;AAAA;;AACxB,WAAKA,cAAL,GAAsBA,cAAtB;AACH,K;;AAELoD,WAAO,CAACtsP,IAAR,GAAe,SAASusP,eAAT,CAAyBrsP,CAAzB,EAA4B;AAAE,aAAO,KAAKA,CAAC,IAAIosP,OAAV,EAAmB,gEAAyB,0FAAzB,EAAgD,CAAhD,CAAnB,CAAP;AAAgF,KAA7H;;AACAA,WAAO,CAAC5rK,IAAR,GAAe,gEAAyB;AAAE1sF,UAAI,EAAEs4P,OAAR;AAAiB1uN,eAAS,EAAE,CAAC,CAAC,UAAD,CAAD,CAA5B;AAA4CqtB,eAAS,EAAE,CAAC,CAAD,EAAI,UAAJ,EAAgB,qBAAhB,CAAvD;AAA+FxgB,cAAQ,EAAE,CAAzG;AAA4GC,kBAAY,EAAE,SAAS8hN,oBAAT,CAA8B5hN,EAA9B,EAAkC76B,GAAlC,EAAuC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC/M,oEAAmB,yBAAnB,EAA8C76B,GAAG,CAACm5O,cAAJ,KAAuB,gBAArE;AACH;AAAE,OAFiC;AAE/BprN,cAAQ,EAAE,CAAC,SAAD,CAFqB;AAERgjD,wBAAkB,EAAE7H,GAFZ;AAEiB8H,WAAK,EAAE,CAFxB;AAE2BC,UAAI,EAAE,CAFjC;AAEoChpC,cAAQ,EAAE,SAASy0M,gBAAT,CAA0B7hN,EAA1B,EAA8B76B,GAA9B,EAAmC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC/H,wEAAuBouC,GAAvB;;AACA,qEAAoB,CAApB;;AACA,qEAAoB,CAApB,EAAuB,CAAvB;AACH;AAAE,OANiC;AAM/B5kF,YAAM,EAAE,CAAC,wuFAAD,CANuB;AAMqtF+sF,mBAAa,EAAE,CANpuF;AAMuuFC,qBAAe,EAAE;AANxvF,KAAzB,CAAf;;AAOAkrK,WAAO,CAAC34N,cAAR,GAAyB;AAAA,aAAM,CAC3B;AAAE3/B,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,0FAAD;AAAtB,SAArB;AAA5B,OAD2B,CAAN;AAAA,KAAzB;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBgsP,OAAzB,EAAkC,CAAC;AAC7Ft4P,YAAI,EAAE,uDADuF;AAE7FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,UADX;AAEC0oC,kBAAQ,EAAE,SAFX;AAGCka,kBAAQ,EAAE,mFAHX;AAICmpC,uBAAa,EAAE,gEAAkBE,IAJlC;AAKCD,yBAAe,EAAE,sEAAwBE,MAL1C;AAMCz2C,cAAI,EAAE;AACF,qBAAS,8BADP;AAEF,+CAAmC;AAFjC,WANP;AAUCz2C,gBAAM,EAAE,CAAC,wuFAAD;AAVT,SAAD;AAFuF,OAAD,CAAlC,EAc1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC3C5/B,gBAAI,EAAE;AADqC,WAAD,EAE3C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,0FAAD;AAFP,WAF2C;AAA5B,SAAD,CAAP;AAKF,OAnB8C,EAmB5C,IAnB4C,CAAnD;AAmBe,KAnB9B;AAoBA;;;;;;;QAKMyyO,a;;;;AAENA,iBAAa,CAAC1sP,IAAd,GAAqB,SAAS2sP,qBAAT,CAA+BzsP,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAIwsP,aAAV,GAAP;AAAoC,KAA7F;;AACAA,iBAAa,CAAChsK,IAAd,GAAqB,gEAAyB;AAAE1sF,UAAI,EAAE04P,aAAR;AAAuB9uN,eAAS,EAAE,CAAC,CAAC,iBAAD,CAAD,CAAlC;AAAyDqtB,eAAS,EAAE,CAAC,CAAD,EAAI,iBAAJ,CAApE;AAA4F61B,wBAAkB,EAAE6pK,GAAhH;AAAqH5pK,WAAK,EAAE,CAA5H;AAA+HC,UAAI,EAAE,CAArI;AAAwIC,YAAM,EAAE,CAAC,CAAC,CAAD,EAAI,sBAAJ,CAAD,CAAhJ;AAA+KjpC,cAAQ,EAAE,SAAS40M,sBAAT,CAAgChiN,EAAhC,EAAoC76B,GAApC,EAAyC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACtR,wEAAuBg+M,GAAvB;;AACA,qEAAoB,CAApB;;AACA,uEAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;;AACA,qEAAoB,CAApB,EAAuB,CAAvB;;AACA;;AACA,qEAAoB,CAApB,EAAuB,CAAvB;AACH;AAAE,OAPuC;AAOrCznK,mBAAa,EAAE,CAPsB;AAOnBC,qBAAe,EAAE;AAPE,KAAzB,CAArB;;AAQA,KAAC,YAAY;AAAE,OAAC,OAAO9gF,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBosP,aAAzB,EAAwC,CAAC;AACnG14P,YAAI,EAAE,uDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,iBADX;AAEC4iD,kBAAQ,EAAE,6TAFX;AAGCmpC,uBAAa,EAAE,gEAAkBE,IAHlC;AAICD,yBAAe,EAAE,sEAAwBE,MAJ1C;AAKCz2C,cAAI,EAAE;AAAE,qBAAS;AAAX;AALP,SAAD;AAF6F,OAAD,CAAxC,EAS1D,IAT0D,EASpD,IAToD,CAAnD;AASO,KATtB;AAUA;;;;;;;QAKMgiN,iB;;;;AAENA,qBAAiB,CAAC7sP,IAAlB,GAAyB,SAAS8sP,yBAAT,CAAmC5sP,CAAnC,EAAsC;AAAE,aAAO,KAAKA,CAAC,IAAI2sP,iBAAV,GAAP;AAAwC,KAAzG;;AACAA,qBAAiB,CAACnsK,IAAlB,GAAyB,gEAAyB;AAAE1sF,UAAI,EAAE64P,iBAAR;AAA2BjvN,eAAS,EAAE,CAAC,CAAC,sBAAD,CAAD,CAAtC;AAAkEqtB,eAAS,EAAE,CAAC,CAAD,EAAI,sBAAJ,CAA7E;AAA0G61B,wBAAkB,EAAE+pK,GAA9H;AAAmI9pK,WAAK,EAAE,CAA1I;AAA6IC,UAAI,EAAE,CAAnJ;AAAsJhpC,cAAQ,EAAE,SAAS+0M,0BAAT,CAAoCniN,EAApC,EAAwC76B,GAAxC,EAA6C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACrQ,wEAAuBggN,GAAvB;;AACA,uEAAsB,CAAtB,EAAyB,KAAzB;;AACA,qEAAoB,CAApB;;AACA;;AACA,qEAAoB,CAApB,EAAuB,CAAvB;;AACA,qEAAoB,CAApB,EAAuB,CAAvB;AACH;AAAE,OAP2C;AAOzCzpK,mBAAa,EAAE,CAP0B;AAOvBC,qBAAe,EAAE;AAPM,KAAzB,CAAzB;;AAQA,KAAC,YAAY;AAAE,OAAC,OAAO9gF,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBusP,iBAAzB,EAA4C,CAAC;AACvG74P,YAAI,EAAE,uDADiG;AAEvGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,sBADX;AAEC4iD,kBAAQ,EAAE,+PAFX;AAGCmpC,uBAAa,EAAE,gEAAkBE,IAHlC;AAICD,yBAAe,EAAE,sEAAwBE,MAJ1C;AAKCz2C,cAAI,EAAE;AAAE,qBAAS;AAAX;AALP,SAAD;AAFiG,OAAD,CAA5C,EAS1D,IAT0D,EASpD,IAToD,CAAnD;AASO,KATtB;AAWA;;;;;;;;;QAOMmiN,a;;;;AAENA,iBAAa,CAAChtP,IAAd,GAAqB,SAASitP,qBAAT,CAA+B/sP,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAI8sP,aAAV,GAAP;AAAoC,KAA7F;;AACAA,iBAAa,CAACzlN,IAAd,GAAqB,+DAAwB;AAAEvzC,UAAI,EAAEg5P;AAAR,KAAxB,CAArB;AACAA,iBAAa,CAACxlN,IAAd,GAAqB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAAC,sEAAD,CAAD,EAAoB,sEAApB;AAAX,KAAxB,CAArB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BslN,aAA1B,EAAyC;AAAErlN,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAAC2kN,OAAD,EAAUI,aAAV,EAAyBG,iBAAzB,EAA4C/B,cAA5C,EAA4DE,YAA5D,EAA0EE,eAA1E,EAA2FE,cAA3F,EAA2GI,aAA3G,EAA0HI,cAA1H,EAA0IE,cAA1I,EAA0JE,cAA1J,EAA0KN,YAA1K,EAAwLQ,cAAxL,EAAwME,aAAxM,CAAP;AAAgO,SAA9P;AAAgQ3kN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,sEAAD,CAAP;AAA2B,SAAlT;AAAoTG,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC0kN,OAAD,EAAUI,aAAV,EAAyBG,iBAAzB,EAA4C/B,cAA5C,EAA4DE,YAA5D,EAA0EE,eAA1E,EAA2FE,cAA3F,EAA2GI,aAA3G,EAA0HI,cAA1H,EAA0IE,cAA1I,EAA0JE,cAA1J,EAA0KN,YAA1K,EAAwLQ,cAAxL,EAAwME,aAAxM,EAAuN,sEAAvN,CAAP;AAAiP;AAA5jB,OAAzC,CAAnD;AAA8pB,KAA7qB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO9rP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0sP,aAAzB,EAAwC,CAAC;AACnGh5P,YAAI,EAAE,sDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAAC,sEAAD,CADV;AAECG,iBAAO,EAAE,CACL0kN,OADK,EAELI,aAFK,EAGLG,iBAHK,EAIL/B,cAJK,EAKLE,YALK,EAMLE,eANK,EAOLE,cAPK,EAQLI,aARK,EASLI,cATK,EAULE,cAVK,EAWLE,cAXK,EAYLN,YAZK,EAaLQ,cAbK,EAcLE,aAdK,EAeL,sEAfK,CAFV;AAmBCzkN,sBAAY,EAAE,CACV2kN,OADU,EACDI,aADC,EACcG,iBADd,EACiC/B,cADjC,EACiDE,YADjD,EAC+DE,eAD/D,EAEVE,cAFU,EAEMI,aAFN,EAEqBI,cAFrB,EAEqCE,cAFrC,EAEqDE,cAFrD,EAEqEN,YAFrE,EAGVQ,cAHU,EAGME,aAHN;AAnBf,SAAD;AAF6F,OAAD,CAAxC,EA2B1D,IA3B0D,EA2BpD,IA3BoD,CAAnD;AA2BO,KA3BtB;AA6BA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACxWA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAQA;;;;;;;;AAOA;;;AAMA,QAAMpzK,GAAG,GAAG,CAAC,OAAD,CAAZ;;AACA,QAAMC,GAAG,GAAG,SAANA,GAAM,GAAY;AAAE,aAAO;AAAEi0K,qBAAa,EAAE;AAAjB,OAAP;AAAgC,KAA1D;;AACA,QAAMtE,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,QAAMuE,4BAA4B,GAAG,IAAI,4DAAJ,CAAmB,8BAAnB,EAAmD;AACpFz5N,gBAAU,EAAE,MADwE;AAEpFrzB,aAAO,EAAE+sP;AAF2E,KAAnD,CAArC;AAIA;;AACA,aAASA,oCAAT,GAAgD;AAC5C,aAAO;AACH7D,aAAK,EAAE,QADJ;AAEH8D,mBAAW,EAAE;AAFV,OAAP;AAIH;AAED;;;;;;;AAOA;;;AACA,QAAI9+K,YAAY,GAAG,CAAnB,C,CACA;;AACA,QAAM++K,QAAQ,GAAGF,oCAAoC,EAArD;AACA;;;;;;AAKA,QAAMG,mCAAmC,GAAG;AACxCplN,aAAO,EAAE,gEAD+B;AAExCC,iBAAW,EAAE,iEAAW;AAAA,eAAMolN,WAAN;AAAA,OAAX,CAF2B;AAGxClwP,WAAK,EAAE;AAHiC,KAA5C;AAKA;;QACMmwP,iB;;OAEN;;AACA;;;QACMC,e,GACF,yBAAY/wN,WAAZ,EAAyB;AAAA;;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH,K;;AAEL,QAAMgxN,qBAAqB,GAAG,6EAAc,0EAAW,kFAAmB,6EAAcD,eAAd,CAAnB,CAAX,CAAd,CAA9B;AACA;;;;;;;;;;QAQMF,W;;;;;;;AACF,2BAAYn/K,UAAZ,EAAwB5lC,kBAAxB,EAA4C1C,aAA5C,EAA2D1L,OAA3D,EAAoEtB,QAApE,EAA8EmwN,cAA9E,EAA8F5sJ,QAA9F,EAAwG;AAAA;;AAAA;;AACpG,uCAAMjuB,UAAN;AACA,iBAAK5lC,kBAAL,GAA0BA,kBAA1B;AACA,iBAAK1C,aAAL,GAAqBA,aAArB;AACA,iBAAK1L,OAAL,GAAeA,OAAf;AACA,iBAAK6uN,cAAL,GAAsBA,cAAtB;AACA,iBAAK5sJ,QAAL,GAAgBA,QAAhB;AACA;;;;;AAIA,iBAAKhpE,SAAL,GAAiB,EAAjB;AACA;;;;AAGA,iBAAKqzD,cAAL,GAAsB,IAAtB;AACA,iBAAKinK,SAAL,0BAAiC,EAAEr/K,YAAnC;AACA;;AACA,iBAAK5xE,EAAL,GAAU,SAAKixP,SAAf;AACA;;AACA,iBAAKC,aAAL,GAAqB,OAArB;AACA;;AACA,iBAAK/5P,IAAL,GAAY,IAAZ;AACA;;AACA,iBAAK6gC,MAAL,GAAc,IAAI,0DAAJ,EAAd;AACA;;AACA,iBAAKm5N,mBAAL,GAA2B,IAAI,0DAAJ,EAA3B;AACA;;;;;AAIA,iBAAKjI,UAAL,GAAkB,YAAM,CAAG,CAA3B;;AACA,iBAAKkI,sBAAL,GAA8B,EAA9B;AACA,iBAAKC,kBAAL,GAA0B;AAAE;AAA5B;;AACA,iBAAKpI,6BAAL,GAAqC,YAAM,CAAG,CAA9C;;AACA,iBAAK2B,QAAL,GAAgB,KAAhB;AACA,iBAAKv+M,SAAL,GAAiB,KAAjB;AACA,iBAAKilN,cAAL,GAAsB,KAAtB;AACA,iBAAK3xJ,QAAL,GAAgB,SAAKA,QAAL,IAAiBgxJ,QAAjC;AACA,iBAAK/D,KAAL,GAAa,SAAK2E,YAAL,GAAoB,SAAK5xJ,QAAL,CAAcitJ,KAAd,IAAuB+D,QAAQ,CAAC/D,KAAjE;AACA,iBAAKxwN,QAAL,GAAgBgB,QAAQ,CAAChB,QAAD,CAAR,IAAsB,CAAtC;AAxCoG;AAyCvG;AACD;;;;;aACA,eAAc;AAAE,2BAAU,KAAKp8B,EAAL,IAAW,KAAKixP,SAA1B;AAA8C;AAC9D;;;;aACA,eAAe;AAAE,iBAAO,KAAKnL,SAAZ;AAAwB,S;aACzC,aAAatmP,KAAb,EAAoB;AAAE,eAAKsmP,SAAL,GAAiB,oFAAsBtmP,KAAtB,CAAjB;AAAgD;;;eACtE,2BAAkB;AAAA;;AACd,eAAK4pC,aAAL,CAAmBG,OAAnB,CAA2B,KAAKvJ,WAAhC,EAA6C,IAA7C,EAAmD9H,SAAnD,CAA6D,UAAAs5N,WAAW,EAAI;AACxE,gBAAI,CAACA,WAAL,EAAkB;AACd;AACA;AACA;AACA;AACA;AACA34P,qBAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAM;AACzB,wBAAI,CAACmwP,UAAL;;AACA,wBAAI,CAACp9M,kBAAL,CAAwBa,YAAxB;AACH,eAHD;AAIH;AACJ,WAZD;;AAaA,eAAK8kN,kBAAL,CAAwB,KAAKH,cAA7B;AACH,S,CACD;;;;eACA,8BAAqB,CAAG;;;eACxB,uBAAc;AACV,eAAKloN,aAAL,CAAmBjB,cAAnB,CAAkC,KAAKnI,WAAvC;AACH;AACD;;;;;;aAGA,eAAc;AAAE,iBAAO,KAAK4qN,QAAZ;AAAuB,S;aACvC,aAAYprP,KAAZ,EAAmB;AACf,cAAIA,KAAK,IAAI,KAAKutO,OAAlB,EAA2B;AACvB,iBAAK6d,QAAL,GAAgBprP,KAAhB;;AACA,iBAAKssC,kBAAL,CAAwBa,YAAxB;AACH;AACJ;AACD;;;;;;;aAIA,eAAe;AAAE,iBAAO,KAAKN,SAAZ;AAAwB,S;aACzC,aAAa7sC,KAAb,EAAoB;AAChB,cAAMkwB,QAAQ,GAAG,oFAAsBlwB,KAAtB,CAAjB;;AACA,cAAIkwB,QAAQ,KAAK,KAAK7wB,QAAtB,EAAgC;AAC5B,iBAAKwtC,SAAL,GAAiB3c,QAAjB;;AACA,iBAAKoc,kBAAL,CAAwBa,YAAxB;AACH;AACJ;AACD;;;;;;;;;aAMA,eAAoB;AAAE,iBAAO,KAAK2kN,cAAZ;AAA6B,S;aACnD,aAAkB9xP,KAAlB,EAAyB;AACrB,cAAMyxC,OAAO,GAAGzxC,KAAK,IAAI,KAAK8xP,cAA9B;AACA,eAAKA,cAAL,GAAsB,oFAAsB9xP,KAAtB,CAAtB;;AACA,cAAIyxC,OAAJ,EAAa;AACT,gBAAI,KAAKqgN,cAAT,EAAyB;AACrB,mBAAKI,qBAAL,CAA2B;AAAE;AAA7B;AACH,aAFD,MAGK;AACD,mBAAKA,qBAAL,CAA2B,KAAK3kB,OAAL,GAAe;AAAE;AAAjB,gBAAiC;AAAE;AAA9D;AACH;;AACD,iBAAKokB,mBAAL,CAAyB3nN,IAAzB,CAA8B,KAAK8nN,cAAnC;AACH;;AACD,eAAKG,kBAAL,CAAwB,KAAKH,cAA7B;AACH;;;eACD,6BAAoB;AAChB,iBAAO,KAAK7F,aAAL,IAAsB,KAAK5sP,QAAlC;AACH;AACD;;;;eACA,8BAAqB;AACjB;AACA;AACA;AACA;AACA;AACA,eAAKitC,kBAAL,CAAwBqU,aAAxB;AACH,S,CACD;;;;eACA,oBAAW3gD,KAAX,EAAkB;AACd,eAAKutO,OAAL,GAAe,CAAC,CAACvtO,KAAjB;AACH,S,CACD;;;;eACA,0BAAiB3F,EAAjB,EAAqB;AACjB,eAAKovP,6BAAL,GAAqCpvP,EAArC;AACH,S,CACD;;;;eACA,2BAAkBA,EAAlB,EAAsB;AAClB,eAAKqvP,UAAL,GAAkBrvP,EAAlB;AACH,S,CACD;;;;eACA,0BAAiB0iC,UAAjB,EAA6B;AACzB,eAAK19B,QAAL,GAAgB09B,UAAhB;AACH;;;eACD,2BAAkB;AACd,cAAI,KAAKwwM,OAAT,EAAkB;AACd,mBAAO,MAAP;AACH;;AACD,iBAAO,KAAK4kB,aAAL,GAAqB,OAArB,GAA+B,OAAtC;AACH;;;eACD,+BAAsBC,QAAtB,EAAgC;AAC5B,cAAIC,QAAQ,GAAG,KAAKR,kBAApB;AACA,cAAIl0P,OAAO,GAAG,KAAK6iC,WAAL,CAAiBI,aAA/B;;AACA,cAAIyxN,QAAQ,KAAKD,QAAjB,EAA2B;AACvB;AACH;;AACD,cAAI,KAAKR,sBAAL,CAA4B72P,MAA5B,GAAqC,CAAzC,EAA4C;AACxC4C,mBAAO,CAACmuB,SAAR,CAAkBE,MAAlB,CAAyB,KAAK4lO,sBAA9B;AACH;;AACD,eAAKA,sBAAL,GAA8B,KAAKU,yCAAL,CAA+CD,QAA/C,EAAyDD,QAAzD,CAA9B;AACA,eAAKP,kBAAL,GAA0BO,QAA1B;;AACA,cAAI,KAAKR,sBAAL,CAA4B72P,MAA5B,GAAqC,CAAzC,EAA4C;AACxC4C,mBAAO,CAACmuB,SAAR,CAAkBte,GAAlB,CAAsB,KAAKokP,sBAA3B,EADwC,CAExC;;AACA,gBAAMW,cAAc,GAAG,KAAKX,sBAA5B;;AACA,iBAAK1zN,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC+D,wBAAU,CAAC,YAAM;AACbplC,uBAAO,CAACmuB,SAAR,CAAkBE,MAAlB,CAAyBumO,cAAzB;AACH,eAFS,EAEP,IAFO,CAAV;AAGH,aAJD;AAKH;AACJ;;;eACD,4BAAmB;AACf,cAAMtzP,KAAK,GAAG,IAAIqyP,iBAAJ,EAAd;AACAryP,eAAK,CAAC6nC,MAAN,GAAe,IAAf;AACA7nC,eAAK,CAACsuO,OAAN,GAAgB,KAAKA,OAArB;;AACA,eAAKkc,6BAAL,CAAmC,KAAKlc,OAAxC;;AACA,eAAK/0M,MAAL,CAAYwR,IAAZ,CAAiB/qC,KAAjB,EALe,CAMf;AACA;;AACA,cAAI,KAAKuzP,aAAT,EAAwB;AACpB,iBAAKA,aAAL,CAAmB5xN,aAAnB,CAAiC2sM,OAAjC,GAA2C,KAAKA,OAAhD;AACH;AACJ;AACD;;;;eACA,kBAAS;AACL,eAAKA,OAAL,GAAe,CAAC,KAAKA,OAArB;AACH;AACD;;;;;;;;;;eAOA,uBAActuO,KAAd,EAAqB;AAAA;;AACjB,cAAIg+B,EAAJ;;AACA,cAAMi0N,WAAW,GAAG,CAACj0N,EAAE,GAAG,KAAKkjE,QAAX,MAAyB,IAAzB,IAAiCljE,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACi0N,WAAjF,CAFiB,CAGjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACAjyP,eAAK,CAACq/C,eAAN,GAViB,CAWjB;;AACA,cAAI,CAAC,KAAKj/C,QAAN,IAAkB6xP,WAAW,KAAK,MAAtC,EAA8C;AAC1C;AACA,gBAAI,KAAKiB,aAAL,IAAsBjB,WAAW,KAAK,OAA1C,EAAmD;AAC/C73P,qBAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAM;AACzB,wBAAI,CAACu4P,cAAL,GAAsB,KAAtB;;AACA,wBAAI,CAACH,mBAAL,CAAyB3nN,IAAzB,CAA8B,QAAI,CAAC8nN,cAAnC;AACH,eAHD;AAIH;;AACD,iBAAKhI,MAAL;;AACA,iBAAKoI,qBAAL,CAA2B,KAAK9G,QAAL,GAAgB;AAAE;AAAlB,cAAkC;AAAE;AAA/D,cAT0C,CAU1C;AACA;AACA;;;AACA,iBAAKv5M,gBAAL;AACH,WAdD,MAeK,IAAI,CAAC,KAAKxyC,QAAN,IAAkB6xP,WAAW,KAAK,MAAtC,EAA8C;AAC/C;AACA;AACA,iBAAKsB,aAAL,CAAmB5xN,aAAnB,CAAiC2sM,OAAjC,GAA2C,KAAKA,OAAhD;AACA,iBAAKilB,aAAL,CAAmB5xN,aAAnB,CAAiCuxN,aAAjC,GAAiD,KAAKA,aAAtD;AACH;AACJ;AACD;;;;eACA,eAAM12N,MAAN,EAAc3jC,OAAd,EAAuB;AACnB,cAAI2jC,MAAJ,EAAY;AACR,iBAAKmO,aAAL,CAAmByjN,QAAnB,CAA4B,KAAKmF,aAAjC,EAAgD/2N,MAAhD,EAAwD3jC,OAAxD;AACH,WAFD,MAGK;AACD,iBAAK06P,aAAL,CAAmB5xN,aAAnB,CAAiClF,KAAjC,CAAuC5jC,OAAvC;AACH;AACJ;;;eACD,6BAAoBmH,KAApB,EAA2B;AACvB;AACA;AACA;AACAA,eAAK,CAACq/C,eAAN;AACH;;;eACD,mDAA0C+zM,QAA1C,EAAoDD,QAApD,EAA8D;AAC1D;AACA,cAAI,KAAKrF,cAAL,KAAwB,gBAA5B,EAA8C;AAC1C,mBAAO,EAAP;AACH;;AACD,cAAI0F,UAAU,GAAG,EAAjB;;AACA,kBAAQJ,QAAR;AACI,iBAAK;AAAE;AAAP;AACI;AACA;AACA,kBAAID,QAAQ,KAAK;AAAE;AAAnB,gBAAkC;AAC9BK,0BAAU,GAAG,mBAAb;AACH,eAFD,MAGK,IAAIL,QAAQ,IAAI;AAAE;AAAlB,gBAAuC;AACxCK,0BAAU,GAAG,yBAAb;AACH,eAFI,MAGA;AACD,uBAAO,EAAP;AACH;;AACD;;AACJ,iBAAK;AAAE;AAAP;AACIA,wBAAU,GAAGL,QAAQ,KAAK;AAAE;AAAf,gBACT,mBADS,GACa,yBAD1B;AAEA;;AACJ,iBAAK;AAAE;AAAP;AACIK,wBAAU,GAAGL,QAAQ,KAAK;AAAE;AAAf,gBACT,mBADS,GACa,uBAD1B;AAEA;;AACJ,iBAAK;AAAE;AAAP;AACIK,wBAAU,GAAGL,QAAQ,KAAK;AAAE;AAAf,gBACT,uBADS,GACiB,yBAD9B;AAEA;AAzBR;;AA2BA,6CAA4BK,UAA5B;AACH;AACD;;;;;;;;;;;eAQA,4BAAmBzyP,KAAnB,EAA0B;AACtB,cAAM0yP,cAAc,GAAG,KAAKF,aAA5B;;AACA,cAAIE,cAAJ,EAAoB;AAChBA,0BAAc,CAAC9xN,aAAf,CAA6BuxN,aAA7B,GAA6CnyP,KAA7C;AACH;AACJ;;;;MAhSqBwxP,qB;;AAkS1BH,eAAW,CAACxtP,IAAZ,GAAmB,SAAS8uP,mBAAT,CAA6B5uP,CAA7B,EAAgC;AAAE,aAAO,KAAKA,CAAC,IAAIstP,WAAV,EAAuB,gEAAyB,wDAAzB,CAAvB,EAAoE,gEAAyB,+DAAzB,CAApE,EAAwH,gEAAyB,8DAAzB,CAAxH,EAAuK,gEAAyB,oDAAzB,CAAvK,EAAgN,gEAAyB,UAAzB,CAAhN,EAAsP,gEAAyB,0FAAzB,EAAgD,CAAhD,CAAtP,EAA0S,gEAAyBL,4BAAzB,EAAuD,CAAvD,CAA1S,CAAP;AAA8W,KAAna;;AACAK,eAAW,CAAC9sK,IAAZ,GAAmB,gEAAyB;AAAE1sF,UAAI,EAAEw5P,WAAR;AAAqB5vN,eAAS,EAAE,CAAC,CAAC,cAAD,CAAD,CAAhC;AAAoD+iD,eAAS,EAAE,SAASouK,iBAAT,CAA2BnkN,EAA3B,EAA+B76B,GAA/B,EAAoC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACrJ,oEAAmBouC,GAAnB,EAAwB,CAAxB;;AACA,oEAAmB,gEAAnB,EAA8B,CAA9B;AACH;;AAAC,YAAIpuC,EAAE,GAAG,CAAT,EAAY;AACV,cAAIojB,EAAJ;;AACA,uEAAsBA,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAAC4+O,aAAJ,GAAoB3gM,EAAE,CAACC,KAA5E;AACA,uEAAsBD,EAAE,GAAG,2DAA3B,MAAqDj+C,GAAG,CAAC65O,MAAJ,GAAa57L,EAAE,CAACC,KAArE;AACH;AAAE,OAPqC;AAOnChD,eAAS,EAAE,CAAC,CAAD,EAAI,cAAJ,CAPwB;AAOHxgB,cAAQ,EAAE,EAPP;AAOWC,kBAAY,EAAE,SAASskN,wBAAT,CAAkCpkN,EAAlC,EAAsC76B,GAAtC,EAA2C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACtH,uEAAsB,IAAtB,EAA4B76B,GAAG,CAACpT,EAAhC;;AACA,oEAAmB,UAAnB,EAA+B,IAA/B;;AACA,oEAAmB,4BAAnB,EAAiDoT,GAAG,CAACu+O,aAArD,EAAoE,sBAApE,EAA4Fv+O,GAAG,CAAC25N,OAAhG,EAAyG,uBAAzG,EAAkI35N,GAAG,CAACvU,QAAtI,EAAgJ,2BAAhJ,EAA6KuU,GAAG,CAAC89O,aAAJ,IAAqB,QAAlM,EAA4M,yBAA5M,EAAuO99O,GAAG,CAACm5O,cAAJ,KAAuB,gBAA9P;AACH;AAAE,OAXqC;AAWnCrrN,YAAM,EAAE;AAAEuqN,qBAAa,EAAE,eAAjB;AAAkCmB,aAAK,EAAE,OAAzC;AAAkDxwN,gBAAQ,EAAE,UAA5D;AAAwEzF,iBAAS,EAAE,CAAC,YAAD,EAAe,WAAf,CAAnF;AAAgHqzD,sBAAc,EAAE,CAAC,iBAAD,EAAoB,gBAApB,CAAhI;AAAuKhqF,UAAE,EAAE,IAA3K;AAAiLkxP,qBAAa,EAAE,eAAhM;AAAiN/5P,YAAI,EAAE,MAAvN;AAA+N4uP,gBAAQ,EAAE,UAAzO;AAAqPhZ,eAAO,EAAE,SAA9P;AAAyQluO,gBAAQ,EAAE,UAAnR;AAA+R8yP,qBAAa,EAAE,eAA9S;AAA+TW,uBAAe,EAAE,CAAC,kBAAD,EAAqB,iBAArB,CAAhV;AAAyX9yP,aAAK,EAAE;AAAhY,OAX2B;AAWgXkqC,aAAO,EAAE;AAAE1R,cAAM,EAAE,QAAV;AAAoBm5N,2BAAmB,EAAE;AAAzC,OAXzX;AAW2bhwN,cAAQ,EAAE,CAAC,aAAD,CAXrc;AAWsdC,cAAQ,EAAE,CAAC,iEAA0B,CAACwvN,mCAAD,CAA1B,CAAD,EAAmE,wEAAnE,CAXhe;AAWukBzsK,wBAAkB,EAAE8nK,GAX3lB;AAWgmB7nK,WAAK,EAAE,EAXvmB;AAW2mBC,UAAI,EAAE,EAXjnB;AAWqnBC,YAAM,EAAE,CAAC,CAAC,CAAD,EAAI,qBAAJ,CAAD,EAA6B,CAAC,OAAD,EAAU,EAAV,CAA7B,EAA4C,CAAC,CAAD,EAAI,8BAAJ,CAA5C,EAAiF,CAAC,MAAD,EAAS,UAAT,EAAqB,CAArB,EAAwB,oBAAxB,EAA8C,qBAA9C,EAAqE,CAArE,EAAwE,IAAxE,EAA8E,UAA9E,EAA0F,SAA1F,EAAqG,UAArG,EAAiH,UAAjH,EAA6H,QAA7H,EAAuI,OAAvI,CAAjF,EAAkO,CAAC,OAAD,EAAU,EAAV,CAAlO,EAAiP,CAAC,WAAD,EAAc,EAAd,EAAkB,CAAlB,EAAqB,qBAArB,EAA4C,qBAA5C,EAAmE,CAAnE,EAAsE,kBAAtE,EAA0F,mBAA1F,EAA+G,iBAA/G,EAAkI,mBAAlI,EAAuJ,oBAAvJ,CAAjP,EAA+Z,CAAC,CAAD,EAAI,oBAAJ,EAA0B,gCAA1B,CAA/Z,EAA4d,CAAC,CAAD,EAAI,oBAAJ,CAA5d,EAAuf,CAAC,CAAD,EAAI,yBAAJ,CAAvf,EAAuhB,CAAC,SAAD,EAAY,KAAZ,EAAmB,WAAnB,EAAgC,OAAhC,EAAyC,SAAzC,EAAoD,WAApD,EAAiE,CAAjE,EAAoE,KAApE,EAA2E,OAA3E,EAAoF,UAApF,EAAgG,CAAhG,EAAmG,wBAAnG,CAAvhB,EAAqpB,CAAC,MAAD,EAAS,MAAT,EAAiB,QAAjB,EAA2B,OAA3B,EAAoC,GAApC,EAAyC,2BAAzC,EAAsE,CAAtE,EAAyE,6BAAzE,CAArpB,EAA8vB,CAAC,CAAD,EAAI,wBAAJ,CAA9vB,EAA6xB,CAAC,CAAD,EAAI,oBAAJ,EAA0B,CAA1B,EAA6B,mBAA7B,CAA7xB,EAAg1B,CAAC,eAAD,EAAkB,EAAlB,CAAh1B,EAAu2B,CAAC,CAAD,EAAI,SAAJ,EAAe,MAAf,CAAv2B,CAX7nB;AAW6/CjpC,cAAQ,EAAE,SAASk3M,oBAAT,CAA8BtkN,EAA9B,EAAkC76B,GAAlC,EAAuC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAChmD;;AACA,uEAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC,EAAqC,CAArC;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,uEAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC,EAAqC,CAArC;;AACA,mEAAkB,QAAlB,EAA4B,SAASukN,4CAAT,CAAsD1lB,MAAtD,EAA8D;AAAE,mBAAO15N,GAAG,CAACq/O,mBAAJ,CAAwB3lB,MAAxB,CAAP;AAAyC,WAArI,EAAuI,OAAvI,EAAgJ,SAAS4lB,2CAAT,CAAqD5lB,MAArD,EAA6D;AAAE,mBAAO15N,GAAG,CAACu/O,aAAJ,CAAkB7lB,MAAlB,CAAP;AAAmC,WAAlP;;AACA;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;;AACA;;AACA,kEAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA;;AACA,uEAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;;AACA,kEAAiB,EAAjB,EAAqB,MAArB,EAA6B,EAA7B;;AACA;;AACA;;AACA,kEAAiB,EAAjB,EAAqB,MAArB,EAA6B,EAA7B;;AACA;;AACA;;AACA,uEAAsB,EAAtB,EAA0B,MAA1B,EAAkC,EAAlC,EAAsC,EAAtC;;AACA,mEAAkB,mBAAlB,EAAuC,SAAS8lB,uDAAT,GAAmE;AAAE,mBAAOx/O,GAAG,CAACy/O,kBAAJ,EAAP;AAAkC,WAA9I;;AACA,uEAAsB,EAAtB,EAA0B,MAA1B,EAAkC,EAAlC;;AACA,+DAAc,EAAd,EAAkB,MAAlB;;AACA;;AACA,qEAAoB,EAApB;;AACA;;AACA;AACH;;AAAC,YAAI5kN,EAAE,GAAG,CAAT,EAAY;AACV,cAAM49M,GAAG,GAAG,0DAAmB,CAAnB,CAAZ;;AACA,cAAMiH,GAAG,GAAG,0DAAmB,EAAnB,CAAZ;;AACA,oEAAmB,KAAnB,EAA0B1/O,GAAG,CAAC2/O,OAA9B;;AACA,kEAAiB,CAAjB;;AACA,oEAAmB,6CAAnB,EAAkE,CAACD,GAAG,CAACjhO,WAAL,IAAoB,CAACihO,GAAG,CAACjhO,WAAJ,CAAgBtY,IAAhB,EAAvF;;AACA,kEAAiB,CAAjB;;AACA,mEAAkB,IAAlB,EAAwBnG,GAAG,CAAC2/O,OAA5B,EAAqC,UAArC,EAAiD3/O,GAAG,CAAC2yO,QAArD,EAA+D,SAA/D,EAA0E3yO,GAAG,CAAC25N,OAA9E,EAAuF,UAAvF,EAAmG35N,GAAG,CAACvU,QAAvG,EAAiH,UAAjH,EAA6HuU,GAAG,CAACgpB,QAAjI;;AACA,oEAAmB,OAAnB,EAA4BhpB,GAAG,CAAC5T,KAAhC,EAAuC,MAAvC,EAA+C4T,GAAG,CAACjc,IAAnD,EAAyD,YAAzD,EAAuEic,GAAG,CAACujB,SAAJ,IAAiB,IAAxF,EAA8F,iBAA9F,EAAiHvjB,GAAG,CAAC42E,cAArH,EAAqI,cAArI,EAAqJ52E,GAAG,CAAC4/O,eAAJ,EAArJ,EAA4K,kBAA5K,EAAgM5/O,GAAG,CAACk/O,eAApM;;AACA,kEAAiB,CAAjB;;AACA,mEAAkB,kBAAlB,EAAsCzG,GAAtC,EAA2C,mBAA3C,EAAgEz4O,GAAG,CAACg6O,iBAAJ,EAAhE,EAAyF,iBAAzF,EAA4G,EAA5G,EAAgH,mBAAhH,EAAqI,IAArI,EAA2I,oBAA3I,EAAiK,8DAAuB,EAAvB,EAA2B9wK,GAA3B,CAAjK;AACH;AAAE,OAlDqC;AAkDnC8V,gBAAU,EAAE,CAAC,gEAAD,EAAmB,wEAAnB,CAlDuB;AAkDuB36F,YAAM,EAAE,CAAC,24NAAD,CAlD/B;AAkD86N+sF,mBAAa,EAAE,CAlD77N;AAkDg8NC,qBAAe,EAAE;AAlDj9N,KAAzB,CAAnB;;AAmDAosK,eAAW,CAAC75N,cAAZ,GAA6B;AAAA,aAAM,CAC/B;AAAE3/B,YAAI,EAAE;AAAR,OAD+B,EAE/B;AAAEA,YAAI,EAAE;AAAR,OAF+B,EAG/B;AAAEA,YAAI,EAAE;AAAR,OAH+B,EAI/B;AAAEA,YAAI,EAAE;AAAR,OAJ+B,EAK/B;AAAEA,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,uDAAR;AAAmBimB,cAAI,EAAE,CAAC,UAAD;AAAzB,SAAD;AAA5B,OAL+B,EAM/B;AAAEjmB,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,0FAAD;AAAtB,SAArB;AAA5B,OAN+B,EAO/B;AAAEjmB,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACkzO,4BAAD;AAAtB,SAArB;AAA/B,OAP+B,CAAN;AAAA,KAA7B;;AASAK,eAAW,CAACxvN,cAAZ,GAA6B;AACzB1K,eAAS,EAAE,CAAC;AAAEt/B,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,YAAD;AAArB,OAAD,CADc;AAEzB0sE,oBAAc,EAAE,CAAC;AAAE3yF,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CAFS;AAGzBg1O,qBAAe,EAAE,CAAC;AAAEj7P,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,kBAAD;AAArB,OAAD,CAHQ;AAIzBtd,QAAE,EAAE,CAAC;AAAE3I,YAAI,EAAE;AAAR,OAAD,CAJqB;AAKzB0uP,cAAQ,EAAE,CAAC;AAAE1uP,YAAI,EAAE;AAAR,OAAD,CALe;AAMzB65P,mBAAa,EAAE,CAAC;AAAE75P,YAAI,EAAE;AAAR,OAAD,CANU;AAOzBF,UAAI,EAAE,CAAC;AAAEE,YAAI,EAAE;AAAR,OAAD,CAPmB;AAQzB2gC,YAAM,EAAE,CAAC;AAAE3gC,YAAI,EAAE;AAAR,OAAD,CARiB;AASzB85P,yBAAmB,EAAE,CAAC;AAAE95P,YAAI,EAAE;AAAR,OAAD,CATI;AAUzBmI,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE;AAAR,OAAD,CAVkB;AAWzB26P,mBAAa,EAAE,CAAC;AAAE36P,YAAI,EAAE,uDAAR;AAAmBimB,YAAI,EAAE,CAAC,OAAD;AAAzB,OAAD,CAXU;AAYzB2vO,YAAM,EAAE,CAAC;AAAE51P,YAAI,EAAE,uDAAR;AAAmBimB,YAAI,EAAE,CAAC,gEAAD;AAAzB,OAAD,CAZiB;AAazByvN,aAAO,EAAE,CAAC;AAAE11O,YAAI,EAAE;AAAR,OAAD,CAbgB;AAczBwH,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE;AAAR,OAAD,CAde;AAezBs6P,mBAAa,EAAE,CAAC;AAAEt6P,YAAI,EAAE;AAAR,OAAD;AAfU,KAA7B;;AAiBA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBktP,WAAzB,EAAsC,CAAC;AACjGx5P,YAAI,EAAE,uDAD2F;AAEjGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,cADX;AAEC4iD,kBAAQ,EAAE,omEAFX;AAGCla,kBAAQ,EAAE,aAHX;AAIC+M,cAAI,EAAE;AACF,qBAAS,cADP;AAEF,oBAAQ,IAFN;AAGF,+BAAmB,MAHjB;AAIF,kDAAsC,eAJpC;AAKF,4CAAgC,SAL9B;AAMF,6CAAiC,UAN/B;AAOF,iDAAqC,2BAPnC;AAQF;AARE,WAJP;AAcCxC,mBAAS,EAAE,CAACklN,mCAAD,CAdZ;AAeC1vN,gBAAM,EAAE,CAAC,eAAD,EAAkB,OAAlB,EAA2B,UAA3B,CAfT;AAgBCsjD,uBAAa,EAAE,gEAAkBE,IAhBlC;AAiBCD,yBAAe,EAAE,sEAAwBE,MAjB1C;AAkBCltF,gBAAM,EAAE,CAAC,24NAAD;AAlBT,SAAD;AAF2F,OAAD,CAAtC,EAsB1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAAkE;AAAEA,cAAI,EAAE;AAAR,SAAlE,EAAiG;AAAEA,cAAI,EAAE;AAAR,SAAjG,EAA0H;AAAEA,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AACpK5/B,gBAAI,EAAE,uDAD8J;AAEpKimB,gBAAI,EAAE,CAAC,UAAD;AAF8J,WAAD;AAA5B,SAA1H,EAGX;AAAEjmB,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC/B5/B,gBAAI,EAAE;AADyB,WAAD,EAE/B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,0FAAD;AAFP,WAF+B;AAA5B,SAHW,EAQX;AAAEjmB,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE;AAD4B,WAAD,EAElC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACkzO,4BAAD;AAFP,WAFkC;AAA/B,SARW,CAAP;AAaF,OAnC8C,EAmC5C;AAAE75N,iBAAS,EAAE,CAAC;AACxBt/B,cAAI,EAAE,mDADkB;AAExBimB,cAAI,EAAE,CAAC,YAAD;AAFkB,SAAD,CAAb;AAGV0sE,sBAAc,EAAE,CAAC;AACjB3yF,cAAI,EAAE,mDADW;AAEjBimB,cAAI,EAAE,CAAC,iBAAD;AAFW,SAAD,CAHN;AAMVtd,UAAE,EAAE,CAAC;AACL3I,cAAI,EAAE;AADD,SAAD,CANM;AAQV65P,qBAAa,EAAE,CAAC;AAChB75P,cAAI,EAAE;AADU,SAAD,CARL;AAUVF,YAAI,EAAE,CAAC;AACPE,cAAI,EAAE;AADC,SAAD,CAVI;AAYV2gC,cAAM,EAAE,CAAC;AACT3gC,cAAI,EAAE;AADG,SAAD,CAZE;AAcV85P,2BAAmB,EAAE,CAAC;AACtB95P,cAAI,EAAE;AADgB,SAAD,CAdX;AAgBV0uP,gBAAQ,EAAE,CAAC;AACX1uP,cAAI,EAAE;AADK,SAAD,CAhBA;AAkBV01O,eAAO,EAAE,CAAC;AACV11O,cAAI,EAAE;AADI,SAAD,CAlBC;AAoBVwH,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE;AADK,SAAD,CApBA;AAsBVs6P,qBAAa,EAAE,CAAC;AAChBt6P,cAAI,EAAE;AADU,SAAD,CAtBL;AAwBVi7P,uBAAe,EAAE,CAAC;AAClBj7P,cAAI,EAAE,mDADY;AAElBimB,cAAI,EAAE,CAAC,kBAAD;AAFY,SAAD,CAxBP;AA2BV9d,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE;AADE,SAAD,CA3BG;AA6BV26P,qBAAa,EAAE,CAAC;AAChB36P,cAAI,EAAE,uDADU;AAEhBimB,cAAI,EAAE,CAAC,OAAD;AAFU,SAAD,CA7BL;AAgCV2vO,cAAM,EAAE,CAAC;AACT51P,cAAI,EAAE,uDADG;AAETimB,cAAI,EAAE,CAAC,gEAAD;AAFG,SAAD;AAhCE,OAnC4C,CAAnD;AAsEC,KAtEhB;AAwEA;;;;;;;;;AAOA,QAAM21O,+BAA+B,GAAG;AACpCznN,aAAO,EAAE,4DAD2B;AAEpCC,iBAAW,EAAE,iEAAW;AAAA,eAAMynN,4BAAN;AAAA,OAAX,CAFuB;AAGpCvyP,WAAK,EAAE;AAH6B,KAAxC;AAKA;;;;;;QAKMuyP,4B;;;;;;;;;;;;;;MAAqC,wE;;AAE3CA,gCAA4B,CAAC7vP,IAA7B,GAAoC,SAAS8vP,oCAAT,CAA8C5vP,CAA9C,EAAiD;AAAE,aAAO6vP,yCAAyC,CAAC7vP,CAAC,IAAI2vP,4BAAN,CAAhD;AAAsF,KAA7K;;AACAA,gCAA4B,CAAClyN,IAA7B,GAAoC,gEAAyB;AAAE3pC,UAAI,EAAE67P,4BAAR;AAAsCjyN,eAAS,EAAE,CAAC,CAAC,cAAD,EAAiB,UAAjB,EAA6B,EAA7B,EAAiC,iBAAjC,EAAoD,EAApD,CAAD,EAA0D,CAAC,cAAD,EAAiB,UAAjB,EAA6B,EAA7B,EAAiC,aAAjC,EAAgD,EAAhD,CAA1D,EAA+G,CAAC,cAAD,EAAiB,UAAjB,EAA6B,EAA7B,EAAiC,SAAjC,EAA4C,EAA5C,CAA/G,CAAjD;AAAkNG,cAAQ,EAAE,CAAC,iEAA0B,CAAC6xN,+BAAD,CAA1B,CAAD,EAA+D,wEAA/D;AAA5N,KAAzB,CAApC;;AACA,QAAMG,yCAAyC;AAAG;AAAc,wEAA6BF,4BAA7B,CAAhE;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOvvP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBuvP,4BAAzB,EAAuD,CAAC;AAClH77P,YAAI,EAAE,uDAD4G;AAElHimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,+HADT;AAGCizC,mBAAS,EAAE,CAACunN,+BAAD;AAHZ,SAAD;AAF4G,OAAD,CAAvD,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAOA;;;QACMI,mC;;;;AAENA,uCAAmC,CAAChwP,IAApC,GAA2C,SAASiwP,2CAAT,CAAqD/vP,CAArD,EAAwD;AAAE,aAAO,KAAKA,CAAC,IAAI8vP,mCAAV,GAAP;AAA0D,KAA/J;;AACAA,uCAAmC,CAACzoN,IAApC,GAA2C,+DAAwB;AAAEvzC,UAAI,EAAEg8P;AAAR,KAAxB,CAA3C;AACAA,uCAAmC,CAACxoN,IAApC,GAA2C,+DAAwB,EAAxB,CAA3C;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BsoN,mCAA1B,EAA+D;AAAEroN,oBAAY,EAAE,CAACkoN,4BAAD,CAAhB;AAAgDjoN,eAAO,EAAE,CAACioN,4BAAD;AAAzD,OAA/D,CAAnD;AAA+M,KAA9N;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOvvP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB0vP,mCAAzB,EAA8D,CAAC;AACzHh8P,YAAI,EAAE,sDADmH;AAEzHimB,YAAI,EAAE,CAAC;AACC2tB,iBAAO,EAAE,CAACioN,4BAAD,CADV;AAECloN,sBAAY,EAAE,CAACkoN,4BAAD;AAFf,SAAD;AAFmH,OAAD,CAA9D,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;;QAOMK,iB;;;;AAENA,qBAAiB,CAAClwP,IAAlB,GAAyB,SAASmwP,yBAAT,CAAmCjwP,CAAnC,EAAsC;AAAE,aAAO,KAAKA,CAAC,IAAIgwP,iBAAV,GAAP;AAAwC,KAAzG;;AACAA,qBAAiB,CAAC3oN,IAAlB,GAAyB,+DAAwB;AAAEvzC,UAAI,EAAEk8P;AAAR,KAAxB,CAAzB;AACAA,qBAAiB,CAAC1oN,IAAlB,GAAyB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CACjD,sEADiD,EAChC,sEADgC,EACf,sEADe,EAEjDuoN,mCAFiD,CAAD,EAGjD,sEAHiD,EAGhCA,mCAHgC;AAAX,KAAxB,CAAzB;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOtoN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BwoN,iBAA1B,EAA6C;AAAEvoN,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAAC6lN,WAAD,CAAP;AAAuB,SAArD;AAAuD/lN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,sEAAD,EAAkB,sEAAlB,EAAmC,sEAAnC,EAAoDuoN,mCAApD,CAAP;AAAkG,SAAhL;AAAkLpoN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC4lN,WAAD,EAAc,sEAAd,EAA+BwC,mCAA/B,CAAP;AAA6E;AAAtR,OAA7C,CAAnD;AAA4X,KAA3Y;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO1vP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB4vP,iBAAzB,EAA4C,CAAC;AACvGl8P,YAAI,EAAE,sDADiG;AAEvGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CACL,sEADK,EACY,sEADZ,EAC6B,sEAD7B,EAELuoN,mCAFK,CADV;AAKCpoN,iBAAO,EAAE,CAAC4lN,WAAD,EAAc,sEAAd,EAA+BwC,mCAA/B,CALV;AAMCroN,sBAAY,EAAE,CAAC6lN,WAAD;AANf,SAAD;AAFiG,OAAD,CAA5C,EAU1D,IAV0D,EAUpD,IAVoD,CAAnD;AAUO,KAVtB;AAYA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;AC3lBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAYA;;;;;;;;AAOA;;;AAMA,QAAMx0K,GAAG,GAAG,CAAC,GAAD,EAAM,CAAC,CAAC,YAAD,CAAD,EAAiB,CAAC,cAAD,CAAjB,CAAN,CAAZ;AACA,QAAMC,GAAG,GAAG,CAAC,GAAD,EAAM,0BAAN,CAAZ;;AACA,aAASm3K,wCAAT,CAAkDxlN,EAAlD,EAAsD76B,GAAtD,EAA2D;AAAE,UAAI66B,EAAE,GAAG,CAAT,EAAY;AACrE,gEAAiB,CAAjB,EAAoB,qBAApB,EAA2C,CAA3C;AACH;;AAAC,UAAIA,EAAE,GAAG,CAAT,EAAY;AACV,YAAMm/C,MAAM,GAAG,6DAAf;;AACA,iEAAkB,OAAlB,EAA2BA,MAAM,CAACz7C,QAAP,GAAkB,SAAlB,GAA8B,WAAzD,EAAsE,UAAtE,EAAkFy7C,MAAM,CAACvuF,QAAzF;AACH;AAAE;;AACH,aAAS60P,yBAAT,CAAmCzlN,EAAnC,EAAuC76B,GAAvC,EAA4C;AAAE,UAAI66B,EAAE,GAAG,CAAT,EAAY;AACtD,qEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,6DAAc,CAAd;;AACA;AACH;;AAAC,UAAIA,EAAE,GAAG,CAAT,EAAY;AACV,YAAMw/C,MAAM,GAAG,6DAAf;;AACA,gEAAiB,CAAjB;;AACA,yEAA0B,GAA1B,EAA+BA,MAAM,CAAC/1F,KAAP,CAAaqyF,KAA5C,EAAmD,GAAnD;AACH;AAAE;;AACH,QAAMkiK,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,QAAM/oJ,OAAO,GAAG,IAAI,qDAAJ,CAAY,SAAZ,CAAhB;AAEA;;;;;;;;AAOA;;QACMywJ,e;;;;AAENA,mBAAe,CAACC,cAAhB,GAAiC,6BAAjC;AACAD,mBAAe,CAACE,kBAAhB,GAAqC,6BAArC;AACAF,mBAAe,CAACG,kBAAhB,GAAqC,2BAArC;AACAH,mBAAe,CAACI,WAAhB,GAA8B,6BAA9B;AACA;;QACMC,kB;;;;AAENA,sBAAkB,CAACC,OAAnB,GAA6B,OAA7B;AACAD,sBAAkB,CAACE,QAAnB,GAA8B,OAA9B;AACAF,sBAAkB,CAACG,OAAnB,GAA6B,OAA7B;AAEA;;;;;;;AAOA;AACA;AACA;AACA;;AACA,QAAMC,SAAS,GAAG,IAAI,qDAAJ,CAAY,SAAZ,CAAlB;AACA;;AACA,aAASC,8BAAT,GAA0C;AACtC,aAAO,IAAP;AACH;AACD;;;AACA,QAAMC,sBAAsB,GAAG,IAAI,4DAAJ,CAAmB,mBAAnB,EAAwC;AACnEv9N,gBAAU,EAAE,MADuD;AAEnErzB,aAAO,EAAE2wP;AAF0D,KAAxC,CAA/B;AAIA;;;;;;;QAMME,e;;;AACF,+BAAY9pN,wBAAZ,EAAsC+pN,YAAtC,EAAoD93P,QAApD,EAA8D;AAAA;;AAC1D;AACA,aAAK+3P,oBAAL,GAA4B,KAA5B;AACA,aAAKz/N,SAAL,GAAiBt4B,QAAjB,CAH0D,CAI1D;AACA;;AACA+tC,gCAAwB,CAACC,oCAAzB,GAN0D,CAO1D;AACA;;;AACA,aAAKgqN,aAAL,GAAqBF,YAArB;;AACA,YAAI,CAAC,KAAKC,oBAAV,EAAgC;AAC5B,eAAKE,sBAAL;;AACA,eAAKC,oBAAL;;AACA,eAAKC,qBAAL;;AACA,eAAKJ,oBAAL,GAA4B,IAA5B;AACH;AACJ;AACD;;;;;eACA,sBAAa;AACT,cAAMK,GAAG,GAAG,KAAK9/N,SAAL,CAAeuI,WAAf,IAA8B9gC,MAA1C;AACA,iBAAO,OAAOq4P,GAAP,KAAe,QAAf,IAA2BA,GAA3B,GAAiCA,GAAjC,GAAuC,IAA9C;AACH;AACD;;;;eACA,6BAAoB;AAChB;AACA;AACA;AACA;AACA,iBAAO,qEAAe,CAAC,KAAKC,UAAL,EAAvB;AACH;AACD;;;;eACA,sBAAa;AACT,cAAMt4P,MAAM,GAAG,KAAKusC,UAAL,EAAf;;AACA,iBAAOvsC,MAAM,KAAKA,MAAM,CAACmnE,SAAP,IAAoBnnE,MAAM,CAAConE,OAAhC,CAAb;AACH;;;eACD,kCAAyB;AACrB,cAAMpkC,SAAS,GAAG,KAAKu1N,iBAAL,OACb,KAAKN,aAAL,KAAuB,IAAvB,IAA+B,KAAKA,aAAL,CAAmBO,OADrC,CAAlB;;AAEA,cAAIx1N,SAAS,IAAI,CAAC,KAAKzK,SAAL,CAAeigO,OAAjC,EAA0C;AACtCxiO,mBAAO,CAACC,IAAR,CAAa,8DACT,6DADJ;AAEH;AACJ;;;eACD,gCAAuB;AACnB;AACA;AACA,cAAM6J,UAAU,GAAG,CAAC,KAAKy4N,iBAAL,EAAD,IACd,KAAKN,aAAL,KAAuB,KAAvB,IAAgC,CAAC,KAAKA,aAAL,CAAmBQ,KADzD;;AAEA,cAAI34N,UAAU,IAAI,CAAC,KAAKvH,SAAL,CAAexyB,IAA9B,IAAsC,OAAOsH,gBAAP,KAA4B,UAAtE,EAAkF;AAC9E;AACH;;AACD,cAAMigC,WAAW,GAAG,KAAK/U,SAAL,CAAepD,aAAf,CAA6B,KAA7B,CAApB;;AACAmY,qBAAW,CAACze,SAAZ,CAAsBte,GAAtB,CAA0B,yBAA1B;;AACA,eAAKgoB,SAAL,CAAexyB,IAAf,CAAoB0vB,WAApB,CAAgC6X,WAAhC;;AACA,cAAMG,aAAa,GAAGpgC,gBAAgB,CAACigC,WAAD,CAAtC,CAXmB,CAYnB;AACA;AACA;;AACA,cAAIG,aAAa,IAAIA,aAAa,CAAC1f,OAAd,KAA0B,MAA/C,EAAuD;AACnDiI,mBAAO,CAACC,IAAR,CAAa,+DACT,2DADS,GAET,iEAFJ;AAGH;;AACD,eAAKsC,SAAL,CAAexyB,IAAf,CAAoB+vB,WAApB,CAAgCwX,WAAhC;AACH;AACD;;;;eACA,iCAAwB;AACpB,cAAMtK,SAAS,GAAG,KAAKu1N,iBAAL,OACb,KAAKN,aAAL,KAAuB,IAAvB,IAA+B,KAAKA,aAAL,CAAmBS,OADrC,CAAlB;;AAEA,cAAI11N,SAAS,IAAI20N,SAAS,CAAC5zD,IAAV,KAAmB,qDAAUA,IAA9C,EAAoD;AAChD/tK,mBAAO,CAACC,IAAR,CAAa,mCAAmC0hO,SAAS,CAAC5zD,IAA7C,GAAoD,mBAApD,GACT,2BADS,GACqB,qDAAUA,IAD/B,GACsC,MADtC,GAET,iEAFJ;AAGH;AACJ;;;;;;AAEL+zD,mBAAe,CAAClxP,IAAhB,GAAuB,SAAS+xP,uBAAT,CAAiC7xP,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAIgxP,eAAV,EAA2B,uDAAgB,0EAAhB,CAA3B,EAA6E,uDAAgBD,sBAAhB,EAAwC,CAAxC,CAA7E,EAAyH,uDAAgB,wDAAhB,CAAzH,CAAP;AAA6J,KAA1N;;AACAC,mBAAe,CAAC3pN,IAAhB,GAAuB,+DAAwB;AAAEvzC,UAAI,EAAEk9P;AAAR,KAAxB,CAAvB;AACAA,mBAAe,CAAC1pN,IAAhB,GAAuB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAAC,4DAAD,CAAD,EAAe,4DAAf;AAAX,KAAxB,CAAvB;;AACAypN,mBAAe,CAACv9N,cAAhB,GAAiC;AAAA,aAAM,CACnC;AAAE3/B,YAAI,EAAE;AAAR,OADmC,EAEnC;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACg3O,sBAAD;AAAtB,SAArB;AAA/B,OAFmC,EAGnC;AAAEj9P,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,wDAAD;AAAtB,SAAD;AAA/B,OAHmC,CAAN;AAAA,KAAjC;;AAKA,KAAC,YAAY;AAAE,OAAC,OAAOytB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BwpN,eAA1B,EAA2C;AAAEzpN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,4DAAD,CAAP;AAAsB,SAA/C;AAAiDG,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,4DAAD,CAAP;AAAsB;AAA9F,OAA3C,CAAnD;AAAkM,KAAjN;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOtnC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB4wP,eAAzB,EAA0C,CAAC;AACrGl9P,YAAI,EAAE,sDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAAC,4DAAD,CADV;AAECG,iBAAO,EAAE,CAAC,4DAAD;AAFV,SAAD;AAF+F,OAAD,CAA1C,EAM1D,YAAY;AAAE,eAAO,CAAC;AAAE5zC,cAAI,EAAE;AAAR,SAAD,EAA4C;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AACzF5/B,gBAAI,EAAE;AADmF,WAAD,EAEzF;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACg3O,sBAAD;AAFP,WAFyF;AAA/B,SAA5C,EAKX;AAAEj9P,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAClC5/B,gBAAI,EAAE,oDAD4B;AAElCimB,gBAAI,EAAE,CAAC,wDAAD;AAF4B,WAAD;AAA/B,SALW,CAAP;AAQF,OAd8C,EAc5C,IAd4C,CAAnD;AAce,KAd9B;AAgBA;;;;;;;;AAOA;;;AACA,aAAS+3O,aAAT,CAAuBznK,IAAvB,EAA6B;AACzB;AAAA;AAAA;AAAA;;AAAA;;AACI,6BAAqB;AAAA;;AAAA;;AAAA,gDAANtwE,IAAM;AAANA,kBAAM;AAAA;;AACjB,mEAASA,IAAT;AACA,qBAAK+uB,SAAL,GAAiB,KAAjB;AAFiB;AAGpB;;AAJL;AAAA;AAAA,iBAKI,eAAe;AAAE,qBAAO,KAAKA,SAAZ;AAAwB,aAL7C;AAAA,iBAMI,aAAa7sC,KAAb,EAAoB;AAAE,mBAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;AAAgD;AAN1E;;AAAA;AAAA,UAAqBouF,IAArB;AAAA;AAQH;AAED;;;;;;;;AAOA;;;AACA,aAAS0nK,UAAT,CAAoB1nK,IAApB,EAA0B2jK,YAA1B,EAAwC;AACpC;AAAA;AAAA;AAAA;;AAAA;;AACI,6BAAqB;AAAA;;AAAA;;AAAA,gDAANj0O,IAAM;AAANA,kBAAM;AAAA;;AACjB,mEAASA,IAAT;AACA,qBAAKi0O,YAAL,GAAoBA,YAApB,CAFiB,CAGjB;;AACA,qBAAK3E,KAAL,GAAa2E,YAAb;AAJiB;AAKpB;;AANL;AAAA;AAAA,iBAOI,eAAY;AAAE,qBAAO,KAAKgE,MAAZ;AAAqB,aAPvC;AAAA,iBAQI,aAAU/1P,KAAV,EAAiB;AACb,kBAAMg2P,YAAY,GAAGh2P,KAAK,IAAI,KAAK+xP,YAAnC;;AACA,kBAAIiE,YAAY,KAAK,KAAKD,MAA1B,EAAkC;AAC9B,oBAAI,KAAKA,MAAT,EAAiB;AACb,uBAAKv1N,WAAL,CAAiBI,aAAjB,CAA+B9U,SAA/B,CAAyCE,MAAzC,eAAuD,KAAK+pO,MAA5D;AACH;;AACD,oBAAIC,YAAJ,EAAkB;AACd,uBAAKx1N,WAAL,CAAiBI,aAAjB,CAA+B9U,SAA/B,CAAyCte,GAAzC,eAAoDwoP,YAApD;AACH;;AACD,qBAAKD,MAAL,GAAcC,YAAd;AACH;AACJ;AAnBL;;AAAA;AAAA,UAAqB5nK,IAArB;AAAA;AAqBH;AAED;;;;;;;;AAOA;;;AACA,aAAS6nK,kBAAT,CAA4B7nK,IAA5B,EAAkC;AAAA,UACxB8nK,KADwB;AAAA;AAAA;AAAA;;AAAA;;AAE1B,yBAAqB;AAAA;;AAAA;;AAAA,8CAANp4O,IAAM;AAANA,gBAAM;AAAA;;AACjB,iEAASA,IAAT;AACA,mBAAKq4O,cAAL,GAAsB,KAAtB;AAFiB;AAGpB;AACD;;;AAN0B;AAAA;AAAA,eAO1B,eAAoB;AAAE,mBAAO,KAAKA,cAAZ;AAA6B,WAPzB;AAAA,eAQ1B,aAAkBn2P,KAAlB,EAAyB;AAAE,iBAAKm2P,cAAL,GAAsB,oFAAsBn2P,KAAtB,CAAtB;AAAqD;AARtD;;AAAA;AAAA,QACVouF,IADU,GAU9B;AACA;AACA;;;AACA,aAAO8nK,KAAP;AACH;AAED;;;;;;;;AAOA;;;AACA,aAASE,aAAT,CAAuBhoK,IAAvB,EAAkD;AAAA,UAArB88J,eAAqB,uEAAH,CAAG;;AAC9C;AACA;AAF8C,UAGxCgL,KAHwC;AAAA;AAAA;AAAA;;AAAA;;AAI1C,yBAAqB;AAAA;;AAAA;;AAAA,8CAANp4O,IAAM;AAANA,gBAAM;AAAA;;AACjB,iEAASA,IAAT;AACA,mBAAKu4O,SAAL,GAAiBnL,eAAjB;AACA,mBAAKA,eAAL,GAAuBA,eAAvB;AAHiB;AAIpB;;AARyC;AAAA;AAAA,eAS1C,eAAe;AAAE,mBAAO,KAAK7rP,QAAL,GAAgB,CAAC,CAAjB,GAAqB,KAAKg3P,SAAjC;AAA6C,WATpB;AAAA,eAU1C,aAAar2P,KAAb,EAAoB;AAChB;AACA,iBAAKq2P,SAAL,GAAiBr2P,KAAK,IAAI,IAAT,GAAgB,mFAAqBA,KAArB,CAAhB,GAA8C,KAAKkrP,eAApE;AACH;AAbyC;;AAAA;AAAA,QAG1B98J,IAH0B,GAe9C;AACA;AACA;;;AACA,aAAO8nK,KAAP;AACH;AAED;;;;;;;;AAOA;;;;;;AAIA,aAASI,eAAT,CAAyBloK,IAAzB,EAA+B;AAC3B;AAAA;AAAA;AAAA;;AAAA;;AACI,6BAAqB;AAAA;;AAAA;;AAAA,gDAANtwE,IAAM;AAANA,kBAAM;AAAA;;AACjB,mEAASA,IAAT;AACA;;AACA,qBAAKy4O,UAAL,GAAkB,KAAlB;AACA;;;;;AAIA,qBAAKC,YAAL,GAAoB,IAAI,4CAAJ,EAApB;AARiB;AASpB;;AAVL;AAAA;AAAA,mBAWI,4BAAmB;AACf,kBAAMnE,QAAQ,GAAG,KAAKkE,UAAtB;AACA,kBAAMj0O,MAAM,GAAG,KAAKm0O,gBAAL,IAAyB,KAAKC,WAA7C;AACA,kBAAMC,OAAO,GAAG,KAAKC,iBAAL,IAA0B,KAAKC,yBAA/C;AACA,kBAAMrqK,OAAO,GAAG,KAAKsqK,SAAL,GAAiB,KAAKA,SAAL,CAAetqK,OAAhC,GAA0C,IAA1D;AACA,kBAAM4lK,QAAQ,GAAGuE,OAAO,CAACI,YAAR,CAAqBvqK,OAArB,EAA8BlqE,MAA9B,CAAjB;;AACA,kBAAI8vO,QAAQ,KAAKC,QAAjB,EAA2B;AACvB,qBAAKkE,UAAL,GAAkBnE,QAAlB;AACA,qBAAKoE,YAAL,CAAkBhuP,IAAlB;AACH;AACJ;AArBL;;AAAA;AAAA,UAAqB4lF,IAArB;AAAA;AAuBH;AAED;;;;;;;;AAOA;;;AACA,aAAS4oK,gBAAT,CAA0B5oK,IAA1B,EAAgC;AAC5B;AAAA;AAAA;AAAA;;AAAA;;AACI,6BAAqB;AAAA;;AAAA;;AAAA,gDAANtwE,IAAM;AAANA,kBAAM;AAAA;;AACjB,mEAASA,IAAT;AACA;;AACA,qBAAKowB,cAAL,GAAsB,KAAtB;AACA;;;;;;AAKA,qBAAK+oN,mBAAL,GAA2B,EAA3B;AACA;;;;;AAIA,qBAAKhqC,WAAL,GAAmB,IAAI,+CAAJ,CAAe,UAAAiqC,UAAU,EAAI;AAC5C;AACA;AACA,kBAAI,SAAKhpN,cAAT,EAAyB;AACrB,yBAAKipN,iBAAL,CAAuBD,UAAvB;AACH,eAFD,MAGK;AACD,yBAAKD,mBAAL,CAAyB38P,IAAzB,CAA8B48P,UAA9B;AACH;AACJ,aATkB,CAAnB;AAdiB;AAwBpB;AACD;;;;;;;AA1BJ;AAAA;AAAA,mBA+BI,4BAAmB;AACf,kBAAI,KAAKhpN,cAAL,KAAwB,OAAO/pC,SAAP,KAAqB,WAArB,IAAoCA,SAA5D,CAAJ,EAA4E;AACxE,sBAAMtF,KAAK,CAAC,+DACR,6BADO,CAAX;AAEH;;AACD,mBAAKqvC,cAAL,GAAsB,IAAtB;;AACA,mBAAK+oN,mBAAL,CAAyB78P,OAAzB,CAAiC,KAAK+8P,iBAAtC;;AACA,mBAAKF,mBAAL,GAA2B,IAA3B;AACH;AACD;;AAxCJ;AAAA;AAAA,mBAyCI,2BAAkBC,UAAlB,EAA8B;AAC1BA,wBAAU,CAAC1uP,IAAX;AACA0uP,wBAAU,CAAC/uN,QAAX;AACH;AA5CL;;AAAA;AAAA,UAAqBimD,IAArB;AAAA;AA8CH;AAED;;;;;;;;AAQA;;;;;;;;AAOA;;;AACA,QAAMgpK,eAAe,GAAG,IAAI,4DAAJ,CAAmB,iBAAnB,EAAsC;AAC1D7/N,gBAAU,EAAE,MAD8C;AAE1DrzB,aAAO,EAAEmzP;AAFiD,KAAtC,CAAxB;AAIA;;AACA,aAASA,uBAAT,GAAmC;AAC/B,aAAO,6DAAO,uDAAP,CAAP;AACH;AACD;;;QACMC,W;;;AACF,6BAAc;AAAA;;AACV,aAAKC,cAAL,GAAsB,IAAI,4CAAJ,EAAtB;AACA;;AACA,aAAKC,aAAL,GAAqB,KAAKD,cAA1B;AACH;AACD;;;;;;;;;;eAMA,4BAAmBrxP,GAAnB,EAAwB;AACpB,iBAAO,KAAKuxP,cAAL,CAAoBvxP,GAApB,KAA4B,KAAKwxP,OAAL,CAAaxxP,GAAb,CAA5B,GAAgDA,GAAhD,GAAsD,IAA7D;AACH;AACD;;;;;;;;;;;;;;;eAYA,qBAAYlG,KAAZ,EAAmB;AACf,cAAIA,KAAK,IAAI,IAAT,IAAiB,KAAKy3P,cAAL,CAAoBz3P,KAApB,KAA8B,KAAK03P,OAAL,CAAa13P,KAAb,CAAnD,EAAwE;AACpE,mBAAOA,KAAP;AACH;;AACD,iBAAO,KAAK6pF,OAAL,EAAP;AACH;AACD;;;;;;;eAIA,mBAAUsgB,MAAV,EAAkB;AACd,eAAKA,MAAL,GAAcA,MAAd;;AACA,eAAKotJ,cAAL,CAAoB/uP,IAApB;AACH;AACD;;;;;;;;;;eAOA,qBAAYspD,KAAZ,EAAmB6lM,MAAnB,EAA2B;AACvB,iBAAO,KAAKC,OAAL,CAAa9lM,KAAb,IAAsB,KAAK8lM,OAAL,CAAaD,MAAb,CAAtB,IACH,KAAKrlJ,QAAL,CAAcxgD,KAAd,IAAuB,KAAKwgD,QAAL,CAAcqlJ,MAAd,CADpB,IAEH,KAAKplJ,OAAL,CAAazgD,KAAb,IAAsB,KAAKygD,OAAL,CAAaolJ,MAAb,CAF1B;AAGH;AACD;;;;;;;;;;eAOA,kBAAS7lM,KAAT,EAAgB6lM,MAAhB,EAAwB;AACpB,cAAI7lM,KAAK,IAAI6lM,MAAb,EAAqB;AACjB,gBAAIE,UAAU,GAAG,KAAKH,OAAL,CAAa5lM,KAAb,CAAjB;AACA,gBAAIgmM,WAAW,GAAG,KAAKJ,OAAL,CAAaC,MAAb,CAAlB;;AACA,gBAAIE,UAAU,IAAIC,WAAlB,EAA+B;AAC3B,qBAAO,CAAC,KAAKC,WAAL,CAAiBjmM,KAAjB,EAAwB6lM,MAAxB,CAAR;AACH;;AACD,mBAAOE,UAAU,IAAIC,WAArB;AACH;;AACD,iBAAOhmM,KAAK,IAAI6lM,MAAhB;AACH;AACD;;;;;;;;;;;eAQA,mBAAUxoJ,IAAV,EAAgB3yG,GAAhB,EAAqBT,GAArB,EAA0B;AACtB,cAAIS,GAAG,IAAI,KAAKu7P,WAAL,CAAiB5oJ,IAAjB,EAAuB3yG,GAAvB,IAA8B,CAAzC,EAA4C;AACxC,mBAAOA,GAAP;AACH;;AACD,cAAIT,GAAG,IAAI,KAAKg8P,WAAL,CAAiB5oJ,IAAjB,EAAuBpzG,GAAvB,IAA8B,CAAzC,EAA4C;AACxC,mBAAOA,GAAP;AACH;;AACD,iBAAOozG,IAAP;AACH;;;;;AAGL;;;;;;;;;AAOA,QAAM6oJ,gBAAgB,GAAG,IAAI,4DAAJ,CAAmB,kBAAnB,CAAzB;AAEA;;;;;;;AAOA;;AACA;;AACA,QAAIC,iBAAJ,C,CACA;AACA;AACA;AACA;AACA;;AACA,QAAI;AACAA,uBAAiB,GAAG,OAAOphL,IAAP,IAAe,WAAnC;AACH,KAFD,CAGA,OAAO55C,EAAP,EAAW;AACPg7N,uBAAiB,GAAG,KAApB;AACH;AACD;;;AACA,QAAMC,mBAAmB,GAAG;AACxB,cAAQ,CACJ,SADI,EACO,UADP,EACmB,OADnB,EAC4B,OAD5B,EACqC,KADrC,EAC4C,MAD5C,EACoD,MADpD,EAC4D,QAD5D,EACsE,WADtE,EAEJ,SAFI,EAEO,UAFP,EAEmB,UAFnB,CADgB;AAKxB,eAAS,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,EAAkD,KAAlD,EAAyD,KAAzD,EAAgE,KAAhE,EAAuE,KAAvE,EAA8E,KAA9E,CALe;AAMxB,gBAAU,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,GAAnD,EAAwD,GAAxD;AANc,KAA5B;;AAQA,QAAMn3P,EAAE,GAAG,SAALA,EAAK,CAAAqB,CAAC;AAAA,aAAIq4B,MAAM,CAACr4B,CAAC,GAAG,CAAL,CAAV;AAAA,KAAZ;AACA;;;AACA,QAAM+1P,kBAAkB,GAAG30K,KAAK,CAAC,EAAD,EAAKziF,EAAL,CAAhC;AACA;;AACA,QAAMq3P,yBAAyB,GAAG;AAC9B,cAAQ,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,UAA7C,EAAyD,QAAzD,EAAmE,UAAnE,CADsB;AAE9B,eAAS,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,CAFqB;AAG9B,gBAAU,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B;AAHoB,KAAlC;AAKA;;;;;;AAKA,QAAMC,cAAc,GAAG,oFAAvB;AACA;;AACA,aAAS70K,KAAT,CAAezoF,MAAf,EAAuBu9P,aAAvB,EAAsC;AAClC,UAAMC,WAAW,GAAGjyP,KAAK,CAACvL,MAAD,CAAzB;;AACA,WAAK,IAAIqH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGrH,MAApB,EAA4BqH,CAAC,EAA7B,EAAiC;AAC7Bm2P,mBAAW,CAACn2P,CAAD,CAAX,GAAiBk2P,aAAa,CAACl2P,CAAD,CAA9B;AACH;;AACD,aAAOm2P,WAAP;AACH;AACD;;;QACMC,iB;;;;;;;AACF,iCAAYC,aAAZ,EAA2BxoL,QAA3B,EAAqC;AAAA;;AAAA;;AACjC;AACA;;;;;;;;;;;;AAWA,iBAAKyoL,gBAAL,GAAwB,IAAxB;;AACA,yJAAgBD,aAAhB,EAdiC,CAejC;;;AACA,iBAAKC,gBAAL,GAAwB,CAACzoL,QAAQ,CAACmH,OAAlC;AACA,iBAAKuhL,UAAL,GAAkB1oL,QAAQ,CAACmH,OAAT,IAAoBnH,QAAQ,CAACgH,IAA/C;AAjBiC;AAkBpC;;;;eACD,iBAAQk4B,IAAR,EAAc;AACV,iBAAOA,IAAI,CAACiD,WAAL,EAAP;AACH;;;eACD,kBAASjD,IAAT,EAAe;AACX,iBAAOA,IAAI,CAACmD,QAAL,EAAP;AACH;;;eACD,iBAAQnD,IAAR,EAAc;AACV,iBAAOA,IAAI,CAACoD,OAAL,EAAP;AACH;;;eACD,sBAAapD,IAAb,EAAmB;AACf,iBAAOA,IAAI,CAAC4D,MAAL,EAAP;AACH;;;eACD,uBAAc16G,KAAd,EAAqB;AAAA;;AACjB,cAAI4/P,iBAAJ,EAAuB;AACnB,gBAAMW,GAAG,GAAG,IAAI/hL,IAAI,CAACs1B,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE8F,mBAAK,EAAE53G,KAAT;AAAgBwgQ,sBAAQ,EAAE;AAA1B,aAArC,CAAZ;AACA,mBAAOr1K,KAAK,CAAC,EAAD,EAAK,UAAAphF,CAAC;AAAA,qBAAI,QAAI,CAAC02P,8BAAL,CAAoC,QAAI,CAACC,OAAL,CAAaH,GAAb,EAAkB,IAAI1pO,IAAJ,CAAS,IAAT,EAAe9sB,CAAf,EAAkB,CAAlB,CAAlB,CAApC,CAAJ;AAAA,aAAN,CAAZ;AACH;;AACD,iBAAO81P,mBAAmB,CAAC7/P,KAAD,CAA1B;AACH;;;eACD,wBAAe;AAAA;;AACX,cAAI4/P,iBAAJ,EAAuB;AACnB,gBAAMW,GAAG,GAAG,IAAI/hL,IAAI,CAACs1B,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE6uJ,iBAAG,EAAE,SAAP;AAAkBH,sBAAQ,EAAE;AAA5B,aAArC,CAAZ;AACA,mBAAOr1K,KAAK,CAAC,EAAD,EAAK,UAAAphF,CAAC;AAAA,qBAAI,QAAI,CAAC02P,8BAAL,CAAoC,QAAI,CAACC,OAAL,CAAaH,GAAb,EAAkB,IAAI1pO,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB9sB,CAAC,GAAG,CAAtB,CAAlB,CAApC,CAAJ;AAAA,aAAN,CAAZ;AACH;;AACD,iBAAO+1P,kBAAP;AACH;;;eACD,2BAAkB9/P,KAAlB,EAAyB;AAAA;;AACrB,cAAI4/P,iBAAJ,EAAuB;AACnB,gBAAMW,GAAG,GAAG,IAAI/hL,IAAI,CAACs1B,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE8uJ,qBAAO,EAAE5gQ,KAAX;AAAkBwgQ,sBAAQ,EAAE;AAA5B,aAArC,CAAZ;AACA,mBAAOr1K,KAAK,CAAC,CAAD,EAAI,UAAAphF,CAAC;AAAA,qBAAI,QAAI,CAAC02P,8BAAL,CAAoC,QAAI,CAACC,OAAL,CAAaH,GAAb,EAAkB,IAAI1pO,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB9sB,CAAC,GAAG,CAAtB,CAAlB,CAApC,CAAJ;AAAA,aAAL,CAAZ;AACH;;AACD,iBAAOg2P,yBAAyB,CAAC//P,KAAD,CAAhC;AACH;;;eACD,qBAAY82G,IAAZ,EAAkB;AACd,cAAI8oJ,iBAAJ,EAAuB;AACnB,gBAAMW,GAAG,GAAG,IAAI/hL,IAAI,CAACs1B,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE6F,kBAAI,EAAE,SAAR;AAAmB6oJ,sBAAQ,EAAE;AAA7B,aAArC,CAAZ;AACA,mBAAO,KAAKC,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkBzpJ,IAAlB,CAApC,CAAP;AACH;;AACD,iBAAO10E,MAAM,CAAC,KAAKm9N,OAAL,CAAazoJ,IAAb,CAAD,CAAb;AACH;;;eACD,6BAAoB;AAChB;AACA,iBAAO,CAAP;AACH;;;eACD,2BAAkBA,IAAlB,EAAwB;AACpB,iBAAO,KAAKoD,OAAL,CAAa,KAAK2mJ,uBAAL,CAA6B,KAAKtB,OAAL,CAAazoJ,IAAb,CAA7B,EAAiD,KAAKmD,QAAL,CAAcnD,IAAd,IAAsB,CAAvE,EAA0E,CAA1E,CAAb,CAAP;AACH;;;eACD,eAAMA,IAAN,EAAY;AACR,iBAAO,IAAIjgF,IAAJ,CAASigF,IAAI,CAAC0F,OAAL,EAAT,CAAP;AACH;;;eACD,oBAAW7E,IAAX,EAAiBC,KAAjB,EAAwBd,IAAxB,EAA8B;AAC1B,cAAI,OAAOhrG,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C;AACA;AACA,gBAAI8rG,KAAK,GAAG,CAAR,IAAaA,KAAK,GAAG,EAAzB,EAA6B;AACzB,oBAAMpxG,KAAK,iCAAyBoxG,KAAzB,iDAAX;AACH;;AACD,gBAAId,IAAI,GAAG,CAAX,EAAc;AACV,oBAAMtwG,KAAK,0BAAkBswG,IAAlB,wCAAX;AACH;AACJ;;AACD,cAAIvsG,MAAM,GAAG,KAAKs2P,uBAAL,CAA6BlpJ,IAA7B,EAAmCC,KAAnC,EAA0Cd,IAA1C,CAAb,CAX0B,CAY1B;;;AACA,cAAIvsG,MAAM,CAAC0vG,QAAP,MAAqBrC,KAArB,KAA+B,OAAO9rG,SAAP,KAAqB,WAArB,IAAoCA,SAAnE,CAAJ,EAAmF;AAC/E,kBAAMtF,KAAK,0BAAkBswG,IAAlB,uCAAiDc,KAAjD,SAAX;AACH;;AACD,iBAAOrtG,MAAP;AACH;;;eACD,iBAAQ;AACJ,iBAAO,IAAIssB,IAAJ,EAAP;AACH;;;eACD,eAAMlvB,KAAN,EAAa;AACT;AACA;AACA,cAAI,OAAOA,KAAP,IAAgB,QAApB,EAA8B;AAC1B,mBAAO,IAAIkvB,IAAJ,CAASlvB,KAAT,CAAP;AACH;;AACD,iBAAOA,KAAK,GAAG,IAAIkvB,IAAJ,CAASA,IAAI,CAACqmF,KAAL,CAAWv1G,KAAX,CAAT,CAAH,GAAiC,IAA7C;AACH;;;eACD,gBAAOmvG,IAAP,EAAagqJ,aAAb,EAA4B;AACxB,cAAI,CAAC,KAAKzB,OAAL,CAAavoJ,IAAb,CAAL,EAAyB;AACrB,kBAAMtwG,KAAK,CAAC,gDAAD,CAAX;AACH;;AACD,cAAIo5P,iBAAJ,EAAuB;AACnB;AACA;AACA,gBAAI,KAAKU,UAAL,KAAoBxpJ,IAAI,CAACiD,WAAL,KAAqB,CAArB,IAA0BjD,IAAI,CAACiD,WAAL,KAAqB,IAAnE,CAAJ,EAA8E;AAC1EjD,kBAAI,GAAG,KAAK/4D,KAAL,CAAW+4D,IAAX,CAAP;AACAA,kBAAI,CAACgB,WAAL,CAAiBr0G,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACU,GAAL,CAAS,IAAT,EAAe2yG,IAAI,CAACiD,WAAL,EAAf,CAAZ,CAAjB;AACH;;AACD+mJ,yBAAa,GAAG96P,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBk9O,aAAlB,CAAd,EAAgD;AAAEN,sBAAQ,EAAE;AAAZ,aAAhD,CAAhB;AACA,gBAAMD,GAAG,GAAG,IAAI/hL,IAAI,CAACs1B,cAAT,CAAwB,KAAKhC,MAA7B,EAAqCgvJ,aAArC,CAAZ;AACA,mBAAO,KAAKL,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkBzpJ,IAAlB,CAApC,CAAP;AACH;;AACD,iBAAO,KAAK2pJ,8BAAL,CAAoC3pJ,IAAI,CAACiqJ,YAAL,EAApC,CAAP;AACH;;;eACD,0BAAiBjqJ,IAAjB,EAAuBkqJ,KAAvB,EAA8B;AAC1B,iBAAO,KAAKC,iBAAL,CAAuBnqJ,IAAvB,EAA6BkqJ,KAAK,GAAG,EAArC,CAAP;AACH;;;eACD,2BAAkBlqJ,IAAlB,EAAwB9D,MAAxB,EAAgC;AAC5B,cAAI6E,OAAO,GAAG,KAAKgpJ,uBAAL,CAA6B,KAAKtB,OAAL,CAAazoJ,IAAb,CAA7B,EAAiD,KAAKmD,QAAL,CAAcnD,IAAd,IAAsB9D,MAAvE,EAA+E,KAAKkH,OAAL,CAAapD,IAAb,CAA/E,CAAd,CAD4B,CAE5B;AACA;AACA;AACA;;;AACA,cAAI,KAAKmD,QAAL,CAAcpC,OAAd,KAA0B,CAAC,CAAC,KAAKoC,QAAL,CAAcnD,IAAd,IAAsB9D,MAAvB,IAAiC,EAAjC,GAAsC,EAAvC,IAA6C,EAA3E,EAA+E;AAC3E6E,mBAAO,GAAG,KAAKgpJ,uBAAL,CAA6B,KAAKtB,OAAL,CAAa1nJ,OAAb,CAA7B,EAAoD,KAAKoC,QAAL,CAAcpC,OAAd,CAApD,EAA4E,CAA5E,CAAV;AACH;;AACD,iBAAOA,OAAP;AACH;;;eACD,yBAAgBf,IAAhB,EAAsBnE,IAAtB,EAA4B;AACxB,iBAAO,KAAKkuJ,uBAAL,CAA6B,KAAKtB,OAAL,CAAazoJ,IAAb,CAA7B,EAAiD,KAAKmD,QAAL,CAAcnD,IAAd,CAAjD,EAAsE,KAAKoD,OAAL,CAAapD,IAAb,IAAqBnE,IAA3F,CAAP;AACH;;;eACD,mBAAUmE,IAAV,EAAgB;AACZ,iBAAO,CACHA,IAAI,CAACoqJ,cAAL,EADG,EAEH,KAAKC,OAAL,CAAarqJ,IAAI,CAACsqJ,WAAL,KAAqB,CAAlC,CAFG,EAGH,KAAKD,OAAL,CAAarqJ,IAAI,CAACuqJ,UAAL,EAAb,CAHG,EAIL56P,IAJK,CAIA,GAJA,CAAP;AAKH;AACD;;;;;;;;eAKA,qBAAYkB,KAAZ,EAAmB;AACf,cAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,gBAAI,CAACA,KAAL,EAAY;AACR,qBAAO,IAAP;AACH,aAH0B,CAI3B;AACA;;;AACA,gBAAIq4P,cAAc,CAACxkO,IAAf,CAAoB7zB,KAApB,CAAJ,EAAgC;AAC5B,kBAAImvG,IAAI,GAAG,IAAIjgF,IAAJ,CAASlvB,KAAT,CAAX;;AACA,kBAAI,KAAK03P,OAAL,CAAavoJ,IAAb,CAAJ,EAAwB;AACpB,uBAAOA,IAAP;AACH;AACJ;AACJ;;AACD,oGAAyBnvG,KAAzB;AACH;;;eACD,wBAAekG,GAAf,EAAoB;AAChB,iBAAOA,GAAG,YAAYgpB,IAAtB;AACH;;;eACD,iBAAQigF,IAAR,EAAc;AACV,iBAAO,CAACxxE,KAAK,CAACwxE,IAAI,CAAC0F,OAAL,EAAD,CAAb;AACH;;;eACD,mBAAU;AACN,iBAAO,IAAI3lF,IAAJ,CAASyqO,GAAT,CAAP;AACH;AACD;;;;eACA,iCAAwB3pJ,IAAxB,EAA8BC,KAA9B,EAAqCd,IAArC,EAA2C;AACvC;AACA;AACA,cAAM1P,CAAC,GAAG,IAAIvwE,IAAJ,EAAV;AACAuwE,WAAC,CAAC0Q,WAAF,CAAcH,IAAd,EAAoBC,KAApB,EAA2Bd,IAA3B;AACA1P,WAAC,CAAC2Q,QAAF,CAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB;AACA,iBAAO3Q,CAAP;AACH;AACD;;;;;;;;eAKA,iBAAQzyF,CAAR,EAAW;AACP,iBAAO,CAAC,OAAOA,CAAR,EAAWwJ,KAAX,CAAiB,CAAC,CAAlB,CAAP;AACH;AACD;;;;;;;;;;eAOA,wCAA+BtO,GAA/B,EAAoC;AAChC,iBAAOA,GAAG,CAAC1E,OAAJ,CAAY,iBAAZ,EAA+B,EAA/B,CAAP;AACH;AACD;;;;;;;;;;;;;;eAWA,iBAAQo1P,GAAR,EAAazpJ,IAAb,EAAmB;AACf;AACA;AACA,cAAM1P,CAAC,GAAG,IAAIvwE,IAAJ,EAAV;AACAuwE,WAAC,CAACyW,cAAF,CAAiB/G,IAAI,CAACiD,WAAL,EAAjB,EAAqCjD,IAAI,CAACmD,QAAL,EAArC,EAAsDnD,IAAI,CAACoD,OAAL,EAAtD;AACA9S,WAAC,CAAC2W,WAAF,CAAcjH,IAAI,CAACqD,QAAL,EAAd,EAA+BrD,IAAI,CAACuD,UAAL,EAA/B,EAAkDvD,IAAI,CAACyD,UAAL,EAAlD,EAAqEzD,IAAI,CAAC0D,eAAL,EAArE;AACA,iBAAO+lJ,GAAG,CAACvqJ,MAAJ,CAAW5O,CAAX,CAAP;AACH;;;;MAvN2B63J,W;;AAyNhCkB,qBAAiB,CAAC30P,IAAlB,GAAyB,SAAS+1P,yBAAT,CAAmC71P,CAAnC,EAAsC;AAAE,aAAO,KAAKA,CAAC,IAAIy0P,iBAAV,EAA6B,uDAAgBpB,eAAhB,EAAiC,CAAjC,CAA7B,EAAkE,uDAAgB,8DAAhB,CAAlE,CAAP;AAA6G,KAA9K;;AACAoB,qBAAiB,CAACx0P,KAAlB,GAA0B,iEAA0B;AAAEC,WAAK,EAAEu0P,iBAAT;AAA4Bt0P,aAAO,EAAEs0P,iBAAiB,CAAC30P;AAAvD,KAA1B,CAA1B;;AACA20P,qBAAiB,CAAChhO,cAAlB,GAAmC;AAAA,aAAM,CACrC;AAAE3/B,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACs5O,eAAD;AAAtB,SAArB;AAA5B,OADqC,EAErC;AAAEv/P,YAAI,EAAE;AAAR,OAFqC,CAAN;AAAA,KAAnC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBq0P,iBAAzB,EAA4C,CAAC;AACvG3gQ,YAAI,EAAE;AADiG,OAAD,CAA5C,EAE1D,YAAY;AAAE,eAAO,CAAC;AAAEA,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC3C5/B,gBAAI,EAAE;AADqC,WAAD,EAE3C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACs5O,eAAD;AAFP,WAF2C;AAA5B,SAAD,EAKX;AAAEv/P,cAAI,EAAE;AAAR,SALW,CAAP;AAKyB,OAPmB,EAOjB,IAPiB,CAAnD;AAO0C,KAPzD;AASA;;;;;;;;;AAOA,QAAMgiQ,uBAAuB,GAAG;AAC5BtkJ,WAAK,EAAE;AACHukJ,iBAAS,EAAE;AADR,OADqB;AAI5B9uO,aAAO,EAAE;AACL8uO,iBAAS,EAAE;AAAE9pJ,cAAI,EAAE,SAAR;AAAmBC,eAAK,EAAE,SAA1B;AAAqC+oJ,aAAG,EAAE;AAA1C,SADN;AAELe,sBAAc,EAAE;AAAE/pJ,cAAI,EAAE,SAAR;AAAmBC,eAAK,EAAE;AAA1B,SAFX;AAGL+pJ,qBAAa,EAAE;AAAEhqJ,cAAI,EAAE,SAAR;AAAmBC,eAAK,EAAE,MAA1B;AAAkC+oJ,aAAG,EAAE;AAAvC,SAHV;AAILiB,0BAAkB,EAAE;AAAEjqJ,cAAI,EAAE,SAAR;AAAmBC,eAAK,EAAE;AAA1B;AAJf;AAJmB,KAAhC;AAYA;;;;;;;;QAOMiqJ,gB;;;;AAENA,oBAAgB,CAACr2P,IAAjB,GAAwB,SAASs2P,wBAAT,CAAkCp2P,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAIm2P,gBAAV,GAAP;AAAuC,KAAtG;;AACAA,oBAAgB,CAAC9uN,IAAjB,GAAwB,+DAAwB;AAAEvzC,UAAI,EAAEqiQ;AAAR,KAAxB,CAAxB;AACAA,oBAAgB,CAAC7uN,IAAjB,GAAwB,+DAAwB;AAAEa,eAAS,EAAE,CACrD;AAAEF,eAAO,EAAEsrN,WAAX;AAAwB5vK,gBAAQ,EAAE8wK;AAAlC,OADqD,CAAb;AAEzCltN,aAAO,EAAE,CAAC,CAAC,oEAAD,CAAD;AAFgC,KAAxB,CAAxB;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B2uN,gBAA1B,EAA4C;AAAE5uN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAAC,oEAAD,CAAP;AAA0B;AAAnD,OAA5C,CAAnD;AAAwJ,KAAvK;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOnnC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB+1P,gBAAzB,EAA2C,CAAC;AACtGriQ,YAAI,EAAE,sDADgG;AAEtGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAAC,oEAAD,CADV;AAECY,mBAAS,EAAE,CACP;AAAEF,mBAAO,EAAEsrN,WAAX;AAAwB5vK,oBAAQ,EAAE8wK;AAAlC,WADO;AAFZ,SAAD;AAFgG,OAAD,CAA3C,EAQ1D,IAR0D,EAQpD,IARoD,CAAnD;AAQO,KARtB;;AASA,QAAMt+O,IAAI,GAAG2/O,uBAAb;;QACMO,mB;;;;AAENA,uBAAmB,CAACv2P,IAApB,GAA2B,SAASw2P,2BAAT,CAAqCt2P,CAArC,EAAwC;AAAE,aAAO,KAAKA,CAAC,IAAIq2P,mBAAV,GAAP;AAA0C,KAA/G;;AACAA,uBAAmB,CAAChvN,IAApB,GAA2B,+DAAwB;AAAEvzC,UAAI,EAAEuiQ;AAAR,KAAxB,CAA3B;AACAA,uBAAmB,CAAC/uN,IAApB,GAA2B,+DAAwB;AAAEa,eAAS,EAAE,CAAC;AAAEF,eAAO,EAAEgsN,gBAAX;AAA6B3qN,gBAAQ,EAAEnzB;AAAvC,OAAD,CAAb;AAA8DoxB,aAAO,EAAE,CAAC,CAAC4uN,gBAAD,CAAD;AAAvE,KAAxB,CAA3B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3uN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B6uN,mBAA1B,EAA+C;AAAE9uN,eAAO,EAAE,CAAC4uN,gBAAD;AAAX,OAA/C,CAAnD;AAAqI,KAApJ;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO/1P,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBi2P,mBAAzB,EAA8C,CAAC;AACzGviQ,YAAI,EAAE,sDADmG;AAEzGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAAC4uN,gBAAD,CADV;AAEChuN,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAEgsN,gBAAX;AAA6B3qN,oBAAQ,EAAEnzB;AAAvC,WAAD;AAFZ,SAAD;AAFmG,OAAD,CAA9C,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAQA;;;;;;;;AAOA;;;QACMogP,4B;;;;;;;;;eACF,sBAAa9tK,OAAb,EAAsBymB,IAAtB,EAA4B;AACxB,iBAAO,CAAC,EAAEzmB,OAAO,IAAIA,OAAO,CAAC3C,OAAnB,KAA+B2C,OAAO,CAACmzE,KAAR,IAAkB1sD,IAAI,IAAIA,IAAI,CAACmpI,SAA9D,CAAF,CAAR;AACH;;;;;;AAELke,gCAA4B,CAACz2P,IAA7B,GAAoC,SAAS02P,oCAAT,CAA8Cx2P,CAA9C,EAAiD;AAAE,aAAO,KAAKA,CAAC,IAAIu2P,4BAAV,GAAP;AAAmD,KAA1I;;AACAA,gCAA4B,CAACt2P,KAA7B,GAAqC,iEAA0B;AAAEC,WAAK,EAAEq2P,4BAAT;AAAuCp2P,aAAO,EAAEo2P,4BAA4B,CAACz2P;AAA7E,KAA1B,CAArC;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBm2P,4BAAzB,EAAuD,CAAC;AAClHziQ,YAAI,EAAE;AAD4G,OAAD,CAAvD,EAE1D,IAF0D,EAEpD,IAFoD,CAAnD;AAEO,KAFtB;AAGA;;;QACM2iQ,iB;;;;;;;;;eACF,sBAAahuK,OAAb,EAAsBymB,IAAtB,EAA4B;AACxB,iBAAO,CAAC,EAAEzmB,OAAO,IAAIA,OAAO,CAAC3C,OAAnB,KAA+B2C,OAAO,CAAC8kJ,OAAR,IAAoBr+H,IAAI,IAAIA,IAAI,CAACmpI,SAAhE,CAAF,CAAR;AACH;;;;;;AAELoe,qBAAiB,CAAC32P,IAAlB,GAAyB,SAAS42P,yBAAT,CAAmC12P,CAAnC,EAAsC;AAAE,aAAO,KAAKA,CAAC,IAAIy2P,iBAAV,GAAP;AAAwC,KAAzG;;AACAA,qBAAiB,CAACx2P,KAAlB,GAA0B,yEAAmB;AAAEE,aAAO,EAAE,SAASu2P,yBAAT,GAAqC;AAAE,eAAO,IAAID,iBAAJ,EAAP;AAAiC,OAAnF;AAAqFv2P,WAAK,EAAEu2P,iBAA5F;AAA+GjjO,gBAAU,EAAE;AAA3H,KAAnB,CAA1B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOpzB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBq2P,iBAAzB,EAA4C,CAAC;AACvG3iQ,YAAI,EAAE,wDADiG;AAEvGimB,YAAI,EAAE,CAAC;AAAEyZ,oBAAU,EAAE;AAAd,SAAD;AAFiG,OAAD,CAA5C,EAG1D,IAH0D,EAGpD,IAHoD,CAAnD;AAGO,KAHtB;AAKA;;;;;;;;AAOA;;;;;;;QAKMmjO,O;;;;AAENA,WAAO,CAAC72P,IAAR,GAAe,SAAS82P,eAAT,CAAyB52P,CAAzB,EAA4B;AAAE,aAAO,KAAKA,CAAC,IAAI22P,OAAV,GAAP;AAA8B,KAA3E;;AACAA,WAAO,CAACl5N,IAAR,GAAe,gEAAyB;AAAE3pC,UAAI,EAAE6iQ,OAAR;AAAiBj5N,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,CAAD,EAAuB,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAAvB,CAA5B;AAAyEqtB,eAAS,EAAE,CAAC,CAAD,EAAI,UAAJ;AAApF,KAAzB,CAAf;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO3qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBu2P,OAAzB,EAAkC,CAAC;AAC7F7iQ,YAAI,EAAE,uDADuF;AAE7FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,uBADX;AAECy1C,cAAI,EAAE;AAAE,qBAAS;AAAX;AAFP,SAAD;AAFuF,OAAD,CAAlC,EAM1D,IAN0D,EAMpD,IANoD,CAAnD;AAMO,KANtB;AAOA;;;;;;AAIA,aAASksN,QAAT,CAAkB7kE,KAAlB,EAAyBp4L,OAAzB,EAAkD;AAAA,UAAhB0xJ,MAAgB,uEAAP,KAAO;AAC9C;AACA;AACA0mC,WAAK,CAACt9J,OAAN,CAAcc,IAAd,CAAmB,iEAAUw8J,KAAV,CAAnB,EAAqCr9J,SAArC,CAA+C,kBAAgB;AAAA,YAAb39B,MAAa,UAAbA,MAAa;AAC3D8/P,gBAAQ,CAACl9P,OAAD,YAAa0xJ,MAAb,cAA8B,KAA9B,CAAR;AACAwrG,gBAAQ,CAACl9P,OAAD,YAAa0xJ,MAAb,cAA8B,KAA9B,CAAR;AACAwrG,gBAAQ,CAACl9P,OAAD,YAAa0xJ,MAAb,kBAAkC,KAAlC,CAAR;;AACA,YAAIt0J,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA/B,EAAkC;AAC9B8/P,kBAAQ,CAACl9P,OAAD,YAAa0xJ,MAAb,cAAuBt0J,MAAvB,YAAsC,IAAtC,CAAR;AACH,SAFD,MAGK,IAAIA,MAAM,GAAG,CAAb,EAAgB;AACjB8/P,kBAAQ,CAACl9P,OAAD,YAAa0xJ,MAAb,kBAAkC,IAAlC,CAAR;AACH;AACJ,OAVD;AAWH;AACD;;;AACA,aAASwrG,QAAT,CAAkBl9P,OAAlB,EAA2B4oB,SAA3B,EAAsCkhD,KAAtC,EAA6C;AACzC,UAAM37C,SAAS,GAAGnuB,OAAO,CAACijC,aAAR,CAAsB9U,SAAxC;AACA27C,WAAK,GAAG37C,SAAS,CAACte,GAAV,CAAc+Y,SAAd,CAAH,GAA8BuF,SAAS,CAACE,MAAV,CAAiBzF,SAAjB,CAAnC;AACH;;QACKu0O,a;;;;AAENA,iBAAa,CAACj3P,IAAd,GAAqB,SAASk3P,qBAAT,CAA+Bh3P,CAA/B,EAAkC;AAAE,aAAO,KAAKA,CAAC,IAAI+2P,aAAV,GAAP;AAAoC,KAA7F;;AACAA,iBAAa,CAAC1vN,IAAd,GAAqB,+DAAwB;AAAEvzC,UAAI,EAAEijQ;AAAR,KAAxB,CAArB;AACAA,iBAAa,CAACzvN,IAAd,GAAqB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAACypN,eAAD,CAAD,EAAoBA,eAApB;AAAX,KAAxB,CAArB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOxpN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BuvN,aAA1B,EAAyC;AAAEtvN,oBAAY,EAAE,CAACkvN,OAAD,CAAhB;AAA2BpvN,eAAO,EAAE,CAACypN,eAAD,CAApC;AAAuDtpN,eAAO,EAAE,CAACivN,OAAD,EAAU3F,eAAV;AAAhE,OAAzC,CAAnD;AAA4L,KAA3M;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO5wP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB22P,aAAzB,EAAwC,CAAC;AACnGjjQ,YAAI,EAAE,sDAD6F;AAEnGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAACypN,eAAD,CADV;AAECtpN,iBAAO,EAAE,CAACivN,OAAD,EAAU3F,eAAV,CAFV;AAGCvpN,sBAAY,EAAE,CAACkvN,OAAD;AAHf,SAAD;AAF6F,OAAD,CAAxC,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAOA;;;;;QAGMM,S;;;AACF,yBAAYz+I,SAAZ;AACA;AACA5+G,aAFA;AAGA;AACAk/B,YAJA,EAIQ;AAAA;;AACJ,aAAK0/E,SAAL,GAAiBA,SAAjB;AACA,aAAK5+G,OAAL,GAAeA,OAAf;AACA,aAAKk/B,MAAL,GAAcA,MAAd;AACA;;AACA,aAAKrkC,KAAL,GAAa;AAAE;AAAf;AACH;AACD;;;;;eACA,mBAAU;AACN,eAAK+jH,SAAL,CAAe0+I,aAAf,CAA6B,IAA7B;AACH;;;;;AAGL;;;;;;AAIA,QAAMC,4BAA4B,GAAG;AACjCnK,mBAAa,EAAE,GADkB;AAEjCoK,kBAAY,EAAE;AAFmB,KAArC;AAIA;;;;;AAIA,QAAMC,wBAAwB,GAAG,GAAjC;AACA;;AACA,QAAMC,mBAAmB,GAAG,8FAAgC;AAAEl1N,aAAO,EAAE;AAAX,KAAhC,CAA5B;AACA;;AACA,QAAMm1N,iBAAiB,GAAG,CAAC,WAAD,EAAc,YAAd,CAA1B;AACA;;AACA,QAAMC,eAAe,GAAG,CAAC,SAAD,EAAY,YAAZ,EAA0B,UAA1B,EAAsC,aAAtC,CAAxB;AACA;;;;;;;;QAOMC,c;;;AACF,8BAAYC,OAAZ,EAAqBv9N,OAArB,EAA8B8hD,mBAA9B,EAAmD/P,QAAnD,EAA6D;AAAA;;AACzD,aAAKwrL,OAAL,GAAeA,OAAf;AACA,aAAKv9N,OAAL,GAAeA,OAAf;AACA;;AACA,aAAKw9N,cAAL,GAAsB,KAAtB;AACA;;AACA,aAAKC,cAAL,GAAsB,IAAIvwP,GAAJ,EAAtB;AACA;;AACA,aAAKwwP,0BAAL,GAAkC,KAAlC,CARyD,CASzD;;AACA,YAAI3rL,QAAQ,CAACjzE,SAAb,EAAwB;AACpB,eAAKunE,iBAAL,GAAyB,4EAAcyb,mBAAd,CAAzB;AACH;AACJ;AACD;;;;;;;;;;eAMA,sBAAarrC,CAAb,EAAgBC,CAAhB,EAAgC;AAAA;;AAAA,cAAb/X,MAAa,uEAAJ,EAAI;;AAC5B,cAAMg/N,aAAa,GAAG,KAAKC,cAAL,GAClB,KAAKA,cAAL,IAAuB,KAAKv3L,iBAAL,CAAuBlwB,qBAAvB,EAD3B;;AAEA,cAAM0nN,eAAe,GAAG19P,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBi/O,4BAAlB,CAAd,EAA+Dr+N,MAAM,CAAChkC,SAAtE,CAAxB;;AACA,cAAIgkC,MAAM,CAACm/N,QAAX,EAAqB;AACjBrnN,aAAC,GAAGknN,aAAa,CAACpoN,IAAd,GAAqBooN,aAAa,CAACrnN,KAAd,GAAsB,CAA/C;AACAI,aAAC,GAAGinN,aAAa,CAACtoN,GAAd,GAAoBsoN,aAAa,CAACpnN,MAAd,GAAuB,CAA/C;AACH;;AACD,cAAMwnN,MAAM,GAAGp/N,MAAM,CAACo/N,MAAP,IAAiBC,wBAAwB,CAACvnN,CAAD,EAAIC,CAAJ,EAAOinN,aAAP,CAAxD;AACA,cAAMt5L,OAAO,GAAG5tB,CAAC,GAAGknN,aAAa,CAACpoN,IAAlC;AACA,cAAM+uB,OAAO,GAAG5tB,CAAC,GAAGinN,aAAa,CAACtoN,GAAlC;AACA,cAAM95C,QAAQ,GAAGsiQ,eAAe,CAAChL,aAAjC;AACA,cAAMtD,MAAM,GAAGvwP,QAAQ,CAACk1B,aAAT,CAAuB,KAAvB,CAAf;AACAq7N,gBAAM,CAAC3hO,SAAP,CAAiBte,GAAjB,CAAqB,oBAArB;AACAigP,gBAAM,CAACp1P,KAAP,CAAao7C,IAAb,aAAuB8uB,OAAO,GAAG05L,MAAjC;AACAxO,gBAAM,CAACp1P,KAAP,CAAak7C,GAAb,aAAsBivB,OAAO,GAAGy5L,MAAhC;AACAxO,gBAAM,CAACp1P,KAAP,CAAao8C,MAAb,aAAyBwnN,MAAM,GAAG,CAAlC;AACAxO,gBAAM,CAACp1P,KAAP,CAAam8C,KAAb,aAAwBynN,MAAM,GAAG,CAAjC,QAjB4B,CAkB5B;AACA;;AACA,cAAIp/N,MAAM,CAACuwN,KAAP,IAAgB,IAApB,EAA0B;AACtBK,kBAAM,CAACp1P,KAAP,CAAamyC,eAAb,GAA+B3N,MAAM,CAACuwN,KAAtC;AACH;;AACDK,gBAAM,CAACp1P,KAAP,CAAa8jQ,kBAAb,aAAqC1iQ,QAArC;;AACA,eAAK8qE,iBAAL,CAAuB7xC,WAAvB,CAAmC+6N,MAAnC,EAxB4B,CAyB5B;AACA;;;AACA2O,mCAAyB,CAAC3O,MAAD,CAAzB;AACAA,gBAAM,CAACp1P,KAAP,CAAaukD,SAAb,GAAyB,UAAzB,CA5B4B,CA6B5B;;AACA,cAAMy/M,SAAS,GAAG,IAAIrB,SAAJ,CAAc,IAAd,EAAoBvN,MAApB,EAA4B5wN,MAA5B,CAAlB;AACAw/N,mBAAS,CAAC7jQ,KAAV,GAAkB;AAAE;AAApB,WA/B4B,CAgC5B;;AACA,eAAKmjQ,cAAL,CAAoBnuP,GAApB,CAAwB6uP,SAAxB;;AACA,cAAI,CAACx/N,MAAM,CAACy/N,UAAZ,EAAwB;AACpB,iBAAKC,0BAAL,GAAkCF,SAAlC;AACH,WApC2B,CAqC5B;AACA;;;AACA,eAAKG,sBAAL,CAA4B,YAAM;AAC9B,gBAAMC,2BAA2B,GAAGJ,SAAS,KAAK,QAAI,CAACE,0BAAvD;AACAF,qBAAS,CAAC7jQ,KAAV,GAAkB;AAAE;AAApB,aAF8B,CAG9B;AACA;AACA;AACA;;AACA,gBAAI,CAACqkC,MAAM,CAACy/N,UAAR,KAAuB,CAACG,2BAAD,IAAgC,CAAC,QAAI,CAACf,cAA7D,CAAJ,EAAkF;AAC9EW,uBAAS,CAACK,OAAV;AACH;AACJ,WAVD,EAUGjjQ,QAVH;;AAWA,iBAAO4iQ,SAAP;AACH;AACD;;;;eACA,uBAAcA,SAAd,EAAyB;AACrB,cAAMM,SAAS,GAAG,KAAKhB,cAAL,WAA2BU,SAA3B,CAAlB;;AACA,cAAIA,SAAS,KAAK,KAAKE,0BAAvB,EAAmD;AAC/C,iBAAKA,0BAAL,GAAkC,IAAlC;AACH,WAJoB,CAKrB;;;AACA,cAAI,CAAC,KAAKZ,cAAL,CAAoBluP,IAAzB,EAA+B;AAC3B,iBAAKquP,cAAL,GAAsB,IAAtB;AACH,WARoB,CASrB;;;AACA,cAAI,CAACa,SAAL,EAAgB;AACZ;AACH;;AACD,cAAMC,QAAQ,GAAGP,SAAS,CAAC1+P,OAA3B;AACA,cAAMo+P,eAAe,GAAG19P,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkBi/O,4BAAlB,CAAd,EAA+DmB,SAAS,CAACx/N,MAAV,CAAiBhkC,SAAhF,CAAxB;AACA+jQ,kBAAQ,CAACvkQ,KAAT,CAAe8jQ,kBAAf,aAAuCJ,eAAe,CAACZ,YAAvD;AACAyB,kBAAQ,CAACvkQ,KAAT,CAAem7C,OAAf,GAAyB,GAAzB;AACA6oN,mBAAS,CAAC7jQ,KAAV,GAAkB;AAAE;AAApB,WAjBqB,CAkBrB;;AACA,eAAKgkQ,sBAAL,CAA4B,YAAM;AAC9BH,qBAAS,CAAC7jQ,KAAV,GAAkB;AAAE;AAApB;AACAokQ,oBAAQ,CAACr6O,UAAT,CAAoBwQ,WAApB,CAAgC6pO,QAAhC;AACH,WAHD,EAGGb,eAAe,CAACZ,YAHnB;AAIH;AACD;;;;eACA,sBAAa;AACT,eAAKQ,cAAL,CAAoBvhQ,OAApB,CAA4B,UAAAqzP,MAAM;AAAA,mBAAIA,MAAM,CAACiP,OAAP,EAAJ;AAAA,WAAlC;AACH;AACD;;;;eACA,mCAA0B;AACtB,eAAKf,cAAL,CAAoBvhQ,OAApB,CAA4B,UAAAqzP,MAAM,EAAI;AAClC,gBAAI,CAACA,MAAM,CAAC5wN,MAAP,CAAcy/N,UAAnB,EAA+B;AAC3B7O,oBAAM,CAACiP,OAAP;AACH;AACJ,WAJD;AAKH;AACD;;;;eACA,4BAAmB18K,mBAAnB,EAAwC;AACpC,cAAMriF,OAAO,GAAG,4EAAcqiF,mBAAd,CAAhB;;AACA,cAAI,CAACriF,OAAD,IAAYA,OAAO,KAAK,KAAKk/P,eAAjC,EAAkD;AAC9C;AACH,WAJmC,CAKpC;;;AACA,eAAKC,oBAAL;;AACA,eAAKD,eAAL,GAAuBl/P,OAAvB;;AACA,eAAKo/P,eAAL,CAAqBzB,iBAArB;AACH;AACD;;;;;;;eAIA,qBAAYr8P,KAAZ,EAAmB;AACf,cAAIA,KAAK,CAACpH,IAAN,KAAe,WAAnB,EAAgC;AAC5B,iBAAKmlQ,YAAL,CAAkB/9P,KAAlB;AACH,WAFD,MAGK,IAAIA,KAAK,CAACpH,IAAN,KAAe,YAAnB,EAAiC;AAClC,iBAAKolQ,aAAL,CAAmBh+P,KAAnB;AACH,WAFI,MAGA;AACD,iBAAKi+P,YAAL;AACH,WATc,CAUf;AACA;AACA;;;AACA,cAAI,CAAC,KAAKtB,0BAAV,EAAsC;AAClC,iBAAKmB,eAAL,CAAqBxB,eAArB;;AACA,iBAAKK,0BAAL,GAAkC,IAAlC;AACH;AACJ;AACD;;;;eACA,sBAAa38P,KAAb,EAAoB;AAChB;AACA;AACA,cAAMk+P,eAAe,GAAG,0FAAgCl+P,KAAhC,CAAxB;AACA,cAAMy/C,gBAAgB,GAAG,KAAK0+M,oBAAL,IACrBluO,IAAI,CAACC,GAAL,KAAa,KAAKiuO,oBAAL,GAA4BhC,wBAD7C;;AAEA,cAAI,CAAC,KAAKK,OAAL,CAAa4B,cAAd,IAAgC,CAACF,eAAjC,IAAoD,CAACz+M,gBAAzD,EAA2E;AACvE,iBAAKg9M,cAAL,GAAsB,IAAtB;AACA,iBAAK4B,YAAL,CAAkBr+P,KAAK,CAACs+P,OAAxB,EAAiCt+P,KAAK,CAACu+P,OAAvC,EAAgD,KAAK/B,OAAL,CAAagC,YAA7D;AACH;AACJ;AACD;;;;eACA,uBAAcx+P,KAAd,EAAqB;AACjB,cAAI,CAAC,KAAKw8P,OAAL,CAAa4B,cAAd,IAAgC,CAAC,2FAAiCp+P,KAAjC,CAArC,EAA8E;AAC1E;AACA;AACA;AACA,iBAAKm+P,oBAAL,GAA4BluO,IAAI,CAACC,GAAL,EAA5B;AACA,iBAAKusO,cAAL,GAAsB,IAAtB,CAL0E,CAM1E;AACA;;AACA,gBAAM/1N,OAAO,GAAG1mC,KAAK,CAAC2mC,cAAtB;;AACA,iBAAK,IAAIxjC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGujC,OAAO,CAAC5qC,MAA5B,EAAoCqH,CAAC,EAArC,EAAyC;AACrC,mBAAKk7P,YAAL,CAAkB33N,OAAO,CAACvjC,CAAD,CAAP,CAAWm7P,OAA7B,EAAsC53N,OAAO,CAACvjC,CAAD,CAAP,CAAWo7P,OAAjD,EAA0D,KAAK/B,OAAL,CAAagC,YAAvE;AACH;AACJ;AACJ;AACD;;;;eACA,wBAAe;AACX,cAAI,CAAC,KAAK/B,cAAV,EAA0B;AACtB;AACH;;AACD,eAAKA,cAAL,GAAsB,KAAtB,CAJW,CAKX;;AACA,eAAKC,cAAL,CAAoBvhQ,OAApB,CAA4B,UAAAqzP,MAAM,EAAI;AAClC;AACA;AACA,gBAAMpxN,SAAS,GAAGoxN,MAAM,CAACj1P,KAAP,KAAiB;AAAE;AAAnB,eACdi1P,MAAM,CAAC5wN,MAAP,CAAc6gO,oBAAd,IAAsCjQ,MAAM,CAACj1P,KAAP,KAAiB;AAAE;AAD7D;;AAEA,gBAAI,CAACi1P,MAAM,CAAC5wN,MAAP,CAAcy/N,UAAf,IAA6BjgO,SAAjC,EAA4C;AACxCoxN,oBAAM,CAACiP,OAAP;AACH;AACJ,WARD;AASH;AACD;;;;eACA,gCAAuBriQ,EAAvB,EAAsC;AAAA,cAAXX,KAAW,uEAAH,CAAG;;AAClC,eAAKwkC,OAAL,CAAac,iBAAb,CAA+B;AAAA,mBAAM+D,UAAU,CAAC1oC,EAAD,EAAKX,KAAL,CAAhB;AAAA,WAA/B;AACH;AACD;;;;eACA,yBAAgBikQ,UAAhB,EAA4B;AAAA;;AACxB,eAAKz/N,OAAL,CAAac,iBAAb,CAA+B,YAAM;AACjC2+N,sBAAU,CAACvjQ,OAAX,CAAmB,UAACvC,IAAD,EAAU;AACzB,sBAAI,CAACglQ,eAAL,CAAqBvsO,gBAArB,CAAsCz4B,IAAtC,EAA4C,QAA5C,EAAkDwjQ,mBAAlD;AACH,aAFD;AAGH,WAJD;AAKH;AACD;;;;eACA,gCAAuB;AAAA;;AACnB,cAAI,KAAKwB,eAAT,EAA0B;AACtBvB,6BAAiB,CAAClhQ,OAAlB,CAA0B,UAACvC,IAAD,EAAU;AAChC,sBAAI,CAACglQ,eAAL,CAAqBxsO,mBAArB,CAAyCx4B,IAAzC,EAA+C,QAA/C,EAAqDwjQ,mBAArD;AACH,aAFD;;AAGA,gBAAI,KAAKO,0BAAT,EAAqC;AACjCL,6BAAe,CAACnhQ,OAAhB,CAAwB,UAACvC,IAAD,EAAU;AAC9B,wBAAI,CAACglQ,eAAL,CAAqBxsO,mBAArB,CAAyCx4B,IAAzC,EAA+C,QAA/C,EAAqDwjQ,mBAArD;AACH,eAFD;AAGH;AACJ;AACJ;;;;;AAEL;;;AACA,aAASe,yBAAT,CAAmCz+P,OAAnC,EAA4C;AACxC;AACA;AACA;AACAV,YAAM,CAACqN,gBAAP,CAAwB3M,OAAxB,EAAiCmJ,gBAAjC,CAAkD,SAAlD;AACH;AACD;;;;;AAGA,aAASo1P,wBAAT,CAAkCvnN,CAAlC,EAAqCC,CAArC,EAAwCG,IAAxC,EAA8C;AAC1C,UAAM6oN,KAAK,GAAG9hQ,IAAI,CAACC,GAAL,CAASD,IAAI,CAACkZ,GAAL,CAAS2/B,CAAC,GAAGI,IAAI,CAACtB,IAAlB,CAAT,EAAkC33C,IAAI,CAACkZ,GAAL,CAAS2/B,CAAC,GAAGI,IAAI,CAACT,KAAlB,CAAlC,CAAd;AACA,UAAMupN,KAAK,GAAG/hQ,IAAI,CAACC,GAAL,CAASD,IAAI,CAACkZ,GAAL,CAAS4/B,CAAC,GAAGG,IAAI,CAACxB,GAAlB,CAAT,EAAiCz3C,IAAI,CAACkZ,GAAL,CAAS4/B,CAAC,GAAGG,IAAI,CAACR,MAAlB,CAAjC,CAAd;AACA,aAAOz4C,IAAI,CAACgiQ,IAAL,CAAUF,KAAK,GAAGA,KAAR,GAAgBC,KAAK,GAAGA,KAAlC,CAAP;AACH;AAED;;;;;;;;AAOA;;;AACA,QAAME,yBAAyB,GAAG,IAAI,4DAAJ,CAAmB,2BAAnB,CAAlC;;QACMC,S;;;AACF,yBAAYx9N,WAAZ,EAAyBggD,MAAzB,EAAiCvQ,QAAjC,EAA2CguL,aAA3C,EAA0DlR,cAA1D,EAA0E;AAAA;;AACtE,aAAKvsN,WAAL,GAAmBA,WAAnB;AACA,aAAKusN,cAAL,GAAsBA,cAAtB;AACA;;;;;;AAKA,aAAKkP,MAAL,GAAc,CAAd;AACA,aAAKpvN,SAAL,GAAiB,KAAjB;AACA;;AACA,aAAKqB,cAAL,GAAsB,KAAtB;AACA,aAAKgwN,cAAL,GAAsBD,aAAa,IAAI,EAAvC;AACA,aAAKE,eAAL,GAAuB,IAAI3C,cAAJ,CAAmB,IAAnB,EAAyBh7K,MAAzB,EAAiChgD,WAAjC,EAA8CyvC,QAA9C,CAAvB;AACH;AACD;;;;;;;;aAIA,eAAe;AAAE,iBAAO,KAAKpjC,SAAZ;AAAwB,S;aACzC,aAAa7sC,KAAb,EAAoB;AAChB,cAAIA,KAAJ,EAAW;AACP,iBAAKo+P,uBAAL;AACH;;AACD,eAAKvxN,SAAL,GAAiB7sC,KAAjB;;AACA,eAAKq+P,4BAAL;AACH;AACD;;;;;;;aAIA,eAAc;AAAE,iBAAO,KAAKC,QAAL,IAAiB,KAAK99N,WAAL,CAAiBI,aAAzC;AAAyD,S;aACzE,aAAYlpC,OAAZ,EAAqB;AACjB,eAAK4mQ,QAAL,GAAgB5mQ,OAAhB;;AACA,eAAK2mQ,4BAAL;AACH;;;eACD,oBAAW;AACP,eAAKnwN,cAAL,GAAsB,IAAtB;;AACA,eAAKmwN,4BAAL;AACH;;;eACD,uBAAc;AACV,eAAKF,eAAL,CAAqBrB,oBAArB;AACH;AACD;;;;eACA,sBAAa;AACT,eAAKqB,eAAL,CAAqBI,UAArB;AACH;AACD;;;;eACA,mCAA0B;AACtB,eAAKJ,eAAL,CAAqBC,uBAArB;AACH;AACD;;;;;;;aAIA,eAAmB;AACf,iBAAO;AACHpC,oBAAQ,EAAE,KAAKA,QADZ;AAEHC,kBAAM,EAAE,KAAKA,MAFV;AAGH7O,iBAAK,EAAE,KAAKA,KAHT;AAIHv0P,qBAAS,EAAEwF,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkB,KAAKiiP,cAAL,CAAoBrlQ,SAAtC,CAAd,EAAiE,KAAKk0P,cAAL,KAAwB,gBAAxB,GAA2C;AAAEgE,2BAAa,EAAE,CAAjB;AAAoBoK,0BAAY,EAAE;AAAlC,aAA3C,GAAmF,EAApJ,CAAd,EAAwK,KAAKtiQ,SAA7K,CAJR;AAKH6kQ,gCAAoB,EAAE,KAAKQ,cAAL,CAAoBR;AALvC,WAAP;AAOH;AACD;;;;;;;aAIA,eAAqB;AACjB,iBAAO,KAAKr+P,QAAL,IAAiB,CAAC,CAAC,KAAK6+P,cAAL,CAAoB7+P,QAA9C;AACH;AACD;;;;eACA,wCAA+B;AAC3B,cAAI,CAAC,KAAKA,QAAN,IAAkB,KAAK6uC,cAA3B,EAA2C;AACvC,iBAAKiwN,eAAL,CAAqBK,kBAArB,CAAwC,KAAK9mQ,OAA7C;AACH;AACJ;AACD;;;;eACA,gBAAO+mQ,SAAP,EAAiC;AAAA,cAAf7pN,CAAe,uEAAX,CAAW;AAAA,cAAR/X,MAAQ;;AAC7B,cAAI,OAAO4hO,SAAP,KAAqB,QAAzB,EAAmC;AAC/B,mBAAO,KAAKN,eAAL,CAAqBb,YAArB,CAAkCmB,SAAlC,EAA6C7pN,CAA7C,EAAgDv2C,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkB,KAAKwhP,YAAvB,CAAd,EAAoD5gO,MAApD,CAAhD,CAAP;AACH,WAFD,MAGK;AACD,mBAAO,KAAKshO,eAAL,CAAqBb,YAArB,CAAkC,CAAlC,EAAqC,CAArC,EAAwCj/P,MAAM,CAAC4d,MAAP,CAAc5d,MAAM,CAAC4d,MAAP,CAAc,EAAd,EAAkB,KAAKwhP,YAAvB,CAAd,EAAoDgB,SAApD,CAAxC,CAAP;AACH;AACJ;;;;;;AAELT,aAAS,CAACn6P,IAAV,GAAiB,SAAS66P,iBAAT,CAA2B36P,CAA3B,EAA8B;AAAE,aAAO,KAAKA,CAAC,IAAIi6P,SAAV,EAAqB,gEAAyB,wDAAzB,CAArB,EAAkE,gEAAyB,oDAAzB,CAAlE,EAA2G,gEAAyB,8DAAzB,CAA3G,EAAsJ,gEAAyBD,yBAAzB,EAAoD,CAApD,CAAtJ,EAA8M,gEAAyB,0FAAzB,EAAgD,CAAhD,CAA9M,CAAP;AAA2Q,KAA5T;;AACAC,aAAS,CAACx8N,IAAV,GAAiB,gEAAyB;AAAE3pC,UAAI,EAAEmmQ,SAAR;AAAmBv8N,eAAS,EAAE,CAAC,CAAC,EAAD,EAAK,YAAL,EAAmB,EAAnB,CAAD,EAAyB,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAzB,CAA9B;AAA+EqtB,eAAS,EAAE,CAAC,CAAD,EAAI,YAAJ,CAA1F;AAA6GxgB,cAAQ,EAAE,CAAvH;AAA0HC,kBAAY,EAAE,SAASowN,sBAAT,CAAgClwN,EAAhC,EAAoC76B,GAApC,EAAyC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AACjO,oEAAmB,sBAAnB,EAA2C76B,GAAG,CAACgrP,SAA/C;AACH;AAAE,OAFmC;AAEjCl9N,YAAM,EAAE;AAAEu6N,cAAM,EAAE,CAAC,iBAAD,EAAoB,QAApB,CAAV;AAAyC58P,gBAAQ,EAAE,CAAC,mBAAD,EAAsB,UAAtB,CAAnD;AAAsF3H,eAAO,EAAE,CAAC,kBAAD,EAAqB,SAArB,CAA/F;AAAgI01P,aAAK,EAAE,CAAC,gBAAD,EAAmB,OAAnB,CAAvI;AAAoKwR,iBAAS,EAAE,CAAC,oBAAD,EAAuB,WAAvB,CAA/K;AAAoN5C,gBAAQ,EAAE,CAAC,mBAAD,EAAsB,UAAtB,CAA9N;AAAiQnjQ,iBAAS,EAAE,CAAC,oBAAD,EAAuB,WAAvB;AAA5Q,OAFyB;AAE0R8oC,cAAQ,EAAE,CAAC,WAAD;AAFpS,KAAzB,CAAjB;;AAGAq8N,aAAS,CAACxmO,cAAV,GAA2B;AAAA,aAAM,CAC7B;AAAE3/B,YAAI,EAAE;AAAR,OAD6B,EAE7B;AAAEA,YAAI,EAAE;AAAR,OAF6B,EAG7B;AAAEA,YAAI,EAAE;AAAR,OAH6B,EAI7B;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACigP,yBAAD;AAAtB,SAArB;AAA/B,OAJ6B,EAK7B;AAAElmQ,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,0FAAD;AAAtB,SAArB;AAA5B,OAL6B,CAAN;AAAA,KAA3B;;AAOAkgP,aAAS,CAACn8N,cAAV,GAA2B;AACvBurN,WAAK,EAAE,CAAC;AAAEv1P,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,gBAAD;AAArB,OAAD,CADgB;AAEvB8gP,eAAS,EAAE,CAAC;AAAE/mQ,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,oBAAD;AAArB,OAAD,CAFY;AAGvBk+O,cAAQ,EAAE,CAAC;AAAEnkQ,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,mBAAD;AAArB,OAAD,CAHa;AAIvBm+O,YAAM,EAAE,CAAC;AAAEpkQ,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,iBAAD;AAArB,OAAD,CAJe;AAKvBjlB,eAAS,EAAE,CAAC;AAAEhB,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,oBAAD;AAArB,OAAD,CALY;AAMvBze,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,mBAAD;AAArB,OAAD,CANa;AAOvBpmB,aAAO,EAAE,CAAC;AAAEG,YAAI,EAAE,mDAAR;AAAeimB,YAAI,EAAE,CAAC,kBAAD;AAArB,OAAD;AAPc,KAA3B;;AASA,KAAC,YAAY;AAAE,OAAC,OAAO3Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB65P,SAAzB,EAAoC,CAAC;AAC/FnmQ,YAAI,EAAE,uDADyF;AAE/FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,2BADX;AAEC0oC,kBAAQ,EAAE,WAFX;AAGC+M,cAAI,EAAE;AACF,qBAAS,YADP;AAEF,4CAAgC;AAF9B;AAHP,SAAD;AAFyF,OAAD,CAApC,EAU1D,YAAY;AAAE,eAAO,CAAC;AAAE72C,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAAuD;AAAEA,cAAI,EAAE;AAAR,SAAvD,EAAkF;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC/H5/B,gBAAI,EAAE;AADyH,WAAD,EAE/H;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACigP,yBAAD;AAFP,WAF+H;AAA/B,SAAlF,EAKX;AAAElmQ,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC/B5/B,gBAAI,EAAE;AADyB,WAAD,EAE/B;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,0FAAD;AAFP,WAF+B;AAA5B,SALW,CAAP;AAUF,OApB8C,EAoB5C;AAAEm+O,cAAM,EAAE,CAAC;AACrBpkQ,cAAI,EAAE,mDADe;AAErBimB,cAAI,EAAE,CAAC,iBAAD;AAFe,SAAD,CAAV;AAGVze,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE,mDADK;AAEXimB,cAAI,EAAE,CAAC,mBAAD;AAFK,SAAD,CAHA;AAMVpmB,eAAO,EAAE,CAAC;AACVG,cAAI,EAAE,mDADI;AAEVimB,cAAI,EAAE,CAAC,kBAAD;AAFI,SAAD,CANC;AASVsvO,aAAK,EAAE,CAAC;AACRv1P,cAAI,EAAE,mDADE;AAERimB,cAAI,EAAE,CAAC,gBAAD;AAFE,SAAD,CATG;AAYV8gP,iBAAS,EAAE,CAAC;AACZ/mQ,cAAI,EAAE,mDADM;AAEZimB,cAAI,EAAE,CAAC,oBAAD;AAFM,SAAD,CAZD;AAeVk+O,gBAAQ,EAAE,CAAC;AACXnkQ,cAAI,EAAE,mDADK;AAEXimB,cAAI,EAAE,CAAC,mBAAD;AAFK,SAAD,CAfA;AAkBVjlB,iBAAS,EAAE,CAAC;AACZhB,cAAI,EAAE,mDADM;AAEZimB,cAAI,EAAE,CAAC,oBAAD;AAFM,SAAD;AAlBD,OApB4C,CAAnD;AAyCC,KAzChB;AA2CA;;;;;;;;;QAOM+gP,e;;;;AAENA,mBAAe,CAACh7P,IAAhB,GAAuB,SAASi7P,uBAAT,CAAiC/6P,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAI86P,eAAV,GAAP;AAAsC,KAAnG;;AACAA,mBAAe,CAACzzN,IAAhB,GAAuB,+DAAwB;AAAEvzC,UAAI,EAAEgnQ;AAAR,KAAxB,CAAvB;AACAA,mBAAe,CAACxzN,IAAhB,GAAuB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAACypN,eAAD,EAAkB,oEAAlB,CAAD,EAAoCA,eAApC;AAAX,KAAxB,CAAvB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOxpN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0BszN,eAA1B,EAA2C;AAAErzN,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAACwyN,SAAD,CAAP;AAAqB,SAAnD;AAAqD1yN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAACypN,eAAD,EAAkB,oEAAlB,CAAP;AAA2C,SAAvH;AAAyHtpN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAACuyN,SAAD,EAAYjJ,eAAZ,CAAP;AAAsC;AAAtL,OAA3C,CAAnD;AAA0R,KAAzS;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO5wP,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB06P,eAAzB,EAA0C,CAAC;AACrGhnQ,YAAI,EAAE,sDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAACypN,eAAD,EAAkB,oEAAlB,CADV;AAECtpN,iBAAO,EAAE,CAACuyN,SAAD,EAAYjJ,eAAZ,CAFV;AAGCvpN,sBAAY,EAAE,CAACwyN,SAAD;AAHf,SAAD;AAF+F,OAAD,CAA1C,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAOA;;;;;;;;;;;;;;;QAaMe,iB,GACF,2BAAYhS,cAAZ,EAA4B;AAAA;;AACxB,WAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,WAAKv0P,KAAL,GAAa,WAAb;AACA;;AACA,WAAK6G,QAAL,GAAgB,KAAhB;AACH,K;;AAEL0/P,qBAAiB,CAACl7P,IAAlB,GAAyB,SAASm7P,yBAAT,CAAmCj7P,CAAnC,EAAsC;AAAE,aAAO,KAAKA,CAAC,IAAIg7P,iBAAV,EAA6B,gEAAyB,0FAAzB,EAAgD,CAAhD,CAA7B,CAAP;AAA0F,KAA3J;;AACAA,qBAAiB,CAACx6K,IAAlB,GAAyB,gEAAyB;AAAE1sF,UAAI,EAAEknQ,iBAAR;AAA2Bt9N,eAAS,EAAE,CAAC,CAAC,qBAAD,CAAD,CAAtC;AAAiEqtB,eAAS,EAAE,CAAC,CAAD,EAAI,qBAAJ,CAA5E;AAAwGxgB,cAAQ,EAAE,CAAlH;AAAqHC,kBAAY,EAAE,SAAS0wN,8BAAT,CAAwCxwN,EAAxC,EAA4C76B,GAA5C,EAAiD;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC5O,oEAAmB,mCAAnB,EAAwD76B,GAAG,CAACpb,KAAJ,KAAc,eAAtE,EAAuF,6BAAvF,EAAsHob,GAAG,CAACpb,KAAJ,KAAc,SAApI,EAA+I,8BAA/I,EAA+Kob,GAAG,CAACvU,QAAnL,EAA6L,yBAA7L,EAAwNuU,GAAG,CAACm5O,cAAJ,KAAuB,gBAA/O;AACH;AAAE,OAF2C;AAEzCrrN,YAAM,EAAE;AAAElpC,aAAK,EAAE,OAAT;AAAkB6G,gBAAQ,EAAE;AAA5B,OAFiC;AAESulF,WAAK,EAAE,CAFhB;AAEmBC,UAAI,EAAE,CAFzB;AAE4BhpC,cAAQ,EAAE,SAASqjN,0BAAT,CAAoCzwN,EAApC,EAAwC76B,GAAxC,EAA6C,CAAG,CAFtF;AAEwF3b,YAAM,EAAE,CAAC,whCAAD,CAFhG;AAE4nC+sF,mBAAa,EAAE,CAF3oC;AAE8oCC,qBAAe,EAAE;AAF/pC,KAAzB,CAAzB;;AAGA85K,qBAAiB,CAACvnO,cAAlB,GAAmC;AAAA,aAAM,CACrC;AAAE3/B,YAAI,EAAE4iC,MAAR;AAAgBhD,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAAC,0FAAD;AAAtB,SAArB;AAA5B,OADqC,CAAN;AAAA,KAAnC;;AAGAihP,qBAAiB,CAACl9N,cAAlB,GAAmC;AAC/BrpC,WAAK,EAAE,CAAC;AAAEX,YAAI,EAAE;AAAR,OAAD,CADwB;AAE/BwH,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE;AAAR,OAAD;AAFqB,KAAnC;;AAIA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB46P,iBAAzB,EAA4C,CAAC;AACvGlnQ,YAAI,EAAE,uDADiG;AAEvGimB,YAAI,EAAE,CAAC;AACCknE,uBAAa,EAAE,gEAAkBE,IADlC;AAECD,yBAAe,EAAE,sEAAwBE,MAF1C;AAGClsF,kBAAQ,EAAE,qBAHX;AAIC4iD,kBAAQ,EAAE,EAJX;AAKCnN,cAAI,EAAE;AACF,qBAAS,qBADP;AAEF,yDAA6C,2BAF3C;AAGF,mDAAuC,qBAHrC;AAIF,oDAAwC,UAJtC;AAKF,+CAAmC;AALjC,WALP;AAYCz2C,gBAAM,EAAE,CAAC,whCAAD;AAZT,SAAD;AAFiG,OAAD,CAA5C,EAgB1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAE4iC,MAAR;AAAgBhD,oBAAU,EAAE,CAAC;AAC3C5/B,gBAAI,EAAE;AADqC,WAAD,EAE3C;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAAC,0FAAD;AAFP,WAF2C;AAA5B,SAAD,CAAP;AAKF,OArB8C,EAqB5C;AAAEtlB,aAAK,EAAE,CAAC;AACpBX,cAAI,EAAE;AADc,SAAD,CAAT;AAEVwH,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE;AADK,SAAD;AAFA,OArB4C,CAAnD;AAyBC,KAzBhB;AA2BA;;;;;;;;;QAOMsnQ,uB;;;;AAENA,2BAAuB,CAACt7P,IAAxB,GAA+B,SAASu7P,+BAAT,CAAyCr7P,CAAzC,EAA4C;AAAE,aAAO,KAAKA,CAAC,IAAIo7P,uBAAV,GAAP;AAA8C,KAA3H;;AACAA,2BAAuB,CAAC/zN,IAAxB,GAA+B,+DAAwB;AAAEvzC,UAAI,EAAEsnQ;AAAR,KAAxB,CAA/B;AACAA,2BAAuB,CAAC9zN,IAAxB,GAA+B,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAACypN,eAAD,CAAD;AAAX,KAAxB,CAA/B;;AACA,KAAC,YAAY;AAAE,OAAC,OAAOxpN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B4zN,uBAA1B,EAAmD;AAAE3zN,oBAAY,EAAE,CAACuzN,iBAAD,CAAhB;AAAqCzzN,eAAO,EAAE,CAACypN,eAAD,CAA9C;AAAiEtpN,eAAO,EAAE,CAACszN,iBAAD;AAA1E,OAAnD,CAAnD;AAAyM,KAAxN;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO56P,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBg7P,uBAAzB,EAAkD,CAAC;AAC7GtnQ,YAAI,EAAE,sDADuG;AAE7GimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAACypN,eAAD,CADV;AAECtpN,iBAAO,EAAE,CAACszN,iBAAD,CAFV;AAGCvzN,sBAAY,EAAE,CAACuzN,iBAAD;AAHf,SAAD;AAFuG,OAAD,CAAlD,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAOA;;;;;AAGA,QAAMM,2BAA2B,GAAG,IAAI,4DAAJ,CAAmB,6BAAnB,CAApC;AAEA;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;QACMC,e;;;;AAEN,QAAMC,qBAAqB,GAAG1J,aAAa,CAACyJ,eAAD,CAA3C,C,CACA;;;AACA,QAAIE,wBAAwB,GAAG,CAA/B;;QACMC,gB;;;;;;;AACF,gCAAYn9O,MAAZ,EAAoB;AAAA;;AAAA;;AAChB,YAAI2a,EAAJ;;AACA;AACA;;AACA,iBAAKyiO,QAAL,gCAAsCF,wBAAwB,EAA9D;AACA,iBAAKG,MAAL,GAAc,CAAC1iO,EAAE,GAAG3a,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACs9O,WAA7D,MAA8E,IAA9E,IAAsF3iO,EAAE,KAAK,KAAK,CAAlG,GAAsGA,EAAtG,GAA2G,KAAzH;AALgB;AAMnB;;;MAP0BsiO,qB;;AAS/BE,oBAAgB,CAAC57P,IAAjB,GAAwB,SAASg8P,wBAAT,CAAkC97P,CAAlC,EAAqC;AAAE,aAAO,KAAKA,CAAC,IAAI07P,gBAAV,EAA4B,gEAAyBJ,2BAAzB,EAAsD,CAAtD,CAA5B,CAAP;AAA+F,KAA9J;;AACAI,oBAAgB,CAACj+N,IAAjB,GAAwB,gEAAyB;AAAE3pC,UAAI,EAAE4nQ,gBAAR;AAA0B/9N,YAAM,EAAE;AAAE6oD,aAAK,EAAE;AAAT,OAAlC;AAAsD3oD,cAAQ,EAAE,CAAC,wEAAD;AAAhE,KAAzB,CAAxB;;AACA69N,oBAAgB,CAACjoO,cAAjB,GAAkC;AAAA,aAAM,CACpC;AAAE3/B,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACuhP,2BAAD;AAAtB,SAAD,EAAyD;AAAExnQ,cAAI,EAAE;AAAR,SAAzD;AAA/B,OADoC,CAAN;AAAA,KAAlC;;AAGA4nQ,oBAAgB,CAAC59N,cAAjB,GAAkC;AAC9B0oD,WAAK,EAAE,CAAC;AAAE1yF,YAAI,EAAE;AAAR,OAAD;AADuB,KAAlC;;AAGA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBs7P,gBAAzB,EAA2C,CAAC;AACtG5nQ,YAAI,EAAE;AADgG,OAAD,CAA3C,EAE1D,YAAY;AAAE,eAAO,CAAC;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC9C5/B,gBAAI,EAAE,oDADwC;AAE9CimB,gBAAI,EAAE,CAACuhP,2BAAD;AAFwC,WAAD,EAG9C;AACCxnQ,gBAAI,EAAE;AADP,WAH8C;AAA/B,SAAD,CAAP;AAKF,OAP8C,EAO5C;AAAE0yF,aAAK,EAAE,CAAC;AACpB1yF,cAAI,EAAE;AADc,SAAD;AAAT,OAP4C,CAAnD;AASC,KAThB;AAUA;;;;;;;AAKA,QAAMioQ,YAAY,GAAG,IAAI,4DAAJ,CAAmB,aAAnB,CAArB;AACA;;;;QAGMC,W;;;;;;;;;;;;;;MAAoBN,gB;;AAE1BM,eAAW,CAACl8P,IAAZ,GAAmB,SAASm8P,mBAAT,CAA6Bj8P,CAA7B,EAAgC;AAAE,aAAOk8P,wBAAwB,CAACl8P,CAAC,IAAIg8P,WAAN,CAA/B;AAAoD,KAAzG;;AACAA,eAAW,CAACx7K,IAAZ,GAAmB,gEAAyB;AAAE1sF,UAAI,EAAEkoQ,WAAR;AAAqBt+N,eAAS,EAAE,CAAC,CAAC,cAAD,CAAD,CAAhC;AAAoDqtB,eAAS,EAAE,CAAC,CAAD,EAAI,cAAJ,CAA/D;AAAoFxgB,cAAQ,EAAE,CAA9F;AAAiGC,kBAAY,EAAE,SAAS2xN,wBAAT,CAAkCzxN,EAAlC,EAAsC76B,GAAtC,EAA2C;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC5M,oEAAmB,MAAnB,EAA2B76B,GAAG,CAAC+rP,MAAJ,GAAa,IAAb,GAAoB,OAA/C,EAAwD,eAAxD,EAAyE/rP,GAAG,CAAC+rP,MAAJ,GAAa,IAAb,GAAoB/rP,GAAG,CAACvU,QAAJ,CAAahC,QAAb,EAA7F,EAAsH,iBAAtH,EAAyIuW,GAAG,CAAC+rP,MAAJ,GAAa,IAAb,GAAoB/rP,GAAG,CAAC8rP,QAAjK;;AACA,oEAAmB,uBAAnB,EAA4C9rP,GAAG,CAACvU,QAAhD;AACH;AAAE,OAHqC;AAGnCqiC,YAAM,EAAE;AAAEriC,gBAAQ,EAAE;AAAZ,OAH2B;AAGDsiC,cAAQ,EAAE,CAAC,aAAD,CAHT;AAG0BC,cAAQ,EAAE,CAAC,iEAA0B,CAAC;AAAEoK,eAAO,EAAE8zN,YAAX;AAAyB7zN,mBAAW,EAAE8zN;AAAtC,OAAD,CAA1B,CAAD,EAAmF,wEAAnF,CAHpC;AAG2Jp7K,wBAAkB,EAAE7H,GAH/K;AAGoL8H,WAAK,EAAE,CAH3L;AAG8LC,UAAI,EAAE,CAHpM;AAGuMC,YAAM,EAAE,CAAC,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,oBAA3B,EAAiD,CAAjD,EAAoD,IAApD,CAAD,CAH/M;AAG4QjpC,cAAQ,EAAE,SAASskN,oBAAT,CAA8B1xN,EAA9B,EAAkC76B,GAAlC,EAAuC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC/W,wEAAuBouC,GAAvB;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,+DAAc,CAAd;;AACA,qEAAoB,CAApB;;AACA;;AACA,qEAAoB,CAApB,EAAuB,CAAvB;AACH;;AAAC,YAAIpuC,EAAE,GAAG,CAAT,EAAY;AACV,mEAAkB,IAAlB,EAAwB76B,GAAG,CAAC8rP,QAA5B;;AACA,kEAAiB,CAAjB;;AACA,2EAA0B,EAA1B,EAA8B9rP,GAAG,CAAC22E,KAAlC,EAAyC,GAAzC;AACH;AAAE,OAdqC;AAcnCtyF,YAAM,EAAE,CAAC,mkBAAD,CAd2B;AAc4iB+sF,mBAAa,EAAE,CAd3jB;AAc8jBC,qBAAe,EAAE;AAd/kB,KAAzB,CAAnB;;AAeA,QAAMg7K,wBAAwB;AAAG;AAAc,wEAA6BF,WAA7B,CAA/C;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO57P,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB47P,WAAzB,EAAsC,CAAC;AACjGloQ,YAAI,EAAE,uDAD2F;AAEjGimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,cADX;AAEC0oC,kBAAQ,EAAE,aAFX;AAGCka,kBAAQ,EAAE,yLAHX;AAICmpC,uBAAa,EAAE,gEAAkBE,IAJlC;AAKCD,yBAAe,EAAE,sEAAwBE,MAL1C;AAMCzjD,gBAAM,EAAE,CAAC,UAAD,CANT;AAOCgN,cAAI,EAAE;AACF,qBAAS,cADP;AAEF,2BAAe,yBAFb;AAGF,oCAAwB,qCAHtB;AAIF,sCAA0B,0BAJxB;AAKF,6CAAiC;AAL/B,WAPP;AAcCxC,mBAAS,EAAE,CAAC;AAAEF,mBAAO,EAAE8zN,YAAX;AAAyB7zN,uBAAW,EAAE8zN;AAAtC,WAAD,CAdZ;AAeC9nQ,gBAAM,EAAE,CAAC,mkBAAD;AAfT,SAAD;AAF2F,OAAD,CAAtC,EAmB1D,IAnB0D,EAmBpD,IAnBoD,CAAnD;AAmBO,KAnBtB;AAqBA;;;;;;;;AAOA;;;;;;AAIA,QAAI00D,gBAAgB,GAAG,CAAvB;AACA;;QACMyzM,wB,GACF;AACA;AACAt5N,UAFA,EAIqB;AAAA,UAArBqjN,WAAqB,uEAAP,KAAO;;AAAA;;AACjB,WAAKrjN,MAAL,GAAcA,MAAd;AACA,WAAKqjN,WAAL,GAAmBA,WAAnB;AACH,K;;QAECkW,c;;;AACF,8BAAY5yO,QAAZ,EAAsB6e,kBAAtB,EAA0Cw0I,OAA1C,EAAmD5oL,KAAnD,EAA0D;AAAA;;AACtD,aAAKu1B,QAAL,GAAgBA,QAAhB;AACA,aAAK6e,kBAAL,GAA0BA,kBAA1B;AACA,aAAKw0I,OAAL,GAAeA,OAAf;AACA,aAAK5oL,KAAL,GAAaA,KAAb;AACA,aAAKy5C,SAAL,GAAiB,KAAjB;AACA,aAAK2uN,OAAL,GAAe,KAAf;AACA,aAAKzzN,SAAL,GAAiB,KAAjB;AACA,aAAK0zN,oBAAL,GAA4B,EAA5B;AACA;;AACA,aAAK//P,EAAL,wBAAwBmsD,gBAAgB,EAAxC;AACA;AACA;;AACA,aAAK6zM,iBAAL,GAAyB,IAAI,0DAAJ,EAAzB;AACA;;AACA,aAAK50N,aAAL,GAAqB,IAAI,4CAAJ,EAArB;AACH;AACD;;;;;aACA,eAAe;AAAE,iBAAO,KAAKk1I,OAAL,IAAgB,KAAKA,OAAL,CAAampE,QAApC;AAA+C;AAChE;;;;aACA,eAAe;AAAE,iBAAO,KAAKt4M,SAAZ;AAAwB;AACzC;;;;aACA,eAAe;AAAE,iBAAQ,KAAKz5C,KAAL,IAAc,KAAKA,KAAL,CAAWmH,QAA1B,IAAuC,KAAKwtC,SAAnD;AAA+D,S;aAChF,aAAa7sC,KAAb,EAAoB;AAAE,eAAK6sC,SAAL,GAAiB,oFAAsB7sC,KAAtB,CAAjB;AAAgD;AACtE;;;;aACA,eAAoB;AAAE,iBAAO,KAAK8gL,OAAL,IAAgB,KAAKA,OAAL,CAAamrE,aAApC;AAAoD;AAC1E;;;;;;;;;aAMA,eAAa;AACT,iBAAO,KAAKqU,OAAZ;AACH;AACD;;;;;;;aAIA,eAAgB;AACZ;AACA,iBAAO,CAAC,KAAKnT,eAAL,GAAuB96N,WAAvB,IAAsC,EAAvC,EAA2CtY,IAA3C,EAAP;AACH;AACD;;;;eACA,kBAAS;AACL,cAAI,CAAC,KAAK43B,SAAV,EAAqB;AACjB,iBAAKA,SAAL,GAAiB,IAAjB;;AACA,iBAAKrF,kBAAL,CAAwBa,YAAxB;;AACA,iBAAKszN,yBAAL;AACH;AACJ;AACD;;;;eACA,oBAAW;AACP,cAAI,KAAK9uN,SAAT,EAAoB;AAChB,iBAAKA,SAAL,GAAiB,KAAjB;;AACA,iBAAKrF,kBAAL,CAAwBa,YAAxB;;AACA,iBAAKszN,yBAAL;AACH;AACJ;AACD;;;;eACA,eAAMjlO,OAAN,EAAe1jC,OAAf,EAAwB;AACpB;AACA;AACA,cAAM6F,OAAO,GAAG,KAAKwvP,eAAL,EAAhB;;AACA,cAAI,OAAOxvP,OAAO,CAAC+9B,KAAf,KAAyB,UAA7B,EAAyC;AACrC/9B,mBAAO,CAAC+9B,KAAR,CAAc5jC,OAAd;AACH;AACJ;AACD;;;;;;;;eAKA,2BAAkB;AACd,cAAI,CAAC,KAAKwoQ,OAAV,EAAmB;AACf,iBAAKA,OAAL,GAAe,IAAf;;AACA,iBAAKh0N,kBAAL,CAAwBa,YAAxB;AACH;AACJ;AACD;;;;;;;;eAKA,6BAAoB;AAChB,cAAI,KAAKmzN,OAAT,EAAkB;AACd,iBAAKA,OAAL,GAAe,KAAf;;AACA,iBAAKh0N,kBAAL,CAAwBa,YAAxB;AACH;AACJ;AACD;;;;eACA,oBAAW;AACP,iBAAO,KAAKuzN,SAAZ;AACH;AACD;;;;eACA,wBAAezhQ,KAAf,EAAsB;AAClB,cAAI,CAACA,KAAK,CAAC86B,OAAN,KAAkB,4DAAlB,IAA2B96B,KAAK,CAAC86B,OAAN,KAAkB,4DAA9C,KAAwD,CAAC,8EAAe96B,KAAf,CAA7D,EAAoF;AAChF,iBAAK0hQ,qBAAL,GADgF,CAEhF;;;AACA1hQ,iBAAK,CAAC07B,cAAN;AACH;AACJ;AACD;;;;;;;eAIA,iCAAwB;AACpB,cAAI,CAAC,KAAKt7B,QAAV,EAAoB;AAChB,iBAAKsyC,SAAL,GAAiB,KAAKs4M,QAAL,GAAgB,CAAC,KAAKt4M,SAAtB,GAAkC,IAAnD;;AACA,iBAAKrF,kBAAL,CAAwBa,YAAxB;;AACA,iBAAKszN,yBAAL,CAA+B,IAA/B;AACH;AACJ;AACD;;;;;;;;;eAMA,4BAAmB;AACf,iBAAO,KAAKtuN,QAAL,KAAkB,KAAK83M,QAAL,GAAgB,KAAhB,GAAwB,IAA1C,CAAP;AACH;AACD;;;;eACA,wBAAe;AACX,iBAAO,KAAK5qP,QAAL,GAAgB,IAAhB,GAAuB,GAA9B;AACH;AACD;;;;eACA,2BAAkB;AACd,iBAAO,KAAKouB,QAAL,CAAcmT,aAArB;AACH;;;eACD,8BAAqB;AACjB;AACA;AACA;AACA;AACA;AACA,cAAI,KAAK+Q,SAAT,EAAoB;AAChB,gBAAM+uN,SAAS,GAAG,KAAKA,SAAvB;;AACA,gBAAIA,SAAS,KAAK,KAAKH,oBAAvB,EAA6C;AACzC,mBAAKA,oBAAL,GAA4BG,SAA5B;;AACA,mBAAK90N,aAAL,CAAmBpjC,IAAnB;AACH;AACJ;AACJ;;;eACD,uBAAc;AACV,eAAKojC,aAAL,CAAmBzD,QAAnB;AACH;AACD;;;;eACA,qCAA+C;AAAA,cAArBgiN,WAAqB,uEAAP,KAAO;AAC3C,eAAKqW,iBAAL,CAAuBx2N,IAAvB,CAA4B,IAAIo2N,wBAAJ,CAA6B,IAA7B,EAAmCjW,WAAnC,CAA5B;AACH;;;;;;AAELkW,kBAAc,CAACx8P,IAAf,GAAsB,SAAS+8P,sBAAT,CAAgC78P,CAAhC,EAAmC;AAAE,aAAO,KAAKA,CAAC,IAAIs8P,cAAV,EAA0B,gEAAyB,wDAAzB,CAA1B,EAAuE,gEAAyB,+DAAzB,CAAvE,EAA2H,gEAAyB3gQ,SAAzB,CAA3H,EAAgK,gEAAyB+/P,gBAAzB,CAAhK,CAAP;AAAqN,KAAhR;;AACAY,kBAAc,CAAC7+N,IAAf,GAAsB,gEAAyB;AAAE3pC,UAAI,EAAEwoQ,cAAR;AAAwB3+N,YAAM,EAAE;AAAElhC,UAAE,EAAE,IAAN;AAAYnB,gBAAQ,EAAE,UAAtB;AAAkCW,aAAK,EAAE;AAAzC,OAAhC;AAAoFkqC,aAAO,EAAE;AAAEs2N,yBAAiB,EAAE;AAArB;AAA7F,KAAzB,CAAtB;;AACAH,kBAAc,CAAC7oO,cAAf,GAAgC;AAAA,aAAM,CAClC;AAAE3/B,YAAI,EAAE;AAAR,OADkC,EAElC;AAAEA,YAAI,EAAE;AAAR,OAFkC,EAGlC;AAAEA,YAAI,EAAE6H;AAAR,OAHkC,EAIlC;AAAE7H,YAAI,EAAE4nQ;AAAR,OAJkC,CAAN;AAAA,KAAhC;;AAMAY,kBAAc,CAACx+N,cAAf,GAAgC;AAC5B7hC,WAAK,EAAE,CAAC;AAAEnI,YAAI,EAAE;AAAR,OAAD,CADqB;AAE5B2I,QAAE,EAAE,CAAC;AAAE3I,YAAI,EAAE;AAAR,OAAD,CAFwB;AAG5BwH,cAAQ,EAAE,CAAC;AAAExH,YAAI,EAAE;AAAR,OAAD,CAHkB;AAI5B2oQ,uBAAiB,EAAE,CAAC;AAAE3oQ,YAAI,EAAE;AAAR,OAAD;AAJS,KAAhC;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAOsM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyBk8P,cAAzB,EAAyC,CAAC;AACpGxoQ,YAAI,EAAE;AAD8F,OAAD,CAAzC,EAE1D,YAAY;AAAE,eAAO,CAAC;AAAEA,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAAkE;AAAEA,cAAI,EAAE6H;AAAR,SAAlE,EAAuF;AAAE7H,cAAI,EAAE4nQ;AAAR,SAAvF,CAAP;AAA4H,OAFhF,EAEkF;AAAEj/P,UAAE,EAAE,CAAC;AAC/I3I,cAAI,EAAE;AADyI,SAAD,CAAN;AAExI2oQ,yBAAiB,EAAE,CAAC;AACpB3oQ,cAAI,EAAE;AADc,SAAD,CAFqH;AAIxIwH,gBAAQ,EAAE,CAAC;AACXxH,cAAI,EAAE;AADK,SAAD,CAJ8H;AAMxImI,aAAK,EAAE,CAAC;AACRnI,cAAI,EAAE;AADE,SAAD;AANiI,OAFlF,CAAnD;AAUC,KAVhB;AAWA;;;;;QAGMgpQ,S;;;;;;;AACF,yBAAYljQ,OAAZ,EAAqBm5M,iBAArB,EAAwCx0L,MAAxC,EAAgDpqB,KAAhD,EAAuD;AAAA;;AAAA,oCAC7CyF,OAD6C,EACpCm5M,iBADoC,EACjBx0L,MADiB,EACTpqB,KADS;AAEtD;;;MAHmBmoQ,c;;AAKxBQ,aAAS,CAACh9P,IAAV,GAAiB,SAASi9P,iBAAT,CAA2B/8P,CAA3B,EAA8B;AAAE,aAAO,KAAKA,CAAC,IAAI88P,SAAV,EAAqB,gEAAyB,wDAAzB,CAArB,EAAkE,gEAAyB,+DAAzB,CAAlE,EAAsH,gEAAyBxB,2BAAzB,EAAsD,CAAtD,CAAtH,EAAgL,gEAAyBS,YAAzB,EAAuC,CAAvC,CAAhL,CAAP;AAAoO,KAArR;;AACAe,aAAS,CAACt8K,IAAV,GAAiB,gEAAyB;AAAE1sF,UAAI,EAAEgpQ,SAAR;AAAmBp/N,eAAS,EAAE,CAAC,CAAC,YAAD,CAAD,CAA9B;AAAgDqtB,eAAS,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,CAAnB,EAAsB,YAAtB,EAAoC,qBAApC,CAA3D;AAAuHxgB,cAAQ,EAAE,EAAjI;AAAqIC,kBAAY,EAAE,SAASwyN,sBAAT,CAAgCtyN,EAAhC,EAAoC76B,GAApC,EAAyC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC5O,mEAAkB,OAAlB,EAA2B,SAASuyN,kCAAT,GAA8C;AAAE,mBAAOptP,GAAG,CAAC+sP,qBAAJ,EAAP;AAAqC,WAAhH,EAAkH,SAAlH,EAA6H,SAASM,oCAAT,CAA8C3zB,MAA9C,EAAsD;AAAE,mBAAO15N,GAAG,CAACstP,cAAJ,CAAmB5zB,MAAnB,CAAP;AAAoC,WAAzN;AACH;;AAAC,YAAI7+L,EAAE,GAAG,CAAT,EAAY;AACV,uEAAsB,IAAtB,EAA4B76B,GAAG,CAACpT,EAAhC;;AACA,oEAAmB,UAAnB,EAA+BoT,GAAG,CAACutP,YAAJ,EAA/B,EAAmD,eAAnD,EAAoEvtP,GAAG,CAACwtP,gBAAJ,EAApE,EAA4F,eAA5F,EAA6GxtP,GAAG,CAACvU,QAAJ,CAAahC,QAAb,EAA7G;;AACA,oEAAmB,cAAnB,EAAmCuW,GAAG,CAACu+B,QAAvC,EAAiD,qBAAjD,EAAwEv+B,GAAG,CAACq2O,QAA5E,EAAsF,YAAtF,EAAoGr2O,GAAG,CAACytP,MAAxG,EAAgH,qBAAhH,EAAuIztP,GAAG,CAACvU,QAA3I;AACH;AAAE,OANmC;AAMjCsiC,cAAQ,EAAE,CAAC,WAAD,CANuB;AAMRC,cAAQ,EAAE,CAAC,wEAAD,CANF;AAMuC+iD,wBAAkB,EAAE8nK,GAN3D;AAMgE7nK,WAAK,EAAE,CANvE;AAM0EC,UAAI,EAAE,CANhF;AAMmFC,YAAM,EAAE,CAAC,CAAC,OAAD,EAAU,4BAAV,EAAwC,CAAxC,EAA2C,OAA3C,EAAoD,UAApD,EAAgE,CAAhE,EAAmE,MAAnE,CAAD,EAA6E,CAAC,CAAD,EAAI,iBAAJ,CAA7E,EAAqG,CAAC,OAAD,EAAU,qBAAV,EAAiC,CAAjC,EAAoC,MAApC,CAArG,EAAkJ,CAAC,YAAD,EAAe,EAAf,EAAmB,CAAnB,EAAsB,mBAAtB,EAA2C,CAA3C,EAA8C,kBAA9C,EAAkE,mBAAlE,CAAlJ,EAA0O,CAAC,CAAD,EAAI,4BAAJ,EAAkC,CAAlC,EAAqC,OAArC,EAA8C,UAA9C,CAA1O,EAAqS,CAAC,CAAD,EAAI,qBAAJ,CAArS,CAN3F;AAM6ZjpC,cAAQ,EAAE,SAASylN,kBAAT,CAA4B7yN,EAA5B,EAAgC76B,GAAhC,EAAqC;AAAE,YAAI66B,EAAE,GAAG,CAAT,EAAY;AAC5f;;AACA,mEAAkB,CAAlB,EAAqBwlN,wCAArB,EAA+D,CAA/D,EAAkE,CAAlE,EAAqE,qBAArE,EAA4F,CAA5F;;AACA,uEAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;;AACA,qEAAoB,CAApB;;AACA;;AACA,mEAAkB,CAAlB,EAAqBC,yBAArB,EAAgD,CAAhD,EAAmD,CAAnD,EAAsD,MAAtD,EAA8D,CAA9D;;AACA,kEAAiB,CAAjB,EAAoB,KAApB,EAA2B,CAA3B;AACH;;AAAC,YAAIzlN,EAAE,GAAG,CAAT,EAAY;AACV,mEAAkB,MAAlB,EAA0B76B,GAAG,CAACq2O,QAA9B;;AACA,kEAAiB,CAAjB;;AACA,mEAAkB,MAAlB,EAA0Br2O,GAAG,CAAC1b,KAAJ,IAAa0b,GAAG,CAAC1b,KAAJ,CAAUynQ,MAAjD;;AACA,kEAAiB,CAAjB;;AACA,mEAAkB,kBAAlB,EAAsC/rP,GAAG,CAACu5O,eAAJ,EAAtC,EAA6D,mBAA7D,EAAkFv5O,GAAG,CAACvU,QAAJ,IAAgBuU,GAAG,CAACq4O,aAAtG;AACH;AAAE,OApBmC;AAoBjCr5J,gBAAU,EAAE,CAAC,oDAAD,EAAcorK,SAAd,EAAyBe,iBAAzB,CApBqB;AAoBwB9mQ,YAAM,EAAE,CAAC,w4CAAD,CApBhC;AAoB46C+sF,mBAAa,EAAE,CApB37C;AAoB87CC,qBAAe,EAAE;AApB/8C,KAAzB,CAAjB;;AAqBA47K,aAAS,CAACrpO,cAAV,GAA2B;AAAA,aAAM,CAC7B;AAAE3/B,YAAI,EAAE;AAAR,OAD6B,EAE7B;AAAEA,YAAI,EAAE;AAAR,OAF6B,EAG7B;AAAEA,YAAI,EAAE6H,SAAR;AAAmB+3B,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACuhP,2BAAD;AAAtB,SAArB;AAA/B,OAH6B,EAI7B;AAAExnQ,YAAI,EAAEkoQ,WAAR;AAAqBtoO,kBAAU,EAAE,CAAC;AAAE5/B,cAAI,EAAE;AAAR,SAAD,EAAqB;AAAEA,cAAI,EAAE,oDAAR;AAAgBimB,cAAI,EAAE,CAACgiP,YAAD;AAAtB,SAArB;AAAjC,OAJ6B,CAAN;AAAA,KAA3B;;AAMA,KAAC,YAAY;AAAE,OAAC,OAAO37P,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB08P,SAAzB,EAAoC,CAAC;AAC/FhpQ,YAAI,EAAE,uDADyF;AAE/FimB,YAAI,EAAE,CAAC;AACC7kB,kBAAQ,EAAE,YADX;AAEC0oC,kBAAQ,EAAE,WAFX;AAGC+M,cAAI,EAAE;AACF,oBAAQ,QADN;AAEF,+BAAmB,gBAFjB;AAGF,oCAAwB,UAHtB;AAIF,2CAA+B,UAJ7B;AAKF,kCAAsB,QALpB;AAMF,oBAAQ,IANN;AAOF,oCAAwB,oBAPtB;AAQF,oCAAwB,qBARtB;AASF,2CAA+B,UAT7B;AAUF,uBAAW,yBAVT;AAWF,yBAAa,wBAXX;AAYF,qBAAS;AAZP,WAHP;AAiBCmN,kBAAQ,EAAE,qkBAjBX;AAkBCmpC,uBAAa,EAAE,gEAAkBE,IAlBlC;AAmBCD,yBAAe,EAAE,sEAAwBE,MAnB1C;AAoBCltF,gBAAM,EAAE,CAAC,w4CAAD;AApBT,SAAD;AAFyF,OAAD,CAApC,EAwB1D,YAAY;AAAE,eAAO,CAAC;AAAEJ,cAAI,EAAE;AAAR,SAAD,EAA8B;AAAEA,cAAI,EAAE;AAAR,SAA9B,EAAkE;AAAEA,cAAI,EAAE6H,SAAR;AAAmB+3B,oBAAU,EAAE,CAAC;AAC/G5/B,gBAAI,EAAE;AADyG,WAAD,EAE/G;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACuhP,2BAAD;AAFP,WAF+G;AAA/B,SAAlE,EAKX;AAAExnQ,cAAI,EAAEkoQ,WAAR;AAAqBtoO,oBAAU,EAAE,CAAC;AACpC5/B,gBAAI,EAAE;AAD8B,WAAD,EAEpC;AACCA,gBAAI,EAAE,oDADP;AAECimB,gBAAI,EAAE,CAACgiP,YAAD;AAFP,WAFoC;AAAjC,SALW,CAAP;AAUF,OAlC8C,EAkC5C,IAlC4C,CAAnD;AAkCe,KAlC9B;AAmCA;;;;;;;;;AAOA,aAASyB,6BAAT,CAAuCC,WAAvC,EAAoD1pQ,OAApD,EAA6D2pQ,YAA7D,EAA2E;AACvE,UAAIA,YAAY,CAAC1mQ,MAAjB,EAAyB;AACrB,YAAI2mQ,YAAY,GAAG5pQ,OAAO,CAAC+gC,OAAR,EAAnB;AACA,YAAI6/E,MAAM,GAAG+oJ,YAAY,CAAC5oO,OAAb,EAAb;AACA,YAAI8oO,YAAY,GAAG,CAAnB;;AACA,aAAK,IAAIv/P,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGo/P,WAAW,GAAG,CAAlC,EAAqCp/P,CAAC,EAAtC,EAA0C;AACtC,cAAIs/P,YAAY,CAACt/P,CAAD,CAAZ,CAAgBlK,KAAhB,IAAyBwpQ,YAAY,CAACt/P,CAAD,CAAZ,CAAgBlK,KAAhB,KAA0BwgH,MAAM,CAACipJ,YAAD,CAA7D,EAA6E;AACzEA,wBAAY;AACf;AACJ;;AACD,eAAOA,YAAP;AACH;;AACD,aAAO,CAAP;AACH;AACD;;;;;;;;;;AAQA,aAASC,wBAAT,CAAkCC,YAAlC,EAAgDC,YAAhD,EAA8DC,qBAA9D,EAAqFC,WAArF,EAAkG;AAC9F,UAAIH,YAAY,GAAGE,qBAAnB,EAA0C;AACtC,eAAOF,YAAP;AACH;;AACD,UAAIA,YAAY,GAAGC,YAAf,GAA8BC,qBAAqB,GAAGC,WAA1D,EAAuE;AACnE,eAAOlmQ,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY8lQ,YAAY,GAAGG,WAAf,GAA6BF,YAAzC,CAAP;AACH;;AACD,aAAOC,qBAAP;AACH;AAED;;;;;;;;;QAOME,e;;;;AAENA,mBAAe,CAACp+P,IAAhB,GAAuB,SAASq+P,uBAAT,CAAiCn+P,CAAjC,EAAoC;AAAE,aAAO,KAAKA,CAAC,IAAIk+P,eAAV,GAAP;AAAsC,KAAnG;;AACAA,mBAAe,CAAC72N,IAAhB,GAAuB,+DAAwB;AAAEvzC,UAAI,EAAEoqQ;AAAR,KAAxB,CAAvB;AACAA,mBAAe,CAAC52N,IAAhB,GAAuB,+DAAwB;AAAEC,aAAO,EAAE,CAAC,CAACuzN,eAAD,EAAkB,4DAAlB,EAAgC9J,eAAhC,EAAiDoK,uBAAjD,CAAD;AAAX,KAAxB,CAAvB;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO5zN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,iEAA0B02N,eAA1B,EAA2C;AAAEz2N,oBAAY,EAAE,wBAAY;AAAE,iBAAO,CAACq1N,SAAD,EAAYd,WAAZ,CAAP;AAAkC,SAAhE;AAAkEz0N,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAACuzN,eAAD,EAAkB,4DAAlB,EAAgC9J,eAAhC,EAAiDoK,uBAAjD,CAAP;AAAmF,SAA5K;AAA8K1zN,eAAO,EAAE,mBAAY;AAAE,iBAAO,CAACo1N,SAAD,EAAYd,WAAZ,CAAP;AAAkC;AAAvO,OAA3C,CAAnD;AAA2U,KAA1V;;AACA,KAAC,YAAY;AAAE,OAAC,OAAO57P,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,gEAAyB89P,eAAzB,EAA0C,CAAC;AACrGpqQ,YAAI,EAAE,sDAD+F;AAErGimB,YAAI,EAAE,CAAC;AACCwtB,iBAAO,EAAE,CAACuzN,eAAD,EAAkB,4DAAlB,EAAgC9J,eAAhC,EAAiDoK,uBAAjD,CADV;AAEC1zN,iBAAO,EAAE,CAACo1N,SAAD,EAAYd,WAAZ,CAFV;AAGCv0N,sBAAY,EAAE,CAACq1N,SAAD,EAAYd,WAAZ;AAHf,SAAD;AAF+F,OAAD,CAA1C,EAO1D,IAP0D,EAOpD,IAPoD,CAAnD;AAOO,KAPtB;AASA;;;;;;;;AAQA;;;AAMA;;;;;;;;;;ACz7DA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;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AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;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;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;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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;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","file":"vendor-es5.js","sourcesContent":["/**\n * @license Angular v11.2.14\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nclass AnimationFactory {\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 * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\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 scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\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 * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() { }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\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 programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\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 ɵPRE_STYLE = '!';\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/**\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 * @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 * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n\n//# sourceMappingURL=animations.js.map","/**\n * @license Angular v11.2.14\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport { Injectable } from '@angular/core';\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 * as ɵngcc0 from '@angular/core';\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'];\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n const LINE_START = '\\n - ';\n throw new Error(`Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n let value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nconst ɵ0 = _contains;\nlet _matches = (element, selector) => false;\nconst ɵ1 = _matches;\nlet _query = (element, selector, multi) => {\n return [];\n};\nconst ɵ2 = _query;\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n // this is well supported in all browsers\n _contains = (elm1, elm2) => {\n return elm1.contains(elm2);\n };\n _matches = (() => {\n if (_isNode || Element.prototype.matches) {\n return (element, selector) => element.matches(selector);\n }\n else {\n const proto = Element.prototype;\n const fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn) {\n return (element, selector) => fn.apply(element, [selector]);\n }\n else {\n return _matches;\n }\n }\n })();\n _query = (element, selector, multi) => {\n let results = [];\n if (multi) {\n // DO NOT REFACTOR TO USE SPREAD SYNTAX.\n // For element queries that return sufficiently large NodeList objects,\n // using spread syntax to populate the results array causes a RangeError\n // due to the call stack limit being reached. `Array.from` can not be used\n // as well, since NodeList is not iterable in IE 11, see\n // https://developer.mozilla.org/en-US/docs/Web/API/NodeList\n // More info is available in #38551.\n const elems = element.querySelectorAll(selector);\n for (let i = 0; i < elems.length; i++) {\n results.push(elems[i]);\n }\n }\n else {\n const elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst matchesElement = _matches;\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsObject(object) {\n const newObj = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\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 * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = function NoopAnimationDriver_Factory(t) { return new (t || NoopAnimationDriver)(); };\nNoopAnimationDriver.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NoopAnimationDriver, factory: NoopAnimationDriver.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoopAnimationDriver, [{\n type: Injectable\n }], null, null); })();\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = new NoopAnimationDriver();\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 ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst ENTER_SELECTOR = '.ng-enter';\nconst LEAVE_SELECTOR = '.ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(`The provided timing value \"${exp}\" is invalid.`);\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(`Duration values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(`Delay values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination = {}) {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Please provide a value for the animation param ${varName}`);\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\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 camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function (prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\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 ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(`The transition alias value \"${alias}\" is not supported`);\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\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 SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return visitDslNode(this, normalizeAnimationEntry(metadata), context);\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(`state(\"${metadata\n .name}\", ...) must define default values for all the following style substitutions: ${missingSubsArr.join(', ')}`);\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n if (Array.isArray(metadata.styles)) {\n metadata.styles.forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n }\n }\n else {\n styles.push(styleTuple);\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n context.errors.push(`The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n return;\n }\n const collectedStyles = context.collectedStyles[context.currentQuerySelector];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${collectedEntry.startTime}ms\" and \"${collectedEntry\n .endTime}ms\" is also being animated in a parallel animation between the times of \"${startTime}ms\" and \"${endTime}ms\"`);\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime, endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n }\n if (offsetsOutOfOrder) {\n context.errors.push(`Please ensure that all keyframe offsets are in order`);\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(`stagger() can only be used inside of query()`);\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // the :enter and :leave selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n return offset;\n}\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\nfunction constructTimingAst(value, errors) {\n let timings = null;\n if (value.hasOwnProperty('duration')) {\n timings = value;\n }\n else if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n consume(element) {\n let instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n }\n else {\n instructions = [];\n }\n return instructions;\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\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 ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two wihtin a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergesort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles are objects that prototypically inhert from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (timelines.length && Object.keys(finalStyles).length) {\n const tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // if :self is only used then the selector is empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${originalSelector}\", { optional: true })\\` if you wish to allow this.)`);\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n getCurrentStyleProperties() {\n return Object.keys(this._currentKeyframe);\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value };\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.element = element;\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'];\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = {};\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n }\n else {\n copyStyles(token, false, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const ast = buildAnimationAst(_driver, input, errors);\n if (errors.length) {\n const errorMessage = `animation validation failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n const errorMessage = `animation building failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\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/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\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 WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n }\n }\n }\n return strVal + unit;\n }\n}\nconst ɵ0$1 = () => makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(','));\nconst DIMENSIONAL_PROP_MAP = (ɵ0$1)();\nfunction makeBooleanMap(keys) {\n const map = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = { params: Object.assign(Object.assign({}, transitionAnimationParams), nextAnimationParams) };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n }\n buildStyles(params, errors) {\n const finalStyles = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n finalStyles[prop] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n\n/**\n * @publicApi\n */\nfunction buildTrigger(name, ast) {\n return new AnimationTrigger(name, ast);\n}\n/**\n * @publicApi\n */\nclass AnimationTrigger {\n constructor(name, ast) {\n this.name = name;\n this.ast = ast;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\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 EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`Unable to build the animation due to the following errors: ${errors.join('\\n')}`);\n }\n else {\n this._animations[id] = ast;\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations[id];\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n }\n else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n if (errors.length) {\n throw new Error(`Unable to create the animation due to the following errors: ${errors.join('\\n')}`);\n }\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById[id];\n if (!player) {\n throw new Error(`Unable to find the timeline player referenced by ${id}`);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\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 */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(`Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n }\n if (phase == null || phase.length == 0) {\n throw new Error(`Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n }\n if (!isTriggerEventValid(phase)) {\n throw new Error(`The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n }\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(`The provided animation trigger \"${name}\" has not been registered!`);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n delete this._triggers[name];\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n if (triggerStates) {\n const players = [];\n Object.keys(triggerStates).forEach(triggerName => {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n }\n else {\n this._namespaceList.push(ns);\n }\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply the dedupe\n // of namespaces incase there are multiple triggers both the elm and host\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] =\n { namespaceId, setForRemoval: context, hasAnimation, removedBeforeQueried: false };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw new Error(`Unable to process animations due to the following failed trigger transitions\\n ${errors.join('\\n')}`);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // move animations are currently not supported...\n if (details && details.setForMove) {\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be apart of the DOM, it may\n // still be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important we still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(tl => tl.stretchStartingKeyframe = true);\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetAsInMap(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(`@${instruction.triggerName} has failed due to:\\n`);\n instruction.errors.forEach(error => errors.push(`- ${error}\\n`));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map works to tell which element in the DOM tree is contained by\n // which animation. Further down below this map will get populated once\n // the players are built and in doing so it can efficiently figure out\n // if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, Object.assign(Object.assign({}, post), pre));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(player => {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nconst CLASSES_CACHE_KEY = '$$classes';\nfunction containsClass(element, className) {\n if (element.classList) {\n return element.classList.contains(className);\n }\n else {\n const classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\nfunction addClass(element, className) {\n if (element.classList) {\n element.classList.add(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\nfunction removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.join('\\n - ')}`);\n }\n trigger = buildTrigger(name, ast);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\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 * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = new WeakMap();\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === '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 */\nconst ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;\nconst ANIMATION_PROP = 'animation';\nconst ANIMATIONEND_EVENT = 'animationend';\nconst ONE_SECOND$1 = 1000;\nclass ElementAnimationStyleHandler {\n constructor(_element, _name, _duration, _delay, _easing, _fillMode, _onDoneFn) {\n this._element = _element;\n this._name = _name;\n this._duration = _duration;\n this._delay = _delay;\n this._easing = _easing;\n this._fillMode = _fillMode;\n this._onDoneFn = _onDoneFn;\n this._finished = false;\n this._destroyed = false;\n this._startTime = 0;\n this._position = 0;\n this._eventFn = (e) => this._handleCallback(e);\n }\n apply() {\n applyKeyframeAnimation(this._element, `${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`);\n addRemoveAnimationEvent(this._element, this._eventFn, false);\n this._startTime = Date.now();\n }\n pause() {\n playPauseAnimation(this._element, this._name, 'paused');\n }\n resume() {\n playPauseAnimation(this._element, this._name, 'running');\n }\n setPosition(position) {\n const index = findIndexForAnimation(this._element, this._name);\n this._position = position * this._duration;\n setAnimationStyle(this._element, 'Delay', `-${this._position}ms`, index);\n }\n getPosition() {\n return this._position;\n }\n _handleCallback(event) {\n const timestamp = event._ngTestManualTimestamp || Date.now();\n const elapsedTime = parseFloat(event.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)) * ONE_SECOND$1;\n if (event.animationName == this._name &&\n Math.max(timestamp - this._startTime, 0) >= this._delay && elapsedTime >= this._duration) {\n this.finish();\n }\n }\n finish() {\n if (this._finished)\n return;\n this._finished = true;\n this._onDoneFn();\n addRemoveAnimationEvent(this._element, this._eventFn, true);\n }\n destroy() {\n if (this._destroyed)\n return;\n this._destroyed = true;\n this.finish();\n removeKeyframeAnimation(this._element, this._name);\n }\n}\nfunction playPauseAnimation(element, name, status) {\n const index = findIndexForAnimation(element, name);\n setAnimationStyle(element, 'PlayState', status, index);\n}\nfunction applyKeyframeAnimation(element, value) {\n const anim = getAnimationStyle(element, '').trim();\n let index = 0;\n if (anim.length) {\n index = countChars(anim, ',') + 1;\n value = `${anim}, ${value}`;\n }\n setAnimationStyle(element, '', value);\n return index;\n}\nfunction removeKeyframeAnimation(element, name) {\n const anim = getAnimationStyle(element, '');\n const tokens = anim.split(',');\n const index = findMatchingTokenIndex(tokens, name);\n if (index >= 0) {\n tokens.splice(index, 1);\n const newValue = tokens.join(',');\n setAnimationStyle(element, '', newValue);\n }\n}\nfunction findIndexForAnimation(element, value) {\n const anim = getAnimationStyle(element, '');\n if (anim.indexOf(',') > 0) {\n const tokens = anim.split(',');\n return findMatchingTokenIndex(tokens, value);\n }\n return findMatchingTokenIndex([anim], value);\n}\nfunction findMatchingTokenIndex(tokens, searchToken) {\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(searchToken) >= 0) {\n return i;\n }\n }\n return -1;\n}\nfunction addRemoveAnimationEvent(element, fn, doRemove) {\n doRemove ? element.removeEventListener(ANIMATIONEND_EVENT, fn) :\n element.addEventListener(ANIMATIONEND_EVENT, fn);\n}\nfunction setAnimationStyle(element, name, value, index) {\n const prop = ANIMATION_PROP + name;\n if (index != null) {\n const oldValue = element.style[prop];\n if (oldValue.length) {\n const tokens = oldValue.split(',');\n tokens[index] = value;\n value = tokens.join(',');\n }\n }\n element.style[prop] = value;\n}\nfunction getAnimationStyle(element, name) {\n return element.style[ANIMATION_PROP + name] || '';\n}\nfunction countChars(value, char) {\n let count = 0;\n for (let i = 0; i < value.length; i++) {\n const c = value.charAt(i);\n if (c === char)\n count++;\n }\n return count;\n}\n\nconst DEFAULT_FILL_MODE = 'forwards';\nconst DEFAULT_EASING = 'linear';\nclass CssKeyframesPlayer {\n constructor(element, keyframes, animationName, _duration, _delay, easing, _finalStyles, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.animationName = animationName;\n this._duration = _duration;\n this._delay = _delay;\n this._finalStyles = _finalStyles;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this.currentSnapshot = {};\n this._state = 0;\n this.easing = easing || DEFAULT_EASING;\n this.totalTime = _duration + _delay;\n this._buildStyler();\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n destroy() {\n this.init();\n if (this._state >= 4 /* DESTROYED */)\n return;\n this._state = 4 /* DESTROYED */;\n this._styler.destroy();\n this._flushStartFns();\n this._flushDoneFns();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n _flushDoneFns() {\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n _flushStartFns() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n finish() {\n this.init();\n if (this._state >= 3 /* FINISHED */)\n return;\n this._state = 3 /* FINISHED */;\n this._styler.finish();\n this._flushStartFns();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._flushDoneFns();\n }\n setPosition(value) {\n this._styler.setPosition(value);\n }\n getPosition() {\n return this._styler.getPosition();\n }\n hasStarted() {\n return this._state >= 2 /* STARTED */;\n }\n init() {\n if (this._state >= 1 /* INITIALIZED */)\n return;\n this._state = 1 /* INITIALIZED */;\n const elm = this.element;\n this._styler.apply();\n if (this._delay) {\n this._styler.pause();\n }\n }\n play() {\n this.init();\n if (!this.hasStarted()) {\n this._flushStartFns();\n this._state = 2 /* STARTED */;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this._styler.resume();\n }\n pause() {\n this.init();\n this._styler.pause();\n }\n restart() {\n this.reset();\n this.play();\n }\n reset() {\n this._styler.destroy();\n this._buildStyler();\n this._styler.apply();\n }\n _buildStyler() {\n this._styler = new ElementAnimationStyleHandler(this.element, this.animationName, this._duration, this._delay, this.easing, DEFAULT_FILL_MODE, () => this.finish());\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n beforeDestroy() {\n this.init();\n const styles = {};\n if (this.hasStarted()) {\n const finished = this._state >= 3 /* FINISHED */;\n Object.keys(this._finalStyles).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = finished ? this._finalStyles[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\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 DirectStylePlayer extends NoopAnimationPlayer {\n constructor(element, styles) {\n super();\n this.element = element;\n this._startingStyles = {};\n this.__initialized = false;\n this._styles = hypenatePropsObject(styles);\n }\n init() {\n if (this.__initialized || !this._startingStyles)\n return;\n this.__initialized = true;\n Object.keys(this._styles).forEach(prop => {\n this._startingStyles[prop] = this.element.style[prop];\n });\n super.init();\n }\n play() {\n if (!this._startingStyles)\n return;\n this.init();\n Object.keys(this._styles)\n .forEach(prop => this.element.style.setProperty(prop, this._styles[prop]));\n super.play();\n }\n destroy() {\n if (!this._startingStyles)\n return;\n Object.keys(this._startingStyles).forEach(prop => {\n const value = this._startingStyles[prop];\n if (value) {\n this.element.style.setProperty(prop, value);\n }\n else {\n this.element.style.removeProperty(prop);\n }\n });\n this._startingStyles = null;\n super.destroy();\n }\n}\n\nconst KEYFRAMES_NAME_PREFIX = 'gen_css_kf_';\nconst TAB_SPACE = ' ';\nclass CssKeyframesDriver {\n constructor() {\n this._count = 0;\n this._head = document.querySelector('head');\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n buildKeyframeElement(element, name, keyframes) {\n keyframes = keyframes.map(kf => hypenatePropsObject(kf));\n let keyframeStr = `@keyframes ${name} {\\n`;\n let tab = '';\n keyframes.forEach(kf => {\n tab = TAB_SPACE;\n const offset = parseFloat(kf['offset']);\n keyframeStr += `${tab}${offset * 100}% {\\n`;\n tab += TAB_SPACE;\n Object.keys(kf).forEach(prop => {\n const value = kf[prop];\n switch (prop) {\n case 'offset':\n return;\n case 'easing':\n if (value) {\n keyframeStr += `${tab}animation-timing-function: ${value};\\n`;\n }\n return;\n default:\n keyframeStr += `${tab}${prop}: ${value};\\n`;\n return;\n }\n });\n keyframeStr += `${tab}}\\n`;\n });\n keyframeStr += `}\\n`;\n const kfElm = document.createElement('style');\n kfElm.textContent = keyframeStr;\n return kfElm;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && scrubberAccessRequested) {\n notifyFaultyScrubber();\n }\n const previousCssKeyframePlayers = previousPlayers.filter(player => player instanceof CssKeyframesPlayer);\n const previousStyles = {};\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousCssKeyframePlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const finalStyles = flattenKeyframesIntoStyles(keyframes);\n // if there is no animation then there is no point in applying\n // styles and waiting for an event to get fired. This causes lag.\n // It's better to just directly apply the styles to the element\n // via the direct styling animation player.\n if (duration == 0) {\n return new DirectStylePlayer(element, finalStyles);\n }\n const animationName = `${KEYFRAMES_NAME_PREFIX}${this._count++}`;\n const kfElm = this.buildKeyframeElement(element, animationName, keyframes);\n document.querySelector('head').appendChild(kfElm);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n const player = new CssKeyframesPlayer(element, keyframes, animationName, duration, delay, easing, finalStyles, specialStyles);\n player.onDestroy(() => removeElement(kfElm));\n return player;\n }\n}\nfunction flattenKeyframesIntoStyles(keyframes) {\n let flatKeyframes = {};\n if (keyframes) {\n const kfs = Array.isArray(keyframes) ? keyframes : [keyframes];\n kfs.forEach(kf => {\n Object.keys(kf).forEach(prop => {\n if (prop == 'offset' || prop == 'easing')\n return;\n flatKeyframes[prop] = kf[prop];\n });\n });\n }\n return flatKeyframes;\n}\nfunction removeElement(node) {\n node.parentNode.removeChild(node);\n}\nlet warningIssued = false;\nfunction notifyFaultyScrubber() {\n if (warningIssued)\n return;\n console.warn('@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\\n', ' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');\n warningIssued = true;\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options);\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] =\n this._finished ? this._finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n constructor() {\n this._isNativeImpl = /\\{\\s*\\[native\\s+code\\]\\s*\\}/.test(getElementAnimateFn().toString());\n this._cssKeyframesDriver = new CssKeyframesDriver();\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n overrideWebAnimationsSupport(supported) {\n this._isNativeImpl = supported;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n const useKeyframes = !scrubberAccessRequested && !this._isNativeImpl;\n if (useKeyframes) {\n return this._cssKeyframesDriver.animate(element, keyframes, duration, delay, easing, previousPlayers);\n }\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = {};\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\nfunction supportsWebAnimations() {\n return typeof getElementAnimateFn() === 'function';\n}\nfunction getElementAnimateFn() {\n return (isBrowser() && Element.prototype['animate']) || {};\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/**\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 * @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 * @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 * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, CssKeyframesDriver as ɵCssKeyframesDriver, CssKeyframesPlayer as ɵCssKeyframesPlayer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, SpecialCasedStyles as ɵangular_packages_animations_browser_browser_a, containsElement as ɵcontainsElement, invokeQuery as ɵinvokeQuery, matchesElement as ɵmatchesElement, supportsWebAnimations as ɵsupportsWebAnimations, validateStyleProperty as ɵvalidateStyleProperty };\n\n//# sourceMappingURL=browser.js.map","import { DOCUMENT } from '@angular/common';\nimport { ɵɵdefineInjectable, ɵɵinject, Injectable, Inject, QueryList, NgZone, Directive, ElementRef, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport { Subject, Subscription, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport { Platform, normalizePassiveListenerOptions, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';\nimport { ContentObserver, ObserversModule } from '@angular/cdk/observers';\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/** IDs are delimited by an empty space, as per the spec. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/cdk/observers';\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/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/** ID used for the body container where all messages are appended. */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/** ID prefix used for each created message element. */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/** Attribute given to each host element that is described by a message element. */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map();\n/** Container for all registered messages. */\nlet messagesContainer = null;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document) {\n this._document = _document;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message);\n messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (messagesContainer && messagesContainer.childNodes.length === 0) {\n this._deleteMessagesContainer();\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n if (messagesContainer) {\n this._deleteMessagesContainer();\n }\n messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n messagesContainer.appendChild(messageElement);\n messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n const registeredMessage = messageRegistry.get(key);\n const messageElement = registeredMessage && registeredMessage.messageElement;\n if (messagesContainer && messageElement) {\n messagesContainer.removeChild(messageElement);\n }\n messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (!messagesContainer) {\n const preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID);\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n if (preExistingContainer && preExistingContainer.parentNode) {\n preExistingContainer.parentNode.removeChild(preExistingContainer);\n }\n messagesContainer = this._document.createElement('div');\n messagesContainer.id = MESSAGES_CONTAINER_ID;\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add('cdk-visually-hidden');\n this._document.body.appendChild(messagesContainer);\n }\n }\n /** Deletes the global messages container. */\n _deleteMessagesContainer() {\n if (messagesContainer && messagesContainer.parentNode) {\n messagesContainer.parentNode.removeChild(messagesContainer);\n messagesContainer = null;\n }\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? (!ariaLabel || ariaLabel.trim() !== trimmedMessage) : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = function AriaDescriber_Factory(t) { return new (t || AriaDescriber)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nAriaDescriber.ɵprov = ɵɵdefineInjectable({ factory: function AriaDescriber_Factory() { return new AriaDescriber(ɵɵinject(DOCUMENT)); }, token: AriaDescriber, providedIn: \"root\" });\nAriaDescriber.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AriaDescriber, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\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 class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && (this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function'))) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream.pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join(''))).subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + (delta * i) + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\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 ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\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 FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\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 */\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return isPotentiallyFocusable(element) && !this.isDisabled(element) &&\n ((config === null || config === void 0 ? void 0 : config.ignoreVisibility) || this.isVisible(element));\n }\n}\nInteractivityChecker.ɵfac = function InteractivityChecker_Factory(t) { return new (t || InteractivityChecker)(ɵngcc0.ɵɵinject(ɵngcc1.Platform)); };\nInteractivityChecker.ɵprov = ɵɵdefineInjectable({ factory: function InteractivityChecker_Factory() { return new InteractivityChecker(ɵɵinject(Platform)); }, token: InteractivityChecker, providedIn: \"root\" });\nInteractivityChecker.ctorParameters = () => [\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InteractivityChecker, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }]; }, null); })();\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch (_a) {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth || element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea';\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n if (tabIndex == '-32768') {\n return false;\n }\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return inputType === 'text'\n || inputType === 'password'\n || nodeName === 'select'\n || nodeName === 'textarea';\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element);\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return node.ownerDocument && node.ownerDocument.defaultView || window;\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 * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() { return this._enabled; }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n if (startAnchor.parentNode) {\n startAnchor.parentNode.removeChild(startAnchor);\n }\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n if (endAnchor.parentNode) {\n endAnchor.parentNode.removeChild(endAnchor);\n }\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then either focuses the first element that the\n * user specified, or the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady() {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement()));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady() {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement()));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady() {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement()));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n `[cdkFocusRegion${bound}], ` +\n `[cdk-focus-${bound}]`);\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length ?\n markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement() {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if (redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild === null || focusableChild === void 0 ? void 0 : focusableChild.focus();\n return !!focusableChild;\n }\n redirectToElement.focus();\n return true;\n }\n return this.focusFirstTabbableElement();\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement() {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus();\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement() {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus();\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n // back to `childNodes` which includes text nodes, comments etc.\n let children = root.children || root.childNodes;\n for (let i = 0; i < children.length; i++) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getFirstTabbableElement(children[i]) :\n null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n let children = root.children || root.childNodes;\n for (let i = children.length - 1; i >= 0; i--) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getLastTabbableElement(children[i]) :\n null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = function FocusTrapFactory_Factory(t) { return new (t || FocusTrapFactory)(ɵngcc0.ɵɵinject(InteractivityChecker), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nFocusTrapFactory.ɵprov = ɵɵdefineInjectable({ factory: function FocusTrapFactory_Factory() { return new FocusTrapFactory(ɵɵinject(InteractivityChecker), ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); }, token: FocusTrapFactory, providedIn: \"root\" });\nFocusTrapFactory.ctorParameters = () => [\n { type: InteractivityChecker },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusTrapFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: InteractivityChecker }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this._document = _document;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() { return this.focusTrap.enabled; }\n set enabled(value) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() { return this._autoCapture; }\n set autoCapture(value) { this._autoCapture = coerceBooleanProperty(value); }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n var _a, _b;\n // If the `activeElement` is inside a shadow root, `document.activeElement` will\n // point to the shadow root so we have to descend into it ourselves.\n const activeElement = (_a = this._document) === null || _a === void 0 ? void 0 : _a.activeElement;\n this._previouslyFocusedElement =\n ((_b = activeElement === null || activeElement === void 0 ? void 0 : activeElement.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement) || activeElement;\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = function CdkTrapFocus_Factory(t) { return new (t || CdkTrapFocus)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FocusTrapFactory), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkTrapFocus.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkTrapFocus, selectors: [[\"\", \"cdkTrapFocus\", \"\"]], inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkTrapFocus.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusTrapFactory },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTrapFocus.propDecorators = {\n enabled: [{ type: Input, args: ['cdkTrapFocus',] }],\n autoCapture: [{ type: Input, args: ['cdkTrapFocusAutoCapture',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTrapFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\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 * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() { return this._enabled; }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\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/** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */\nfunction closest(element, selector) {\n if (!(element instanceof Node)) {\n return null;\n }\n let curr = element;\n while (curr != null && !(curr instanceof Element)) {\n curr = curr.parentNode;\n }\n return curr && (hasNativeClosest ?\n curr.closest(selector) : polyfillClosest(curr, selector));\n}\n/** Polyfill for browsers without Element.closest. */\nfunction polyfillClosest(element, selector) {\n let curr = element;\n while (curr != null && !(curr instanceof Element && matches(curr, selector))) {\n curr = curr.parentNode;\n }\n return (curr || null);\n}\nconst hasNativeClosest = typeof Element != 'undefined' && !!Element.prototype.closest;\n/** IE 11 compatible matches implementation. */\nfunction matches(element, selector) {\n return element.matches ?\n element.matches(selector) :\n element['msMatchesSelector'](selector);\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 * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (!focusTrapRoot.contains(target) && closest(target, 'div.cdk-overlay-pane') === null) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\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 */\n/**\n * Configuration for creating a ConfigurableFocusTrap.\n */\nclass ConfigurableFocusTrapConfig {\n constructor() {\n /**\n * Whether to defer the creation of FocusTrap elements to be\n * done manually by the user. Default is to create them\n * automatically.\n */\n this.defer = false;\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/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\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/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter((ft) => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = function FocusTrapManager_Factory(t) { return new (t || FocusTrapManager)(); };\nFocusTrapManager.ɵprov = ɵɵdefineInjectable({ factory: function FocusTrapManager_Factory() { return new FocusTrapManager(); }, token: FocusTrapManager, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusTrapManager, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, 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/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = new ConfigurableFocusTrapConfig()) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = new ConfigurableFocusTrapConfig();\n configObject.defer = config;\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = function ConfigurableFocusTrapFactory_Factory(t) { return new (t || ConfigurableFocusTrapFactory)(ɵngcc0.ɵɵinject(InteractivityChecker), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(FocusTrapManager), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); };\nConfigurableFocusTrapFactory.ɵprov = ɵɵdefineInjectable({ factory: function ConfigurableFocusTrapFactory_Factory() { return new ConfigurableFocusTrapFactory(ɵɵinject(InteractivityChecker), ɵɵinject(NgZone), ɵɵinject(FocusTrapManager), ɵɵinject(DOCUMENT), ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); }, token: ConfigurableFocusTrapFactory, providedIn: \"root\" });\nConfigurableFocusTrapFactory.ctorParameters = () => [\n { type: InteractivityChecker },\n { type: NgZone },\n { type: FocusTrapManager },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FOCUS_TRAP_INERT_STRATEGY,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ConfigurableFocusTrapFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: InteractivityChecker }, { type: ɵngcc0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; }, 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 */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\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 LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n (defaultOptions && defaultOptions.politeness) ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n resolve();\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n }, 100);\n });\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n if (this._liveElement && this._liveElement.parentNode) {\n this._liveElement.parentNode.removeChild(this._liveElement);\n this._liveElement = null;\n }\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].parentNode.removeChild(previousElements[i]);\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = function LiveAnnouncer_Factory(t) { return new (t || LiveAnnouncer)(ɵngcc0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); };\nLiveAnnouncer.ɵprov = ɵɵdefineInjectable({ factory: function LiveAnnouncer_Factory() { return new LiveAnnouncer(ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), ɵɵinject(NgZone), ɵɵinject(DOCUMENT), ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); }, token: LiveAnnouncer, providedIn: \"root\" });\nLiveAnnouncer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] }] },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LiveAnnouncer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() { return this._politeness; }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver\n .observe(this._elementRef)\n .subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = function CdkAriaLive_Factory(t) { return new (t || CdkAriaLive)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(LiveAnnouncer), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.ContentObserver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkAriaLive.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkAriaLive, selectors: [[\"\", \"cdkAriaLive\", \"\"]], inputs: { politeness: [\"cdkAriaLive\", \"politeness\"] }, exportAs: [\"cdkAriaLive\"] });\nCdkAriaLive.ctorParameters = () => [\n { type: ElementRef },\n { type: LiveAnnouncer },\n { type: ContentObserver },\n { type: NgZone }\n];\nCdkAriaLive.propDecorators = {\n politeness: [{ type: Input, args: ['cdkAriaLive',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAriaLive, [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: LiveAnnouncer }, { type: ɵngcc2.ContentObserver }, { type: ɵngcc0.NgZone }]; }, { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\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/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // We can typically distinguish between these faked mousedown events and real mousedown events\n // using the \"buttons\" property. While real mousedowns will indicate the mouse button that was\n // pressed (e.g. \"1\" for the left mouse button), faked mousedowns will usually set the property\n // value to 0.\n return event.buttons === 0;\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) ||\n (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 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 */\n// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n// that a value of around 650ms seems appropriate.\nconst TOUCH_BUFFER_MS = 650;\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `keydown` events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._documentKeydownListener = () => {\n // On keydown record the origin and clear any touch event that may be in progress.\n this._lastTouchTarget = null;\n this._setOriginForCurrentEventQueue('keyboard');\n };\n /**\n * Event listener for `mousedown` events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._documentMousedownListener = (event) => {\n // On mousedown record the origin only if there is not touch\n // target, since a mousedown can happen as a result of a touch event.\n if (!this._lastTouchTarget) {\n // In some cases screen readers fire fake `mousedown` events instead of `keydown`.\n // Resolve the focus source to `keyboard` if we detect one of them.\n const source = isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse';\n this._setOriginForCurrentEventQueue(source);\n }\n };\n /**\n * Event listener for `touchstart` events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._documentTouchstartListener = (event) => {\n // Some screen readers will fire a fake `touchstart` event if an element is activated using\n // the keyboard while on a device with a touchsreen. Consider such events as keyboard focus.\n if (!isFakeTouchstartFromScreenReader(event)) {\n // When the touchstart event fires the focus event is not yet in the event queue. This means\n // we can't rely on the trick used above (setting timeout of 1ms). Instead we wait 650ms to\n // see if a focus happens.\n if (this._touchTimeoutId != null) {\n clearTimeout(this._touchTimeoutId);\n }\n this._lastTouchTarget = getTarget(event);\n this._touchTimeoutId = setTimeout(() => this._lastTouchTarget = null, TOUCH_BUFFER_MS);\n }\n else if (!this._lastTouchTarget) {\n this._setOriginForCurrentEventQueue('keyboard');\n }\n };\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false);\n };\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = getTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event, element);\n }\n };\n this._document = document;\n this._detectionMode = (options === null || options === void 0 ? void 0 : options.detectionMode) || 0 /* IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement)\n .forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOriginForCurrentEventQueue(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _toggleClass(element, className, shouldSet) {\n if (shouldSet) {\n element.classList.add(className);\n }\n else {\n element.classList.remove(className);\n }\n }\n _getFocusOrigin(event) {\n // If we couldn't detect a cause for the focus event, it's due to one of three reasons:\n // 1) The window has just regained focus, in which case we want to restore the focused state of\n // the element from before the window blurred.\n // 2) It was caused by a touch event, in which case we mark the origin as 'touch'.\n // 3) The element was programmatically focused, in which case we should mark the origin as\n // 'program'.\n if (this._origin) {\n return this._origin;\n }\n if (this._windowFocused && this._lastFocusOrigin) {\n return this._lastFocusOrigin;\n }\n else if (this._wasCausedByTouch(event)) {\n return 'touch';\n }\n else {\n return 'program';\n }\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n this._toggleClass(element, 'cdk-focused', !!origin);\n this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');\n this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n }\n /**\n * Sets the origin and schedules an async function to clear it at the end of the event queue.\n * If the detection mode is 'eventual', the origin is never cleared.\n * @param origin The origin to set.\n */\n _setOriginForCurrentEventQueue(origin) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n if (this._detectionMode === 0 /* IMMEDIATE */) {\n // Sometimes the focus origin won't be valid in Firefox because Firefox seems to focus *one*\n // tick after the interaction event fired. To ensure the focus origin is always correct,\n // the focus origin will be determined at the beginning of the next tick.\n this._originTimeoutId = setTimeout(() => this._origin = null, 1);\n }\n });\n }\n /**\n * Checks whether the given focus event was caused by a touchstart event.\n * @param event The focus event to check.\n * @returns Whether the event was caused by a touch.\n */\n _wasCausedByTouch(event) {\n // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.\n // Consider the following dom structure:\n //\n //
\n //
\n //
\n //\n // If the user touches the #child element and the #parent is programmatically focused as a\n // result, this code will still consider it to have been caused by the touch event and will\n // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a\n // relatively small edge-case that can be worked around by using\n // focusVia(parentEl, 'program') to focus the parent element.\n //\n // If we decide that we absolutely must handle this case correctly, we can do so by listening\n // for the first focus event after the touchstart, and then the first blur event after that\n // focus event. When that blur event fires we know that whatever follows is not a result of the\n // touchstart.\n const focusTarget = getTarget(event);\n return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&\n (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo || (!elementInfo.checkChildren && element !== getTarget(event))) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(event), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n _emitOrigin(subject, origin) {\n this._ngZone.run(() => subject.next(origin));\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const document = this._getDocument();\n const window = this._getWindow();\n document.addEventListener('keydown', this._documentKeydownListener, captureEventListenerOptions);\n document.addEventListener('mousedown', this._documentMousedownListener, captureEventListenerOptions);\n document.addEventListener('touchstart', this._documentTouchstartListener, captureEventListenerOptions);\n window.addEventListener('focus', this._windowFocusListener);\n });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const document = this._getDocument();\n const window = this._getWindow();\n document.removeEventListener('keydown', this._documentKeydownListener, captureEventListenerOptions);\n document.removeEventListener('mousedown', this._documentMousedownListener, captureEventListenerOptions);\n document.removeEventListener('touchstart', this._documentTouchstartListener, captureEventListenerOptions);\n window.removeEventListener('focus', this._windowFocusListener);\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._touchTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n}\nFocusMonitor.ɵfac = function FocusMonitor_Factory(t) { return new (t || FocusMonitor)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT, 8), ɵngcc0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); };\nFocusMonitor.ɵprov = ɵɵdefineInjectable({ factory: function FocusMonitor_Factory() { return new FocusMonitor(ɵɵinject(NgZone), ɵɵinject(Platform), ɵɵinject(DOCUMENT, 8), ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); }, token: FocusMonitor, providedIn: \"root\" });\nFocusMonitor.ctorParameters = () => [\n { type: NgZone },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FOCUS_MONITOR_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/** Gets the target of an event, accounting for Shadow DOM. */\nfunction getTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\n}\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this.cdkFocusChange = new EventEmitter();\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor.monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = function CdkMonitorFocus_Factory(t) { return new (t || CdkMonitorFocus)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FocusMonitor)); };\nCdkMonitorFocus.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkMonitorFocus, selectors: [[\"\", \"cdkMonitorElementFocus\", \"\"], [\"\", \"cdkMonitorSubtreeFocus\", \"\"]], outputs: { cdkFocusChange: \"cdkFocusChange\" } });\nCdkMonitorFocus.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusMonitor }\n];\nCdkMonitorFocus.propDecorators = {\n cdkFocusChange: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkMonitorFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FocusMonitor }]; }, { cdkFocusChange: [{\n type: Output\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/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = (documentWindow && documentWindow.getComputedStyle) ?\n documentWindow.getComputedStyle(testElement) : null;\n const computedColor = (computedStyle && computedStyle.backgroundColor || '').replace(/ /g, '');\n this._document.body.removeChild(testElement);\n switch (computedColor) {\n case 'rgb(0,0,0)': return 2 /* WHITE_ON_BLACK */;\n case 'rgb(255,255,255)': return 1 /* BLACK_ON_WHITE */;\n }\n return 0 /* NONE */;\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n const mode = this.getHighContrastMode();\n if (mode === 1 /* BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = function HighContrastModeDetector_Factory(t) { return new (t || HighContrastModeDetector)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT)); };\nHighContrastModeDetector.ɵprov = ɵɵdefineInjectable({ factory: function HighContrastModeDetector_Factory() { return new HighContrastModeDetector(ɵɵinject(Platform), ɵɵinject(DOCUMENT)); }, token: HighContrastModeDetector, providedIn: \"root\" });\nHighContrastModeDetector.ctorParameters = () => [\n { type: Platform },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HighContrastModeDetector, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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 */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = function A11yModule_Factory(t) { return new (t || A11yModule)(ɵngcc0.ɵɵinject(HighContrastModeDetector)); };\nA11yModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: A11yModule });\nA11yModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ imports: [[PlatformModule, ObserversModule]] });\nA11yModule.ctorParameters = () => [\n { type: HighContrastModeDetector }\n];\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(A11yModule, { declarations: function () { return [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]; }, imports: function () { return [PlatformModule, ObserversModule]; }, exports: function () { return [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(A11yModule, [{\n type: NgModule,\n args: [{\n imports: [PlatformModule, ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]\n }]\n }], function () { return [{ type: HighContrastModeDetector }]; }, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, TOUCH_BUFFER_MS, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader, FocusTrapManager as ɵangular_material_src_cdk_a11y_a11y_a, ConfigurableFocusTrapConfig as ɵangular_material_src_cdk_a11y_a11y_b };\n\n//# sourceMappingURL=a11y.js.map","import { InjectionToken, Directive, Input, EventEmitter, Optional, Inject, SkipSelf, ChangeDetectorRef, Output, NgModule } from '@angular/core';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription } from 'rxjs';\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/** Used to generate unique ID for each accordion. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/collections';\nlet nextId = 0;\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_ACCORDION = new InjectionToken('CdkAccordion');\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\nclass CdkAccordion {\n constructor() {\n /** Emits when the state of the accordion changes */\n this._stateChanges = new Subject();\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n this._openCloseAllActions = new Subject();\n /** A readonly id value to use for unique selection coordination. */\n this.id = `cdk-accordion-${nextId++}`;\n this._multi = false;\n }\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n get multi() { return this._multi; }\n set multi(multi) { this._multi = coerceBooleanProperty(multi); }\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll() {\n if (this._multi) {\n this._openCloseAllActions.next(true);\n }\n }\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll() {\n this._openCloseAllActions.next(false);\n }\n ngOnChanges(changes) {\n this._stateChanges.next(changes);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n}\nCdkAccordion.ɵfac = function CdkAccordion_Factory(t) { return new (t || CdkAccordion)(); };\nCdkAccordion.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkAccordion, selectors: [[\"cdk-accordion\"], [\"\", \"cdkAccordion\", \"\"]], inputs: { multi: \"multi\" }, exportAs: [\"cdkAccordion\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_ACCORDION, useExisting: CdkAccordion }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkAccordion.propDecorators = {\n multi: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAccordion, [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }]\n }]\n }], function () { return []; }, { multi: [{\n type: Input\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/** Used to generate unique ID for each accordion item. */\nlet nextId$1 = 0;\nconst ɵ0 = undefined;\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\nclass CdkAccordionItem {\n constructor(accordion, _changeDetectorRef, _expansionDispatcher) {\n this.accordion = accordion;\n this._changeDetectorRef = _changeDetectorRef;\n this._expansionDispatcher = _expansionDispatcher;\n /** Subscription to openAll/closeAll events. */\n this._openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n this.closed = new EventEmitter();\n /** Event emitted every time the AccordionItem is opened. */\n this.opened = new EventEmitter();\n /** Event emitted when the AccordionItem is destroyed. */\n this.destroyed = new EventEmitter();\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n this.expandedChange = new EventEmitter();\n /** The unique AccordionItem id. */\n this.id = `cdk-accordion-child-${nextId$1++}`;\n this._expanded = false;\n this._disabled = false;\n /** Unregister function for _expansionDispatcher. */\n this._removeUniqueSelectionListener = () => { };\n this._removeUniqueSelectionListener =\n _expansionDispatcher.listen((id, accordionId) => {\n if (this.accordion && !this.accordion.multi &&\n this.accordion.id === accordionId && this.id !== id) {\n this.expanded = false;\n }\n });\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n /** Whether the AccordionItem is expanded. */\n get expanded() { return this._expanded; }\n set expanded(expanded) {\n expanded = coerceBooleanProperty(expanded);\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n }\n else {\n this.closed.emit();\n }\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the AccordionItem is disabled. */\n get disabled() { return this._disabled; }\n set disabled(disabled) { this._disabled = coerceBooleanProperty(disabled); }\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n /** Toggles the expanded state of the accordion item. */\n toggle() {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n /** Sets the expanded state of the accordion item to false. */\n close() {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n /** Sets the expanded state of the accordion item to true. */\n open() {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n _subscribeToOpenCloseAllActions() {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\nCdkAccordionItem.ɵfac = function CdkAccordionItem_Factory(t) { return new (t || CdkAccordionItem)(ɵngcc0.ɵɵdirectiveInject(CDK_ACCORDION, 12), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.UniqueSelectionDispatcher)); };\nCdkAccordionItem.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkAccordionItem, selectors: [[\"cdk-accordion-item\"], [\"\", \"cdkAccordionItem\", \"\"]], inputs: { expanded: \"expanded\", disabled: \"disabled\" }, outputs: { closed: \"closed\", opened: \"opened\", destroyed: \"destroyed\", expandedChange: \"expandedChange\" }, exportAs: [\"cdkAccordionItem\"], features: [ɵngcc0.ɵɵProvidersFeature([\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: ɵ0 },\n ])] });\nCdkAccordionItem.ctorParameters = () => [\n { type: CdkAccordion, decorators: [{ type: Optional }, { type: Inject, args: [CDK_ACCORDION,] }, { type: SkipSelf }] },\n { type: ChangeDetectorRef },\n { type: UniqueSelectionDispatcher }\n];\nCdkAccordionItem.propDecorators = {\n closed: [{ type: Output }],\n opened: [{ type: Output }],\n destroyed: [{ type: Output }],\n expandedChange: [{ type: Output }],\n expanded: [{ type: Input }],\n disabled: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAccordionItem, [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: ɵ0 },\n ]\n }]\n }], function () { return [{ type: CdkAccordion, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_ACCORDION]\n }, {\n type: SkipSelf\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc1.UniqueSelectionDispatcher }]; }, { closed: [{\n type: Output\n }], opened: [{\n type: Output\n }], destroyed: [{\n type: Output\n }], expandedChange: [{\n type: Output\n }], expanded: [{\n type: Input\n }], disabled: [{\n type: Input\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 CdkAccordionModule {\n}\nCdkAccordionModule.ɵfac = function CdkAccordionModule_Factory(t) { return new (t || CdkAccordionModule)(); };\nCdkAccordionModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: CdkAccordionModule });\nCdkAccordionModule.ɵinj = ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkAccordionModule, { declarations: [CdkAccordion, CdkAccordionItem], exports: [CdkAccordion, CdkAccordionItem] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAccordionModule, [{\n type: NgModule,\n args: [{\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkAccordion, CdkAccordionItem, CdkAccordionModule, CDK_ACCORDION as ɵangular_material_src_cdk_accordion_accordion_a };\n\n//# sourceMappingURL=accordion.js.map","import { InjectionToken, inject, EventEmitter, ɵɵdefineInjectable, ɵɵinject, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\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 * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\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 * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = (value === 'ltr' || value === 'rtl') ? value : 'ltr';\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = function Directionality_Factory(t) { return new (t || Directionality)(ɵngcc0.ɵɵinject(DIR_DOCUMENT, 8)); };\nDirectionality.ɵprov = ɵɵdefineInjectable({ factory: function Directionality_Factory() { return new Directionality(ɵɵinject(DIR_DOCUMENT, 8)); }, token: Directionality, providedIn: \"root\" });\nDirectionality.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DIR_DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Directionality, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; }, 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/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() { return this._dir; }\n set dir(value) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n this._rawDir = value;\n this._dir = (normalizedValue === 'ltr' || normalizedValue === 'rtl') ? normalizedValue : 'ltr';\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() { return this.dir; }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = function Dir_Factory(t) { return new (t || Dir)(); };\nDir.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: Dir, selectors: [[\"\", \"dir\", \"\"]], hostVars: 1, hostBindings: function Dir_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"dir\", ctx._rawDir);\n } }, inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, exportAs: [\"dir\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: Directionality, useExisting: Dir }])] });\nDir.propDecorators = {\n change: [{ type: Output, args: ['dirChange',] }],\n dir: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Dir, [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir'\n }]\n }], function () { return []; }, { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\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 BidiModule {\n}\nBidiModule.ɵfac = function BidiModule_Factory(t) { return new (t || BidiModule)(); };\nBidiModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: BidiModule });\nBidiModule.ɵinj = ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(BidiModule, { declarations: [Dir], exports: [Dir] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BidiModule, [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality, DIR_DOCUMENT_FACTORY as ɵangular_material_src_cdk_bidi_bidi_a };\n\n//# sourceMappingURL=bidi.js.map","import { isObservable, of, Subject } from 'rxjs';\nimport { ɵɵdefineInjectable, Injectable, InjectionToken } from '@angular/core';\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 * as ɵngcc0 from '@angular/core';\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\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/**\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/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\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/**\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 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 */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\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 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 */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\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 this.viewCacheSize = 20;\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 this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) { // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;\n }\n else if (currentIndex == null) { // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* REMOVED */;\n }\n else { // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\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 _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\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 }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\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 * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value) {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n */\n clear() {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\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 this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n this._selection.add(value);\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\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 _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\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 */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\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 * 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 */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\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, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = function UniqueSelectionDispatcher_Factory(t) { return new (t || UniqueSelectionDispatcher)(); };\nUniqueSelectionDispatcher.ɵprov = ɵɵdefineInjectable({ factory: function UniqueSelectionDispatcher_Factory() { return new UniqueSelectionDispatcher(); }, token: UniqueSelectionDispatcher, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UniqueSelectionDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, 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\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 * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n\n//# sourceMappingURL=collections.js.map","import { ɵɵdefineInjectable, ɵɵinject, NgZone, Injectable, Inject, InjectionToken, Directive, Input, EventEmitter, ElementRef, ChangeDetectorRef, Optional, SkipSelf, Output, TemplateRef, ViewContainerRef, Self, ContentChildren, ContentChild, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ViewportRuler, ScrollDispatcher, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { normalizePassiveListenerOptions, _getShadowRoot } from '@angular/cdk/platform';\nimport { coerceBooleanProperty, coerceElement, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription, interval, animationFrameScheduler, Observable, merge } from 'rxjs';\nimport { takeUntil, startWith, map, take, tap, switchMap } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\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 * Shallow-extends a stylesheet object with another stylesheet object.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/scrolling';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nfunction extendStyles(dest, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n dest[key] = source[key];\n }\n }\n return dest;\n}\n/**\n * Toggles whether the native drag interactions should be enabled for an element.\n * @param element Element on which to toggle the drag interactions.\n * @param enable Whether the drag interactions should be enabled.\n * @docs-private\n */\nfunction toggleNativeDragInteractions(element, enable) {\n const userSelect = enable ? '' : 'none';\n extendStyles(element.style, {\n touchAction: enable ? '' : 'none',\n webkitUserDrag: enable ? '' : 'none',\n webkitTapHighlightColor: enable ? '' : 'transparent',\n userSelect: userSelect,\n msUserSelect: userSelect,\n webkitUserSelect: userSelect,\n MozUserSelect: userSelect\n });\n}\n/**\n * Toggles whether an element is visible while preserving its dimensions.\n * @param element Element whose visibility to toggle\n * @param enable Whether the element should be visible.\n * @docs-private\n */\nfunction toggleVisibility(element, enable) {\n const styles = element.style;\n styles.position = enable ? '' : 'fixed';\n styles.top = styles.opacity = enable ? '' : '0';\n styles.left = enable ? '' : '-999em';\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/** Parses a CSS time value to milliseconds. */\nfunction parseCssTimeUnitsToMs(value) {\n // Some browsers will return it in seconds, whereas others will return milliseconds.\n const multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000;\n return parseFloat(value) * multiplier;\n}\n/** Gets the transform transition duration, including the delay, of an element in milliseconds. */\nfunction getTransformTransitionDurationInMs(element) {\n const computedStyle = getComputedStyle(element);\n const transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property');\n const property = transitionedProperties.find(prop => prop === 'transform' || prop === 'all');\n // If there's no transition for `all` or `transform`, we shouldn't do anything.\n if (!property) {\n return 0;\n }\n // Get the index of the property that we're interested in and match\n // it up to the same index in `transition-delay` and `transition-duration`.\n const propertyIndex = transitionedProperties.indexOf(property);\n const rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration');\n const rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay');\n return parseCssTimeUnitsToMs(rawDurations[propertyIndex]) +\n parseCssTimeUnitsToMs(rawDelays[propertyIndex]);\n}\n/** Parses out multiple values from a computed style into an array. */\nfunction parseCssPropertyValue(computedStyle, name) {\n const value = computedStyle.getPropertyValue(name);\n return value.split(',').map(part => part.trim());\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/** Gets a mutable version of an element's bounding `ClientRect`. */\nfunction getMutableClientRect(element) {\n const clientRect = element.getBoundingClientRect();\n // We need to clone the `clientRect` here, because all the values on it are readonly\n // and we need to be able to update them. Also we can't use a spread here, because\n // the values on a `ClientRect` aren't own properties. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes\n return {\n top: clientRect.top,\n right: clientRect.right,\n bottom: clientRect.bottom,\n left: clientRect.left,\n width: clientRect.width,\n height: clientRect.height\n };\n}\n/**\n * Checks whether some coordinates are within a `ClientRect`.\n * @param clientRect ClientRect that is being checked.\n * @param x Coordinates along the X axis.\n * @param y Coordinates along the Y axis.\n */\nfunction isInsideClientRect(clientRect, x, y) {\n const { top, bottom, left, right } = clientRect;\n return y >= top && y <= bottom && x >= left && x <= right;\n}\n/**\n * Updates the top/left positions of a `ClientRect`, as well as their bottom/right counterparts.\n * @param clientRect `ClientRect` that should be updated.\n * @param top Amount to add to the `top` position.\n * @param left Amount to add to the `left` position.\n */\nfunction adjustClientRect(clientRect, top, left) {\n clientRect.top += top;\n clientRect.bottom = clientRect.top + clientRect.height;\n clientRect.left += left;\n clientRect.right = clientRect.left + clientRect.width;\n}\n/**\n * Checks whether the pointer coordinates are close to a ClientRect.\n * @param rect ClientRect to check against.\n * @param threshold Threshold around the ClientRect.\n * @param pointerX Coordinates along the X axis.\n * @param pointerY Coordinates along the Y axis.\n */\nfunction isPointerNearClientRect(rect, threshold, pointerX, pointerY) {\n const { top, right, bottom, left, width, height } = rect;\n const xThreshold = width * threshold;\n const yThreshold = height * threshold;\n return pointerY > top - yThreshold && pointerY < bottom + yThreshold &&\n pointerX > left - xThreshold && pointerX < right + xThreshold;\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/** Keeps track of the scroll position and dimensions of the parents of an element. */\nclass ParentPositionTracker {\n constructor(_document, _viewportRuler) {\n this._document = _document;\n this._viewportRuler = _viewportRuler;\n /** Cached positions of the scrollable parent elements. */\n this.positions = new Map();\n }\n /** Clears the cached positions. */\n clear() {\n this.positions.clear();\n }\n /** Caches the positions. Should be called at the beginning of a drag sequence. */\n cache(elements) {\n this.clear();\n this.positions.set(this._document, {\n scrollPosition: this._viewportRuler.getViewportScrollPosition(),\n });\n elements.forEach(element => {\n this.positions.set(element, {\n scrollPosition: { top: element.scrollTop, left: element.scrollLeft },\n clientRect: getMutableClientRect(element)\n });\n });\n }\n /** Handles scrolling while a drag is taking place. */\n handleScroll(event) {\n const target = event.target;\n const cachedPosition = this.positions.get(target);\n if (!cachedPosition) {\n return null;\n }\n // Used when figuring out whether an element is inside the scroll parent. If the scrolled\n // parent is the `document`, we use the `documentElement`, because IE doesn't support\n // `contains` on the `document`.\n const scrolledParentNode = target === this._document ? target.documentElement : target;\n const scrollPosition = cachedPosition.scrollPosition;\n let newTop;\n let newLeft;\n if (target === this._document) {\n const viewportScrollPosition = this._viewportRuler.getViewportScrollPosition();\n newTop = viewportScrollPosition.top;\n newLeft = viewportScrollPosition.left;\n }\n else {\n newTop = target.scrollTop;\n newLeft = target.scrollLeft;\n }\n const topDifference = scrollPosition.top - newTop;\n const leftDifference = scrollPosition.left - newLeft;\n // Go through and update the cached positions of the scroll\n // parents that are inside the element that was scrolled.\n this.positions.forEach((position, node) => {\n if (position.clientRect && target !== node && scrolledParentNode.contains(node)) {\n adjustClientRect(position.clientRect, topDifference, leftDifference);\n }\n });\n scrollPosition.top = newTop;\n scrollPosition.left = newLeft;\n return { top: topDifference, left: leftDifference };\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/** Creates a deep clone of an element. */\nfunction deepCloneNode(node) {\n const clone = node.cloneNode(true);\n const descendantsWithId = clone.querySelectorAll('[id]');\n const nodeName = node.nodeName.toLowerCase();\n // Remove the `id` to avoid having multiple elements with the same id on the page.\n clone.removeAttribute('id');\n for (let i = 0; i < descendantsWithId.length; i++) {\n descendantsWithId[i].removeAttribute('id');\n }\n if (nodeName === 'canvas') {\n transferCanvasData(node, clone);\n }\n else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {\n transferInputData(node, clone);\n }\n transferData('canvas', node, clone, transferCanvasData);\n transferData('input, textarea, select', node, clone, transferInputData);\n return clone;\n}\n/** Matches elements between an element and its clone and allows for their data to be cloned. */\nfunction transferData(selector, node, clone, callback) {\n const descendantElements = node.querySelectorAll(selector);\n if (descendantElements.length) {\n const cloneElements = clone.querySelectorAll(selector);\n for (let i = 0; i < descendantElements.length; i++) {\n callback(descendantElements[i], cloneElements[i]);\n }\n }\n}\n// Counter for unique cloned radio button names.\nlet cloneUniqueId = 0;\n/** Transfers the data of one input element to another. */\nfunction transferInputData(source, clone) {\n // Browsers throw an error when assigning the value of a file input programmatically.\n if (clone.type !== 'file') {\n clone.value = source.value;\n }\n // Radio button `name` attributes must be unique for radio button groups\n // otherwise original radio buttons can lose their checked state\n // once the clone is inserted in the DOM.\n if (clone.type === 'radio' && clone.name) {\n clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;\n }\n}\n/** Transfers the data of one canvas element to another. */\nfunction transferCanvasData(source, clone) {\n const context = clone.getContext('2d');\n if (context) {\n // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).\n // We can't do much about it so just ignore the error.\n try {\n context.drawImage(source, 0, 0);\n }\n catch (_a) { }\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/** Options that can be used to bind a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/** Options that can be used to bind an active event listener. */\nconst activeEventListenerOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Time in milliseconds for which to ignore mouse events, after\n * receiving a touch event. Used to avoid doing double work for\n * touch devices where the browser fires fake mouse events, in\n * addition to touch events.\n */\nconst MOUSE_EVENT_IGNORE_TIME = 800;\n/**\n * Reference to a draggable item. Used to manipulate or dispose of the item.\n */\nclass DragRef {\n constructor(element, _config, _document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._config = _config;\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n /**\n * CSS `transform` applied to the element when it isn't being dragged. We need a\n * passive transform in order for the dragged element to retain its new position\n * after the user has stopped dragging and because we need to know the relative\n * position in case they start dragging again. This corresponds to `element.style.transform`.\n */\n this._passiveTransform = { x: 0, y: 0 };\n /** CSS `transform` that is applied to the element while it's being dragged. */\n this._activeTransform = { x: 0, y: 0 };\n /** Emits when the item is being moved. */\n this._moveEvents = new Subject();\n /** Subscription to pointer movement events. */\n this._pointerMoveSubscription = Subscription.EMPTY;\n /** Subscription to the event that is dispatched when the user lifts their pointer. */\n this._pointerUpSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being scrolled. */\n this._scrollSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being resized. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Cached reference to the boundary element. */\n this._boundaryElement = null;\n /** Whether the native dragging interactions have been enabled on the root element. */\n this._nativeInteractionsEnabled = true;\n /** Elements that can be used to drag the draggable item. */\n this._handles = [];\n /** Registered handles that are currently disabled. */\n this._disabledHandles = new Set();\n /** Layout direction of the item. */\n this._direction = 'ltr';\n /**\n * Amount of milliseconds to wait after the user has put their\n * pointer down before starting to drag the element.\n */\n this.dragStartDelay = 0;\n this._disabled = false;\n /** Emits as the drag sequence is being prepared. */\n this.beforeStarted = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new Subject();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new Subject();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new Subject();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new Subject();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new Subject();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new Subject();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = this._moveEvents;\n /** Handler for the `mousedown`/`touchstart` events. */\n this._pointerDown = (event) => {\n this.beforeStarted.next();\n // Delegate the event based on whether it started from a handle or the element itself.\n if (this._handles.length) {\n const targetHandle = this._handles.find(handle => {\n const target = event.target;\n return !!target && (target === handle || handle.contains(target));\n });\n if (targetHandle && !this._disabledHandles.has(targetHandle) && !this.disabled) {\n this._initializeDragSequence(targetHandle, event);\n }\n }\n else if (!this.disabled) {\n this._initializeDragSequence(this._rootElement, event);\n }\n };\n /** Handler that is invoked when the user moves their pointer after they've initiated a drag. */\n this._pointerMove = (event) => {\n const pointerPosition = this._getPointerPositionOnPage(event);\n if (!this._hasStartedDragging) {\n const distanceX = Math.abs(pointerPosition.x - this._pickupPositionOnPage.x);\n const distanceY = Math.abs(pointerPosition.y - this._pickupPositionOnPage.y);\n const isOverThreshold = distanceX + distanceY >= this._config.dragStartThreshold;\n // Only start dragging after the user has moved more than the minimum distance in either\n // direction. Note that this is preferrable over doing something like `skip(minimumDistance)`\n // in the `pointerMove` subscription, because we're not guaranteed to have one move event\n // per pixel of movement (e.g. if the user moves their pointer quickly).\n if (isOverThreshold) {\n const isDelayElapsed = Date.now() >= this._dragStartTime + this._getDragStartDelay(event);\n const container = this._dropContainer;\n if (!isDelayElapsed) {\n this._endDragSequence(event);\n return;\n }\n // Prevent other drag sequences from starting while something in the container is still\n // being dragged. This can happen while we're waiting for the drop animation to finish\n // and can cause errors, because some elements might still be moving around.\n if (!container || (!container.isDragging() && !container.isReceiving())) {\n // Prevent the default action as soon as the dragging sequence is considered as\n // \"started\" since waiting for the next event can allow the device to begin scrolling.\n event.preventDefault();\n this._hasStartedDragging = true;\n this._ngZone.run(() => this._startDragSequence(event));\n }\n }\n return;\n }\n // We only need the preview dimensions if we have a boundary element.\n if (this._boundaryElement) {\n // Cache the preview element rect if we haven't cached it already or if\n // we cached it too early before the element dimensions were computed.\n if (!this._previewRect || (!this._previewRect.width && !this._previewRect.height)) {\n this._previewRect = (this._preview || this._rootElement).getBoundingClientRect();\n }\n }\n // We prevent the default action down here so that we know that dragging has started. This is\n // important for touch devices where doing this too early can unnecessarily block scrolling,\n // if there's a dragging delay.\n event.preventDefault();\n const constrainedPointerPosition = this._getConstrainedPointerPosition(pointerPosition);\n this._hasMoved = true;\n this._lastKnownPointerPosition = pointerPosition;\n this._updatePointerDirectionDelta(constrainedPointerPosition);\n if (this._dropContainer) {\n this._updateActiveDropContainer(constrainedPointerPosition, pointerPosition);\n }\n else {\n const activeTransform = this._activeTransform;\n activeTransform.x =\n constrainedPointerPosition.x - this._pickupPositionOnPage.x + this._passiveTransform.x;\n activeTransform.y =\n constrainedPointerPosition.y - this._pickupPositionOnPage.y + this._passiveTransform.y;\n this._applyRootElementTransform(activeTransform.x, activeTransform.y);\n // Apply transform as attribute if dragging and svg element to work for IE\n if (typeof SVGElement !== 'undefined' && this._rootElement instanceof SVGElement) {\n const appliedTransform = `translate(${activeTransform.x} ${activeTransform.y})`;\n this._rootElement.setAttribute('transform', appliedTransform);\n }\n }\n // Since this event gets fired for every pixel while dragging, we only\n // want to fire it if the consumer opted into it. Also we have to\n // re-enter the zone because we run all of the events on the outside.\n if (this._moveEvents.observers.length) {\n this._ngZone.run(() => {\n this._moveEvents.next({\n source: this,\n pointerPosition: constrainedPointerPosition,\n event,\n distance: this._getDragDistance(constrainedPointerPosition),\n delta: this._pointerDirectionDelta\n });\n });\n }\n };\n /** Handler that is invoked when the user lifts their pointer up, after initiating a drag. */\n this._pointerUp = (event) => {\n this._endDragSequence(event);\n };\n this.withRootElement(element).withParent(_config.parentDragRef || null);\n this._parentPositions = new ParentPositionTracker(_document, _viewportRuler);\n _dragDropRegistry.registerDragItem(this);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || !!(this._dropContainer && this._dropContainer.disabled);\n }\n set disabled(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this._toggleNativeDragInteractions();\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, newValue));\n }\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._placeholder;\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._rootElement;\n }\n /**\n * Gets the currently-visible element that represents the drag item.\n * While dragging this is the placeholder, otherwise it's the root element.\n */\n getVisibleElement() {\n return this.isDragging() ? this.getPlaceholderElement() : this.getRootElement();\n }\n /** Registers the handles that can be used to drag the element. */\n withHandles(handles) {\n this._handles = handles.map(handle => coerceElement(handle));\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, this.disabled));\n this._toggleNativeDragInteractions();\n // Delete any lingering disabled handles that may have been destroyed. Note that we re-create\n // the set, rather than iterate over it and filter out the destroyed handles, because while\n // the ES spec allows for sets to be modified while they're being iterated over, some polyfills\n // use an array internally which may throw an error.\n const disabledHandles = new Set();\n this._disabledHandles.forEach(handle => {\n if (this._handles.indexOf(handle) > -1) {\n disabledHandles.add(handle);\n }\n });\n this._disabledHandles = disabledHandles;\n return this;\n }\n /**\n * Registers the template that should be used for the drag preview.\n * @param template Template that from which to stamp out the preview.\n */\n withPreviewTemplate(template) {\n this._previewTemplate = template;\n return this;\n }\n /**\n * Registers the template that should be used for the drag placeholder.\n * @param template Template that from which to stamp out the placeholder.\n */\n withPlaceholderTemplate(template) {\n this._placeholderTemplate = template;\n return this;\n }\n /**\n * Sets an alternate drag root element. The root element is the element that will be moved as\n * the user is dragging. Passing an alternate root element is useful when trying to enable\n * dragging on an element that you might not have access to.\n */\n withRootElement(rootElement) {\n const element = coerceElement(rootElement);\n if (element !== this._rootElement) {\n if (this._rootElement) {\n this._removeRootElementListeners(this._rootElement);\n }\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.addEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n });\n this._initialTransform = undefined;\n this._rootElement = element;\n }\n if (typeof SVGElement !== 'undefined' && this._rootElement instanceof SVGElement) {\n this._ownerSVGElement = this._rootElement.ownerSVGElement;\n }\n return this;\n }\n /**\n * Element to which the draggable's position will be constrained.\n */\n withBoundaryElement(boundaryElement) {\n this._boundaryElement = boundaryElement ? coerceElement(boundaryElement) : null;\n this._resizeSubscription.unsubscribe();\n if (boundaryElement) {\n this._resizeSubscription = this._viewportRuler\n .change(10)\n .subscribe(() => this._containInsideBoundaryOnResize());\n }\n return this;\n }\n /** Sets the parent ref that the ref is nested in. */\n withParent(parent) {\n this._parentDragRef = parent;\n return this;\n }\n /** Removes the dragging functionality from the DOM element. */\n dispose() {\n this._removeRootElementListeners(this._rootElement);\n // Do this check before removing from the registry since it'll\n // stop being considered as dragged once it is removed.\n if (this.isDragging()) {\n // Since we move out the element to the end of the body while it's being\n // dragged, we have to make sure that it's removed if it gets destroyed.\n removeNode(this._rootElement);\n }\n removeNode(this._anchor);\n this._destroyPreview();\n this._destroyPlaceholder();\n this._dragDropRegistry.removeDragItem(this);\n this._removeSubscriptions();\n this.beforeStarted.complete();\n this.started.complete();\n this.released.complete();\n this.ended.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this._moveEvents.complete();\n this._handles = [];\n this._disabledHandles.clear();\n this._dropContainer = undefined;\n this._resizeSubscription.unsubscribe();\n this._parentPositions.clear();\n this._boundaryElement = this._rootElement = this._ownerSVGElement = this._placeholderTemplate =\n this._previewTemplate = this._anchor = this._parentDragRef = null;\n }\n /** Checks whether the element is currently being dragged. */\n isDragging() {\n return this._hasStartedDragging && this._dragDropRegistry.isDragging(this);\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._rootElement.style.transform = this._initialTransform || '';\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform = { x: 0, y: 0 };\n }\n /**\n * Sets a handle as disabled. While a handle is disabled, it'll capture and interrupt dragging.\n * @param handle Handle element that should be disabled.\n */\n disableHandle(handle) {\n if (!this._disabledHandles.has(handle) && this._handles.indexOf(handle) > -1) {\n this._disabledHandles.add(handle);\n toggleNativeDragInteractions(handle, true);\n }\n }\n /**\n * Enables a handle, if it has been disabled.\n * @param handle Handle element to be enabled.\n */\n enableHandle(handle) {\n if (this._disabledHandles.has(handle)) {\n this._disabledHandles.delete(handle);\n toggleNativeDragInteractions(handle, this.disabled);\n }\n }\n /** Sets the layout direction of the draggable item. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /** Sets the container that the item is part of. */\n _withDropContainer(container) {\n this._dropContainer = container;\n }\n /**\n * Gets the current position in pixels the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n const position = this.isDragging() ? this._activeTransform : this._passiveTransform;\n return { x: position.x, y: position.y };\n }\n /**\n * Sets the current position in pixels the draggable outside of a drop container.\n * @param value New position to be set.\n */\n setFreeDragPosition(value) {\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform.x = value.x;\n this._passiveTransform.y = value.y;\n if (!this._dropContainer) {\n this._applyRootElementTransform(value.x, value.y);\n }\n return this;\n }\n /** Updates the item's sort order based on the last-known pointer position. */\n _sortFromLastPointerPosition() {\n const position = this._lastKnownPointerPosition;\n if (position && this._dropContainer) {\n this._updateActiveDropContainer(this._getConstrainedPointerPosition(position), position);\n }\n }\n /** Unsubscribes from the global subscriptions. */\n _removeSubscriptions() {\n this._pointerMoveSubscription.unsubscribe();\n this._pointerUpSubscription.unsubscribe();\n this._scrollSubscription.unsubscribe();\n }\n /** Destroys the preview element and its ViewRef. */\n _destroyPreview() {\n if (this._preview) {\n removeNode(this._preview);\n }\n if (this._previewRef) {\n this._previewRef.destroy();\n }\n this._preview = this._previewRef = null;\n }\n /** Destroys the placeholder element and its ViewRef. */\n _destroyPlaceholder() {\n if (this._placeholder) {\n removeNode(this._placeholder);\n }\n if (this._placeholderRef) {\n this._placeholderRef.destroy();\n }\n this._placeholder = this._placeholderRef = null;\n }\n /**\n * Clears subscriptions and stops the dragging sequence.\n * @param event Browser event object that ended the sequence.\n */\n _endDragSequence(event) {\n // Note that here we use `isDragging` from the service, rather than from `this`.\n // The difference is that the one from the service reflects whether a dragging sequence\n // has been initiated, whereas the one on `this` includes whether the user has passed\n // the minimum dragging threshold.\n if (!this._dragDropRegistry.isDragging(this)) {\n return;\n }\n this._removeSubscriptions();\n this._dragDropRegistry.stopDragging(this);\n this._toggleNativeDragInteractions();\n if (this._handles) {\n this._rootElement.style.webkitTapHighlightColor = this._rootElementTapHighlight;\n }\n if (!this._hasStartedDragging) {\n return;\n }\n this.released.next({ source: this });\n if (this._dropContainer) {\n // Stop scrolling immediately, instead of waiting for the animation to finish.\n this._dropContainer._stopScrolling();\n this._animatePreviewToPlaceholder().then(() => {\n this._cleanupDragArtifacts(event);\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n });\n }\n else {\n // Convert the active transform into a passive one. This means that next time\n // the user starts dragging the item, its position will be calculated relatively\n // to the new passive transform.\n this._passiveTransform.x = this._activeTransform.x;\n this._passiveTransform.y = this._activeTransform.y;\n this._ngZone.run(() => {\n this.ended.next({\n source: this,\n distance: this._getDragDistance(this._getPointerPositionOnPage(event))\n });\n });\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n }\n }\n /** Starts the dragging sequence. */\n _startDragSequence(event) {\n if (isTouchEvent(event)) {\n this._lastTouchEventTime = Date.now();\n }\n this._toggleNativeDragInteractions();\n const dropContainer = this._dropContainer;\n if (dropContainer) {\n const element = this._rootElement;\n const parent = element.parentNode;\n const preview = this._preview = this._createPreviewElement();\n const placeholder = this._placeholder = this._createPlaceholderElement();\n const anchor = this._anchor = this._anchor || this._document.createComment('');\n // Needs to happen before the root element is moved.\n const shadowRoot = this._getShadowRoot();\n // Insert an anchor node so that we can restore the element's position in the DOM.\n parent.insertBefore(anchor, element);\n // We move the element out at the end of the body and we make it hidden, because keeping it in\n // place will throw off the consumer's `:last-child` selectors. We can't remove the element\n // from the DOM completely, because iOS will stop firing all subsequent events in the chain.\n toggleVisibility(element, false);\n this._document.body.appendChild(parent.replaceChild(placeholder, element));\n getPreviewInsertionPoint(this._document, shadowRoot).appendChild(preview);\n this.started.next({ source: this }); // Emit before notifying the container.\n dropContainer.start();\n this._initialContainer = dropContainer;\n this._initialIndex = dropContainer.getItemIndex(this);\n }\n else {\n this.started.next({ source: this });\n this._initialContainer = this._initialIndex = undefined;\n }\n // Important to run after we've called `start` on the parent container\n // so that it has had time to resolve its scrollable parents.\n this._parentPositions.cache(dropContainer ? dropContainer.getScrollableParents() : []);\n }\n /**\n * Sets up the different variables and subscriptions\n * that will be necessary for the dragging sequence.\n * @param referenceElement Element that started the drag sequence.\n * @param event Browser event object that started the sequence.\n */\n _initializeDragSequence(referenceElement, event) {\n // Stop propagation if the item is inside another\n // draggable so we don't start multiple drag sequences.\n if (this._parentDragRef) {\n event.stopPropagation();\n }\n const isDragging = this.isDragging();\n const isTouchSequence = isTouchEvent(event);\n const isAuxiliaryMouseButton = !isTouchSequence && event.button !== 0;\n const rootElement = this._rootElement;\n const isSyntheticEvent = !isTouchSequence && this._lastTouchEventTime &&\n this._lastTouchEventTime + MOUSE_EVENT_IGNORE_TIME > Date.now();\n // If the event started from an element with the native HTML drag&drop, it'll interfere\n // with our own dragging (e.g. `img` tags do it by default). Prevent the default action\n // to stop it from happening. Note that preventing on `dragstart` also seems to work, but\n // it's flaky and it fails if the user drags it away quickly. Also note that we only want\n // to do this for `mousedown` since doing the same for `touchstart` will stop any `click`\n // events from firing on touch devices.\n if (event.target && event.target.draggable && event.type === 'mousedown') {\n event.preventDefault();\n }\n // Abort if the user is already dragging or is using a mouse button other than the primary one.\n if (isDragging || isAuxiliaryMouseButton || isSyntheticEvent) {\n return;\n }\n // If we've got handles, we need to disable the tap highlight on the entire root element,\n // otherwise iOS will still add it, even though all the drag interactions on the handle\n // are disabled.\n if (this._handles.length) {\n this._rootElementTapHighlight = rootElement.style.webkitTapHighlightColor || '';\n rootElement.style.webkitTapHighlightColor = 'transparent';\n }\n this._hasStartedDragging = this._hasMoved = false;\n // Avoid multiple subscriptions and memory leaks when multi touch\n // (isDragging check above isn't enough because of possible temporal and/or dimensional delays)\n this._removeSubscriptions();\n this._pointerMoveSubscription = this._dragDropRegistry.pointerMove.subscribe(this._pointerMove);\n this._pointerUpSubscription = this._dragDropRegistry.pointerUp.subscribe(this._pointerUp);\n this._scrollSubscription = this._dragDropRegistry.scroll.subscribe(scrollEvent => {\n this._updateOnScroll(scrollEvent);\n });\n if (this._boundaryElement) {\n this._boundaryRect = getMutableClientRect(this._boundaryElement);\n }\n // If we have a custom preview we can't know ahead of time how large it'll be so we position\n // it next to the cursor. The exception is when the consumer has opted into making the preview\n // the same size as the root element, in which case we do know the size.\n const previewTemplate = this._previewTemplate;\n this._pickupPositionInElement = previewTemplate && previewTemplate.template &&\n !previewTemplate.matchSize ? { x: 0, y: 0 } :\n this._getPointerPositionInElement(referenceElement, event);\n const pointerPosition = this._pickupPositionOnPage = this._lastKnownPointerPosition =\n this._getPointerPositionOnPage(event);\n this._pointerDirectionDelta = { x: 0, y: 0 };\n this._pointerPositionAtLastDirectionChange = { x: pointerPosition.x, y: pointerPosition.y };\n this._dragStartTime = Date.now();\n this._dragDropRegistry.startDragging(this, event);\n }\n /** Cleans up the DOM artifacts that were added to facilitate the element being dragged. */\n _cleanupDragArtifacts(event) {\n // Restore the element's visibility and insert it at its old position in the DOM.\n // It's important that we maintain the position, because moving the element around in the DOM\n // can throw off `NgFor` which does smart diffing and re-creates elements only when necessary,\n // while moving the existing elements in all other cases.\n toggleVisibility(this._rootElement, true);\n this._anchor.parentNode.replaceChild(this._rootElement, this._anchor);\n this._destroyPreview();\n this._destroyPlaceholder();\n this._boundaryRect = this._previewRect = undefined;\n // Re-enter the NgZone since we bound `document` events on the outside.\n this._ngZone.run(() => {\n const container = this._dropContainer;\n const currentIndex = container.getItemIndex(this);\n const pointerPosition = this._getPointerPositionOnPage(event);\n const distance = this._getDragDistance(this._getPointerPositionOnPage(event));\n const isPointerOverContainer = container._isOverContainer(pointerPosition.x, pointerPosition.y);\n this.ended.next({ source: this, distance });\n this.dropped.next({\n item: this,\n currentIndex,\n previousIndex: this._initialIndex,\n container: container,\n previousContainer: this._initialContainer,\n isPointerOverContainer,\n distance\n });\n container.drop(this, currentIndex, this._initialIndex, this._initialContainer, isPointerOverContainer, distance);\n this._dropContainer = this._initialContainer;\n });\n }\n /**\n * Updates the item's position in its drop container, or moves it\n * into a new one, depending on its current drag position.\n */\n _updateActiveDropContainer({ x, y }, { x: rawX, y: rawY }) {\n // Drop container that draggable has been moved into.\n let newContainer = this._initialContainer._getSiblingContainerFromPosition(this, x, y);\n // If we couldn't find a new container to move the item into, and the item has left its\n // initial container, check whether the it's over the initial container. This handles the\n // case where two containers are connected one way and the user tries to undo dragging an\n // item into a new container.\n if (!newContainer && this._dropContainer !== this._initialContainer &&\n this._initialContainer._isOverContainer(x, y)) {\n newContainer = this._initialContainer;\n }\n if (newContainer && newContainer !== this._dropContainer) {\n this._ngZone.run(() => {\n // Notify the old container that the item has left.\n this.exited.next({ item: this, container: this._dropContainer });\n this._dropContainer.exit(this);\n // Notify the new container that the item has entered.\n this._dropContainer = newContainer;\n this._dropContainer.enter(this, x, y, newContainer === this._initialContainer &&\n // If we're re-entering the initial container and sorting is disabled,\n // put item the into its starting index to begin with.\n newContainer.sortingDisabled ? this._initialIndex : undefined);\n this.entered.next({\n item: this,\n container: newContainer,\n currentIndex: newContainer.getItemIndex(this)\n });\n });\n }\n this._dropContainer._startScrollingIfNecessary(rawX, rawY);\n this._dropContainer._sortItem(this, x, y, this._pointerDirectionDelta);\n this._preview.style.transform =\n getTransform(x - this._pickupPositionInElement.x, y - this._pickupPositionInElement.y);\n }\n /**\n * Creates the element that will be rendered next to the user's pointer\n * and will be used as a preview of the element that is being dragged.\n */\n _createPreviewElement() {\n const previewConfig = this._previewTemplate;\n const previewClass = this.previewClass;\n const previewTemplate = previewConfig ? previewConfig.template : null;\n let preview;\n if (previewTemplate && previewConfig) {\n // Measure the element before we've inserted the preview\n // since the insertion could throw off the measurement.\n const rootRect = previewConfig.matchSize ? this._rootElement.getBoundingClientRect() : null;\n const viewRef = previewConfig.viewContainer.createEmbeddedView(previewTemplate, previewConfig.context);\n viewRef.detectChanges();\n preview = getRootNode(viewRef, this._document);\n this._previewRef = viewRef;\n if (previewConfig.matchSize) {\n matchElementSize(preview, rootRect);\n }\n else {\n preview.style.transform =\n getTransform(this._pickupPositionOnPage.x, this._pickupPositionOnPage.y);\n }\n }\n else {\n const element = this._rootElement;\n preview = deepCloneNode(element);\n matchElementSize(preview, element.getBoundingClientRect());\n }\n extendStyles(preview.style, {\n // It's important that we disable the pointer events on the preview, because\n // it can throw off the `document.elementFromPoint` calls in the `CdkDropList`.\n pointerEvents: 'none',\n // We have to reset the margin, because it can throw off positioning relative to the viewport.\n margin: '0',\n position: 'fixed',\n top: '0',\n left: '0',\n zIndex: `${this._config.zIndex || 1000}`\n });\n toggleNativeDragInteractions(preview, false);\n preview.classList.add('cdk-drag-preview');\n preview.setAttribute('dir', this._direction);\n if (previewClass) {\n if (Array.isArray(previewClass)) {\n previewClass.forEach(className => preview.classList.add(className));\n }\n else {\n preview.classList.add(previewClass);\n }\n }\n return preview;\n }\n /**\n * Animates the preview element from its current position to the location of the drop placeholder.\n * @returns Promise that resolves when the animation completes.\n */\n _animatePreviewToPlaceholder() {\n // If the user hasn't moved yet, the transitionend event won't fire.\n if (!this._hasMoved) {\n return Promise.resolve();\n }\n const placeholderRect = this._placeholder.getBoundingClientRect();\n // Apply the class that adds a transition to the preview.\n this._preview.classList.add('cdk-drag-animating');\n // Move the preview to the placeholder position.\n this._preview.style.transform = getTransform(placeholderRect.left, placeholderRect.top);\n // If the element doesn't have a `transition`, the `transitionend` event won't fire. Since\n // we need to trigger a style recalculation in order for the `cdk-drag-animating` class to\n // apply its style, we take advantage of the available info to figure out whether we need to\n // bind the event in the first place.\n const duration = getTransformTransitionDurationInMs(this._preview);\n if (duration === 0) {\n return Promise.resolve();\n }\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n const handler = ((event) => {\n if (!event || (event.target === this._preview && event.propertyName === 'transform')) {\n this._preview.removeEventListener('transitionend', handler);\n resolve();\n clearTimeout(timeout);\n }\n });\n // If a transition is short enough, the browser might not fire the `transitionend` event.\n // Since we know how long it's supposed to take, add a timeout with a 50% buffer that'll\n // fire if the transition hasn't completed when it was supposed to.\n const timeout = setTimeout(handler, duration * 1.5);\n this._preview.addEventListener('transitionend', handler);\n });\n });\n }\n /** Creates an element that will be shown instead of the current element while dragging. */\n _createPlaceholderElement() {\n const placeholderConfig = this._placeholderTemplate;\n const placeholderTemplate = placeholderConfig ? placeholderConfig.template : null;\n let placeholder;\n if (placeholderTemplate) {\n this._placeholderRef = placeholderConfig.viewContainer.createEmbeddedView(placeholderTemplate, placeholderConfig.context);\n this._placeholderRef.detectChanges();\n placeholder = getRootNode(this._placeholderRef, this._document);\n }\n else {\n placeholder = deepCloneNode(this._rootElement);\n }\n placeholder.classList.add('cdk-drag-placeholder');\n return placeholder;\n }\n /**\n * Figures out the coordinates at which an element was picked up.\n * @param referenceElement Element that initiated the dragging.\n * @param event Event that initiated the dragging.\n */\n _getPointerPositionInElement(referenceElement, event) {\n const elementRect = this._rootElement.getBoundingClientRect();\n const handleElement = referenceElement === this._rootElement ? null : referenceElement;\n const referenceRect = handleElement ? handleElement.getBoundingClientRect() : elementRect;\n const point = isTouchEvent(event) ? event.targetTouches[0] : event;\n const scrollPosition = this._getViewportScrollPosition();\n const x = point.pageX - referenceRect.left - scrollPosition.left;\n const y = point.pageY - referenceRect.top - scrollPosition.top;\n return {\n x: referenceRect.left - elementRect.left + x,\n y: referenceRect.top - elementRect.top + y\n };\n }\n /** Determines the point of the page that was touched by the user. */\n _getPointerPositionOnPage(event) {\n const scrollPosition = this._getViewportScrollPosition();\n const point = isTouchEvent(event) ?\n // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n // Also note that on real devices we're guaranteed for either `touches` or `changedTouches`\n // to have a value, but Firefox in device emulation mode has a bug where both can be empty\n // for `touchstart` and `touchend` so we fall back to a dummy object in order to avoid\n // throwing an error. The value returned here will be incorrect, but since this only\n // breaks inside a developer tool and the value is only used for secondary information,\n // we can get away with it. See https://bugzilla.mozilla.org/show_bug.cgi?id=1615824.\n (event.touches[0] || event.changedTouches[0] || { pageX: 0, pageY: 0 }) : event;\n const x = point.pageX - scrollPosition.left;\n const y = point.pageY - scrollPosition.top;\n // if dragging SVG element, try to convert from the screen coordinate system to the SVG\n // coordinate system\n if (this._ownerSVGElement) {\n const svgMatrix = this._ownerSVGElement.getScreenCTM();\n if (svgMatrix) {\n const svgPoint = this._ownerSVGElement.createSVGPoint();\n svgPoint.x = x;\n svgPoint.y = y;\n return svgPoint.matrixTransform(svgMatrix.inverse());\n }\n }\n return { x, y };\n }\n /** Gets the pointer position on the page, accounting for any position constraints. */\n _getConstrainedPointerPosition(point) {\n const dropContainerLock = this._dropContainer ? this._dropContainer.lockAxis : null;\n let { x, y } = this.constrainPosition ? this.constrainPosition(point, this) : point;\n if (this.lockAxis === 'x' || dropContainerLock === 'x') {\n y = this._pickupPositionOnPage.y;\n }\n else if (this.lockAxis === 'y' || dropContainerLock === 'y') {\n x = this._pickupPositionOnPage.x;\n }\n if (this._boundaryRect) {\n const { x: pickupX, y: pickupY } = this._pickupPositionInElement;\n const boundaryRect = this._boundaryRect;\n const previewRect = this._previewRect;\n const minY = boundaryRect.top + pickupY;\n const maxY = boundaryRect.bottom - (previewRect.height - pickupY);\n const minX = boundaryRect.left + pickupX;\n const maxX = boundaryRect.right - (previewRect.width - pickupX);\n x = clamp(x, minX, maxX);\n y = clamp(y, minY, maxY);\n }\n return { x, y };\n }\n /** Updates the current drag delta, based on the user's current pointer position on the page. */\n _updatePointerDirectionDelta(pointerPositionOnPage) {\n const { x, y } = pointerPositionOnPage;\n const delta = this._pointerDirectionDelta;\n const positionSinceLastChange = this._pointerPositionAtLastDirectionChange;\n // Amount of pixels the user has dragged since the last time the direction changed.\n const changeX = Math.abs(x - positionSinceLastChange.x);\n const changeY = Math.abs(y - positionSinceLastChange.y);\n // Because we handle pointer events on a per-pixel basis, we don't want the delta\n // to change for every pixel, otherwise anything that depends on it can look erratic.\n // To make the delta more consistent, we track how much the user has moved since the last\n // delta change and we only update it after it has reached a certain threshold.\n if (changeX > this._config.pointerDirectionChangeThreshold) {\n delta.x = x > positionSinceLastChange.x ? 1 : -1;\n positionSinceLastChange.x = x;\n }\n if (changeY > this._config.pointerDirectionChangeThreshold) {\n delta.y = y > positionSinceLastChange.y ? 1 : -1;\n positionSinceLastChange.y = y;\n }\n return delta;\n }\n /** Toggles the native drag interactions, based on how many handles are registered. */\n _toggleNativeDragInteractions() {\n if (!this._rootElement || !this._handles) {\n return;\n }\n const shouldEnable = this._handles.length > 0 || !this.isDragging();\n if (shouldEnable !== this._nativeInteractionsEnabled) {\n this._nativeInteractionsEnabled = shouldEnable;\n toggleNativeDragInteractions(this._rootElement, shouldEnable);\n }\n }\n /** Removes the manually-added event listeners from the root element. */\n _removeRootElementListeners(element) {\n element.removeEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.removeEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n }\n /**\n * Applies a `transform` to the root element, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyRootElementTransform(x, y) {\n const transform = getTransform(x, y);\n // Cache the previous transform amount only after the first drag sequence, because\n // we don't want our own transforms to stack on top of each other.\n if (this._initialTransform == null) {\n this._initialTransform = this._rootElement.style.transform || '';\n }\n // Preserve the previous `transform` value, if there was one. Note that we apply our own\n // transform before the user's, because things like rotation can affect which direction\n // the element will be translated towards.\n this._rootElement.style.transform = this._initialTransform ?\n transform + ' ' + this._initialTransform : transform;\n }\n /**\n * Gets the distance that the user has dragged during the current drag sequence.\n * @param currentPosition Current position of the user's pointer.\n */\n _getDragDistance(currentPosition) {\n const pickupPosition = this._pickupPositionOnPage;\n if (pickupPosition) {\n return { x: currentPosition.x - pickupPosition.x, y: currentPosition.y - pickupPosition.y };\n }\n return { x: 0, y: 0 };\n }\n /** Cleans up any cached element dimensions that we don't need after dragging has stopped. */\n _cleanupCachedDimensions() {\n this._boundaryRect = this._previewRect = undefined;\n this._parentPositions.clear();\n }\n /**\n * Checks whether the element is still inside its boundary after the viewport has been resized.\n * If not, the position is adjusted so that the element fits again.\n */\n _containInsideBoundaryOnResize() {\n let { x, y } = this._passiveTransform;\n if ((x === 0 && y === 0) || this.isDragging() || !this._boundaryElement) {\n return;\n }\n const boundaryRect = this._boundaryElement.getBoundingClientRect();\n const elementRect = this._rootElement.getBoundingClientRect();\n // It's possible that the element got hidden away after dragging (e.g. by switching to a\n // different tab). Don't do anything in this case so we don't clear the user's position.\n if ((boundaryRect.width === 0 && boundaryRect.height === 0) ||\n (elementRect.width === 0 && elementRect.height === 0)) {\n return;\n }\n const leftOverflow = boundaryRect.left - elementRect.left;\n const rightOverflow = elementRect.right - boundaryRect.right;\n const topOverflow = boundaryRect.top - elementRect.top;\n const bottomOverflow = elementRect.bottom - boundaryRect.bottom;\n // If the element has become wider than the boundary, we can't\n // do much to make it fit so we just anchor it to the left.\n if (boundaryRect.width > elementRect.width) {\n if (leftOverflow > 0) {\n x += leftOverflow;\n }\n if (rightOverflow > 0) {\n x -= rightOverflow;\n }\n }\n else {\n x = 0;\n }\n // If the element has become taller than the boundary, we can't\n // do much to make it fit so we just anchor it to the top.\n if (boundaryRect.height > elementRect.height) {\n if (topOverflow > 0) {\n y += topOverflow;\n }\n if (bottomOverflow > 0) {\n y -= bottomOverflow;\n }\n }\n else {\n y = 0;\n }\n if (x !== this._passiveTransform.x || y !== this._passiveTransform.y) {\n this.setFreeDragPosition({ y, x });\n }\n }\n /** Gets the drag start delay, based on the event type. */\n _getDragStartDelay(event) {\n const value = this.dragStartDelay;\n if (typeof value === 'number') {\n return value;\n }\n else if (isTouchEvent(event)) {\n return value.touch;\n }\n return value ? value.mouse : 0;\n }\n /** Updates the internal state of the draggable element when scrolling has occurred. */\n _updateOnScroll(event) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n const target = event.target;\n // ClientRect dimensions are based on the scroll position of the page and its parent node so\n // we have to update the cached boundary ClientRect if the user has scrolled. Check for\n // the `document` specifically since IE doesn't support `contains` on it.\n if (this._boundaryRect && (target === this._document ||\n (target !== this._boundaryElement && target.contains(this._boundaryElement)))) {\n adjustClientRect(this._boundaryRect, scrollDifference.top, scrollDifference.left);\n }\n this._pickupPositionOnPage.x += scrollDifference.left;\n this._pickupPositionOnPage.y += scrollDifference.top;\n // If we're in free drag mode, we have to update the active transform, because\n // it isn't relative to the viewport like the preview inside a drop list.\n if (!this._dropContainer) {\n this._activeTransform.x -= scrollDifference.left;\n this._activeTransform.y -= scrollDifference.top;\n this._applyRootElementTransform(this._activeTransform.x, this._activeTransform.y);\n }\n }\n }\n /** Gets the scroll position of the viewport. */\n _getViewportScrollPosition() {\n const cachedPosition = this._parentPositions.positions.get(this._document);\n return cachedPosition ? cachedPosition.scrollPosition :\n this._viewportRuler.getViewportScrollPosition();\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (this._cachedShadowRoot === undefined) {\n this._cachedShadowRoot = _getShadowRoot(this._rootElement);\n }\n return this._cachedShadowRoot;\n }\n}\n/**\n * Gets a 3d `transform` that can be applied to an element.\n * @param x Desired position of the element along the X axis.\n * @param y Desired position of the element along the Y axis.\n */\nfunction getTransform(x, y) {\n // Round the transforms since some browsers will\n // blur the elements for sub-pixel transforms.\n return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;\n}\n/** Clamps a value between a minimum and a maximum. */\nfunction clamp(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * Helper to remove a node from the DOM and to do all the necessary null checks.\n * @param node Node to be removed.\n */\nfunction removeNode(node) {\n if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\n/** Determines whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/** Gets the element into which the drag preview should be inserted. */\nfunction getPreviewInsertionPoint(documentRef, shadowRoot) {\n // We can't use the body if the user is in fullscreen mode,\n // because the preview will render under the fullscreen element.\n // TODO(crisbeto): dedupe this with the `FullscreenOverlayContainer` eventually.\n return shadowRoot ||\n documentRef.fullscreenElement ||\n documentRef.webkitFullscreenElement ||\n documentRef.mozFullScreenElement ||\n documentRef.msFullscreenElement ||\n documentRef.body;\n}\n/**\n * Gets the root HTML element of an embedded view.\n * If the root is not an HTML element it gets wrapped in one.\n */\nfunction getRootNode(viewRef, _document) {\n const rootNodes = viewRef.rootNodes;\n if (rootNodes.length === 1 && rootNodes[0].nodeType === _document.ELEMENT_NODE) {\n return rootNodes[0];\n }\n const wrapper = _document.createElement('div');\n rootNodes.forEach(node => wrapper.appendChild(node));\n return wrapper;\n}\n/**\n * Matches the target element's size to the source's size.\n * @param target Element that needs to be resized.\n * @param sourceRect Dimensions of the source element.\n */\nfunction matchElementSize(target, sourceRect) {\n target.style.width = `${sourceRect.width}px`;\n target.style.height = `${sourceRect.height}px`;\n target.style.transform = getTransform(sourceRect.left, sourceRect.top);\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 * Moves an item one index in an array to another.\n * @param array Array in which to move the item.\n * @param fromIndex Starting index of the item.\n * @param toIndex Index to which the item should be moved.\n */\nfunction moveItemInArray(array, fromIndex, toIndex) {\n const from = clamp$1(fromIndex, array.length - 1);\n const to = clamp$1(toIndex, array.length - 1);\n if (from === to) {\n return;\n }\n const target = array[from];\n const delta = to < from ? -1 : 1;\n for (let i = from; i !== to; i += delta) {\n array[i] = array[i + delta];\n }\n array[to] = target;\n}\n/**\n * Moves an item from one array to another.\n * @param currentArray Array from which to transfer the item.\n * @param targetArray Array into which to put the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n */\nfunction transferArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const from = clamp$1(currentIndex, currentArray.length - 1);\n const to = clamp$1(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray.splice(from, 1)[0]);\n }\n}\n/**\n * Copies an item from one array to another, leaving it in its\n * original position in current array.\n * @param currentArray Array from which to copy the item.\n * @param targetArray Array into which is copy the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n *\n */\nfunction copyArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const to = clamp$1(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray[currentIndex]);\n }\n}\n/** Clamps a number between zero and a maximum. */\nfunction clamp$1(value, max) {\n return Math.max(0, Math.min(max, 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 */\n/**\n * Proximity, as a ratio to width/height, at which a\n * dragged item will affect the drop container.\n */\nconst DROP_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Proximity, as a ratio to width/height at which to start auto-scrolling the drop list or the\n * viewport. The value comes from trying it out manually until it feels right.\n */\nconst SCROLL_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Reference to a drop list. Used to manipulate or dispose of the container.\n */\nclass DropListRef {\n constructor(element, _dragDropRegistry, _document, _ngZone, _viewportRuler) {\n this._dragDropRegistry = _dragDropRegistry;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n /** Whether starting a dragging sequence from this container is disabled. */\n this.disabled = false;\n /** Whether sorting items within the list is disabled. */\n this.sortingDisabled = false;\n /**\n * Whether auto-scrolling the view when the user\n * moves their pointer close to the edges is disabled.\n */\n this.autoScrollDisabled = false;\n /** Number of pixels to scroll for each frame when auto-scrolling an element. */\n this.autoScrollStep = 2;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits right before dragging has started. */\n this.beforeStarted = new Subject();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new Subject();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new Subject();\n /** Emits when the user drops an item inside the container. */\n this.dropped = new Subject();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new Subject();\n /** Whether an item in the list is being dragged. */\n this._isDragging = false;\n /** Cache of the dimensions of all the items inside the container. */\n this._itemPositions = [];\n /**\n * Keeps track of the item that was last swapped with the dragged item, as well as what direction\n * the pointer was moving in when the swap occured and whether the user's pointer continued to\n * overlap with the swapped item after the swapping occurred.\n */\n this._previousSwap = { drag: null, delta: 0, overlaps: false };\n /** Draggable items in the container. */\n this._draggables = [];\n /** Drop lists that are connected to the current one. */\n this._siblings = [];\n /** Direction in which the list is oriented. */\n this._orientation = 'vertical';\n /** Connected siblings that currently have a dragged item. */\n this._activeSiblings = new Set();\n /** Layout direction of the drop list. */\n this._direction = 'ltr';\n /** Subscription to the window being scrolled. */\n this._viewportScrollSubscription = Subscription.EMPTY;\n /** Vertical direction in which the list is currently scrolling. */\n this._verticalScrollDirection = 0 /* NONE */;\n /** Horizontal direction in which the list is currently scrolling. */\n this._horizontalScrollDirection = 0 /* NONE */;\n /** Used to signal to the current auto-scroll sequence when to stop. */\n this._stopScrollTimers = new Subject();\n /** Shadow root of the current element. Necessary for `elementFromPoint` to resolve correctly. */\n this._cachedShadowRoot = null;\n /** Starts the interval that'll auto-scroll the element. */\n this._startScrollInterval = () => {\n this._stopScrolling();\n interval(0, animationFrameScheduler)\n .pipe(takeUntil(this._stopScrollTimers))\n .subscribe(() => {\n const node = this._scrollNode;\n const scrollStep = this.autoScrollStep;\n if (this._verticalScrollDirection === 1 /* UP */) {\n incrementVerticalScroll(node, -scrollStep);\n }\n else if (this._verticalScrollDirection === 2 /* DOWN */) {\n incrementVerticalScroll(node, scrollStep);\n }\n if (this._horizontalScrollDirection === 1 /* LEFT */) {\n incrementHorizontalScroll(node, -scrollStep);\n }\n else if (this._horizontalScrollDirection === 2 /* RIGHT */) {\n incrementHorizontalScroll(node, scrollStep);\n }\n });\n };\n this.element = coerceElement(element);\n this._document = _document;\n this.withScrollableParents([this.element]);\n _dragDropRegistry.registerDropContainer(this);\n this._parentPositions = new ParentPositionTracker(_document, _viewportRuler);\n }\n /** Removes the drop list functionality from the DOM element. */\n dispose() {\n this._stopScrolling();\n this._stopScrollTimers.complete();\n this._viewportScrollSubscription.unsubscribe();\n this.beforeStarted.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this.sorted.complete();\n this._activeSiblings.clear();\n this._scrollNode = null;\n this._parentPositions.clear();\n this._dragDropRegistry.removeDropContainer(this);\n }\n /** Whether an item from this list is currently being dragged. */\n isDragging() {\n return this._isDragging;\n }\n /** Starts dragging an item. */\n start() {\n this._draggingStarted();\n this._notifyReceivingSiblings();\n }\n /**\n * Emits an event to indicate that the user moved an item into the container.\n * @param item Item that was moved into the container.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param index Index at which the item entered. If omitted, the container will try to figure it\n * out automatically.\n */\n enter(item, pointerX, pointerY, index) {\n this._draggingStarted();\n // If sorting is disabled, we want the item to return to its starting\n // position if the user is returning it to its initial container.\n let newIndex;\n if (index == null) {\n newIndex = this.sortingDisabled ? this._draggables.indexOf(item) : -1;\n if (newIndex === -1) {\n // We use the coordinates of where the item entered the drop\n // zone to figure out at which index it should be inserted.\n newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY);\n }\n }\n else {\n newIndex = index;\n }\n const activeDraggables = this._activeDraggables;\n const currentIndex = activeDraggables.indexOf(item);\n const placeholder = item.getPlaceholderElement();\n let newPositionReference = activeDraggables[newIndex];\n // If the item at the new position is the same as the item that is being dragged,\n // it means that we're trying to restore the item to its initial position. In this\n // case we should use the next item from the list as the reference.\n if (newPositionReference === item) {\n newPositionReference = activeDraggables[newIndex + 1];\n }\n // Since the item may be in the `activeDraggables` already (e.g. if the user dragged it\n // into another container and back again), we have to ensure that it isn't duplicated.\n if (currentIndex > -1) {\n activeDraggables.splice(currentIndex, 1);\n }\n // Don't use items that are being dragged as a reference, because\n // their element has been moved down to the bottom of the body.\n if (newPositionReference && !this._dragDropRegistry.isDragging(newPositionReference)) {\n const element = newPositionReference.getRootElement();\n element.parentElement.insertBefore(placeholder, element);\n activeDraggables.splice(newIndex, 0, item);\n }\n else if (this._shouldEnterAsFirstChild(pointerX, pointerY)) {\n const reference = activeDraggables[0].getRootElement();\n reference.parentNode.insertBefore(placeholder, reference);\n activeDraggables.unshift(item);\n }\n else {\n coerceElement(this.element).appendChild(placeholder);\n activeDraggables.push(item);\n }\n // The transform needs to be cleared so it doesn't throw off the measurements.\n placeholder.style.transform = '';\n // Note that the positions were already cached when we called `start` above,\n // but we need to refresh them since the amount of items has changed and also parent rects.\n this._cacheItemPositions();\n this._cacheParentPositions();\n // Notify siblings at the end so that the item has been inserted into the `activeDraggables`.\n this._notifyReceivingSiblings();\n this.entered.next({ item, container: this, currentIndex: this.getItemIndex(item) });\n }\n /**\n * Removes an item from the container after it was dragged into another container by the user.\n * @param item Item that was dragged out.\n */\n exit(item) {\n this._reset();\n this.exited.next({ item, container: this });\n }\n /**\n * Drops an item into this container.\n * @param item Item being dropped into the container.\n * @param currentIndex Index at which the item should be inserted.\n * @param previousIndex Index of the item when dragging started.\n * @param previousContainer Container from which the item got dragged in.\n * @param isPointerOverContainer Whether the user's pointer was over the\n * container when the item was dropped.\n * @param distance Distance the user has dragged since the start of the dragging sequence.\n */\n drop(item, currentIndex, previousIndex, previousContainer, isPointerOverContainer, distance) {\n this._reset();\n this.dropped.next({\n item,\n currentIndex,\n previousIndex,\n container: this,\n previousContainer,\n isPointerOverContainer,\n distance\n });\n }\n /**\n * Sets the draggable items that are a part of this list.\n * @param items Items that are a part of this list.\n */\n withItems(items) {\n const previousItems = this._draggables;\n this._draggables = items;\n items.forEach(item => item._withDropContainer(this));\n if (this.isDragging()) {\n const draggedItems = previousItems.filter(item => item.isDragging());\n // If all of the items being dragged were removed\n // from the list, abort the current drag sequence.\n if (draggedItems.every(item => items.indexOf(item) === -1)) {\n this._reset();\n }\n else {\n this._cacheItems();\n }\n }\n return this;\n }\n /** Sets the layout direction of the drop list. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /**\n * Sets the containers that are connected to this one. When two or more containers are\n * connected, the user will be allowed to transfer items between them.\n * @param connectedTo Other containers that the current containers should be connected to.\n */\n connectedTo(connectedTo) {\n this._siblings = connectedTo.slice();\n return this;\n }\n /**\n * Sets the orientation of the container.\n * @param orientation New orientation for the container.\n */\n withOrientation(orientation) {\n this._orientation = orientation;\n return this;\n }\n /**\n * Sets which parent elements are can be scrolled while the user is dragging.\n * @param elements Elements that can be scrolled.\n */\n withScrollableParents(elements) {\n const element = coerceElement(this.element);\n // We always allow the current element to be scrollable\n // so we need to ensure that it's in the array.\n this._scrollableElements =\n elements.indexOf(element) === -1 ? [element, ...elements] : elements.slice();\n return this;\n }\n /** Gets the scrollable parents that are registered with this drop container. */\n getScrollableParents() {\n return this._scrollableElements;\n }\n /**\n * Figures out the index of an item in the container.\n * @param item Item whose index should be determined.\n */\n getItemIndex(item) {\n if (!this._isDragging) {\n return this._draggables.indexOf(item);\n }\n // Items are sorted always by top/left in the cache, however they flow differently in RTL.\n // The rest of the logic still stands no matter what orientation we're in, however\n // we need to invert the array when determining the index.\n const items = this._orientation === 'horizontal' && this._direction === 'rtl' ?\n this._itemPositions.slice().reverse() : this._itemPositions;\n return findIndex(items, currentItem => currentItem.drag === item);\n }\n /**\n * Whether the list is able to receive the item that\n * is currently being dragged inside a connected drop list.\n */\n isReceiving() {\n return this._activeSiblings.size > 0;\n }\n /**\n * Sorts an item inside the container based on its position.\n * @param item Item to be sorted.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param pointerDelta Direction in which the pointer is moving along each axis.\n */\n _sortItem(item, pointerX, pointerY, pointerDelta) {\n // Don't sort the item if sorting is disabled or it's out of range.\n if (this.sortingDisabled || !this._clientRect ||\n !isPointerNearClientRect(this._clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n return;\n }\n const siblings = this._itemPositions;\n const newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY, pointerDelta);\n if (newIndex === -1 && siblings.length > 0) {\n return;\n }\n const isHorizontal = this._orientation === 'horizontal';\n const currentIndex = findIndex(siblings, currentItem => currentItem.drag === item);\n const siblingAtNewPosition = siblings[newIndex];\n const currentPosition = siblings[currentIndex].clientRect;\n const newPosition = siblingAtNewPosition.clientRect;\n const delta = currentIndex > newIndex ? 1 : -1;\n // How many pixels the item's placeholder should be offset.\n const itemOffset = this._getItemOffsetPx(currentPosition, newPosition, delta);\n // How many pixels all the other items should be offset.\n const siblingOffset = this._getSiblingOffsetPx(currentIndex, siblings, delta);\n // Save the previous order of the items before moving the item to its new index.\n // We use this to check whether an item has been moved as a result of the sorting.\n const oldOrder = siblings.slice();\n // Shuffle the array in place.\n moveItemInArray(siblings, currentIndex, newIndex);\n this.sorted.next({\n previousIndex: currentIndex,\n currentIndex: newIndex,\n container: this,\n item\n });\n siblings.forEach((sibling, index) => {\n // Don't do anything if the position hasn't changed.\n if (oldOrder[index] === sibling) {\n return;\n }\n const isDraggedItem = sibling.drag === item;\n const offset = isDraggedItem ? itemOffset : siblingOffset;\n const elementToOffset = isDraggedItem ? item.getPlaceholderElement() :\n sibling.drag.getRootElement();\n // Update the offset to reflect the new position.\n sibling.offset += offset;\n // Since we're moving the items with a `transform`, we need to adjust their cached\n // client rects to reflect their new position, as well as swap their positions in the cache.\n // Note that we shouldn't use `getBoundingClientRect` here to update the cache, because the\n // elements may be mid-animation which will give us a wrong result.\n if (isHorizontal) {\n // Round the transforms since some browsers will\n // blur the elements, for sub-pixel transforms.\n elementToOffset.style.transform = `translate3d(${Math.round(sibling.offset)}px, 0, 0)`;\n adjustClientRect(sibling.clientRect, 0, offset);\n }\n else {\n elementToOffset.style.transform = `translate3d(0, ${Math.round(sibling.offset)}px, 0)`;\n adjustClientRect(sibling.clientRect, offset, 0);\n }\n });\n // Note that it's important that we do this after the client rects have been adjusted.\n this._previousSwap.overlaps = isInsideClientRect(newPosition, pointerX, pointerY);\n this._previousSwap.drag = siblingAtNewPosition.drag;\n this._previousSwap.delta = isHorizontal ? pointerDelta.x : pointerDelta.y;\n }\n /**\n * Checks whether the user's pointer is close to the edges of either the\n * viewport or the drop list and starts the auto-scroll sequence.\n * @param pointerX User's pointer position along the x axis.\n * @param pointerY User's pointer position along the y axis.\n */\n _startScrollingIfNecessary(pointerX, pointerY) {\n if (this.autoScrollDisabled) {\n return;\n }\n let scrollNode;\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Check whether we should start scrolling any of the parent containers.\n this._parentPositions.positions.forEach((position, element) => {\n // We have special handling for the `document` below. Also this would be\n // nicer with a for...of loop, but it requires changing a compiler flag.\n if (element === this._document || !position.clientRect || scrollNode) {\n return;\n }\n if (isPointerNearClientRect(position.clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n [verticalScrollDirection, horizontalScrollDirection] = getElementScrollDirections(element, position.clientRect, pointerX, pointerY);\n if (verticalScrollDirection || horizontalScrollDirection) {\n scrollNode = element;\n }\n }\n });\n // Otherwise check if we can start scrolling the viewport.\n if (!verticalScrollDirection && !horizontalScrollDirection) {\n const { width, height } = this._viewportRuler.getViewportSize();\n const clientRect = { width, height, top: 0, right: width, bottom: height, left: 0 };\n verticalScrollDirection = getVerticalScrollDirection(clientRect, pointerY);\n horizontalScrollDirection = getHorizontalScrollDirection(clientRect, pointerX);\n scrollNode = window;\n }\n if (scrollNode && (verticalScrollDirection !== this._verticalScrollDirection ||\n horizontalScrollDirection !== this._horizontalScrollDirection ||\n scrollNode !== this._scrollNode)) {\n this._verticalScrollDirection = verticalScrollDirection;\n this._horizontalScrollDirection = horizontalScrollDirection;\n this._scrollNode = scrollNode;\n if ((verticalScrollDirection || horizontalScrollDirection) && scrollNode) {\n this._ngZone.runOutsideAngular(this._startScrollInterval);\n }\n else {\n this._stopScrolling();\n }\n }\n }\n /** Stops any currently-running auto-scroll sequences. */\n _stopScrolling() {\n this._stopScrollTimers.next();\n }\n /** Starts the dragging sequence within the list. */\n _draggingStarted() {\n const styles = coerceElement(this.element).style;\n this.beforeStarted.next();\n this._isDragging = true;\n // We need to disable scroll snapping while the user is dragging, because it breaks automatic\n // scrolling. The browser seems to round the value based on the snapping points which means\n // that we can't increment/decrement the scroll position.\n this._initialScrollSnap = styles.msScrollSnapType || styles.scrollSnapType || '';\n styles.scrollSnapType = styles.msScrollSnapType = 'none';\n this._cacheItems();\n this._viewportScrollSubscription.unsubscribe();\n this._listenToScrollEvents();\n }\n /** Caches the positions of the configured scrollable parents. */\n _cacheParentPositions() {\n const element = coerceElement(this.element);\n this._parentPositions.cache(this._scrollableElements);\n // The list element is always in the `scrollableElements`\n // so we can take advantage of the cached `ClientRect`.\n this._clientRect = this._parentPositions.positions.get(element).clientRect;\n }\n /** Refreshes the position cache of the items and sibling containers. */\n _cacheItemPositions() {\n const isHorizontal = this._orientation === 'horizontal';\n this._itemPositions = this._activeDraggables.map(drag => {\n const elementToMeasure = drag.getVisibleElement();\n return { drag, offset: 0, clientRect: getMutableClientRect(elementToMeasure) };\n }).sort((a, b) => {\n return isHorizontal ? a.clientRect.left - b.clientRect.left :\n a.clientRect.top - b.clientRect.top;\n });\n }\n /** Resets the container to its initial state. */\n _reset() {\n this._isDragging = false;\n const styles = coerceElement(this.element).style;\n styles.scrollSnapType = styles.msScrollSnapType = this._initialScrollSnap;\n // TODO(crisbeto): may have to wait for the animations to finish.\n this._activeDraggables.forEach(item => {\n const rootElement = item.getRootElement();\n if (rootElement) {\n rootElement.style.transform = '';\n }\n });\n this._siblings.forEach(sibling => sibling._stopReceiving(this));\n this._activeDraggables = [];\n this._itemPositions = [];\n this._previousSwap.drag = null;\n this._previousSwap.delta = 0;\n this._previousSwap.overlaps = false;\n this._stopScrolling();\n this._viewportScrollSubscription.unsubscribe();\n this._parentPositions.clear();\n }\n /**\n * Gets the offset in pixels by which the items that aren't being dragged should be moved.\n * @param currentIndex Index of the item currently being dragged.\n * @param siblings All of the items in the list.\n * @param delta Direction in which the user is moving.\n */\n _getSiblingOffsetPx(currentIndex, siblings, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const currentPosition = siblings[currentIndex].clientRect;\n const immediateSibling = siblings[currentIndex + delta * -1];\n let siblingOffset = currentPosition[isHorizontal ? 'width' : 'height'] * delta;\n if (immediateSibling) {\n const start = isHorizontal ? 'left' : 'top';\n const end = isHorizontal ? 'right' : 'bottom';\n // Get the spacing between the start of the current item and the end of the one immediately\n // after it in the direction in which the user is dragging, or vice versa. We add it to the\n // offset in order to push the element to where it will be when it's inline and is influenced\n // by the `margin` of its siblings.\n if (delta === -1) {\n siblingOffset -= immediateSibling.clientRect[start] - currentPosition[end];\n }\n else {\n siblingOffset += currentPosition[start] - immediateSibling.clientRect[end];\n }\n }\n return siblingOffset;\n }\n /**\n * Gets the offset in pixels by which the item that is being dragged should be moved.\n * @param currentPosition Current position of the item.\n * @param newPosition Position of the item where the current item should be moved.\n * @param delta Direction in which the user is moving.\n */\n _getItemOffsetPx(currentPosition, newPosition, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n let itemOffset = isHorizontal ? newPosition.left - currentPosition.left :\n newPosition.top - currentPosition.top;\n // Account for differences in the item width/height.\n if (delta === -1) {\n itemOffset += isHorizontal ? newPosition.width - currentPosition.width :\n newPosition.height - currentPosition.height;\n }\n return itemOffset;\n }\n /**\n * Checks if pointer is entering in the first position\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n */\n _shouldEnterAsFirstChild(pointerX, pointerY) {\n if (!this._activeDraggables.length) {\n return false;\n }\n const itemPositions = this._itemPositions;\n const isHorizontal = this._orientation === 'horizontal';\n // `itemPositions` are sorted by position while `activeDraggables` are sorted by child index\n // check if container is using some sort of \"reverse\" ordering (eg: flex-direction: row-reverse)\n const reversed = itemPositions[0].drag !== this._activeDraggables[0];\n if (reversed) {\n const lastItemRect = itemPositions[itemPositions.length - 1].clientRect;\n return isHorizontal ? pointerX >= lastItemRect.right : pointerY >= lastItemRect.bottom;\n }\n else {\n const firstItemRect = itemPositions[0].clientRect;\n return isHorizontal ? pointerX <= firstItemRect.left : pointerY <= firstItemRect.top;\n }\n }\n /**\n * Gets the index of an item in the drop container, based on the position of the user's pointer.\n * @param item Item that is being sorted.\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n * @param delta Direction in which the user is moving their pointer.\n */\n _getItemIndexFromPointerPosition(item, pointerX, pointerY, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const index = findIndex(this._itemPositions, ({ drag, clientRect }, _, array) => {\n if (drag === item) {\n // If there's only one item left in the container, it must be\n // the dragged item itself so we use it as a reference.\n return array.length < 2;\n }\n if (delta) {\n const direction = isHorizontal ? delta.x : delta.y;\n // If the user is still hovering over the same item as last time, their cursor hasn't left\n // the item after we made the swap, and they didn't change the direction in which they're\n // dragging, we don't consider it a direction swap.\n if (drag === this._previousSwap.drag && this._previousSwap.overlaps &&\n direction === this._previousSwap.delta) {\n return false;\n }\n }\n return isHorizontal ?\n // Round these down since most browsers report client rects with\n // sub-pixel precision, whereas the pointer coordinates are rounded to pixels.\n pointerX >= Math.floor(clientRect.left) && pointerX < Math.floor(clientRect.right) :\n pointerY >= Math.floor(clientRect.top) && pointerY < Math.floor(clientRect.bottom);\n });\n return (index === -1 || !this.sortPredicate(index, item, this)) ? -1 : index;\n }\n /** Caches the current items in the list and their positions. */\n _cacheItems() {\n this._activeDraggables = this._draggables.slice();\n this._cacheItemPositions();\n this._cacheParentPositions();\n }\n /**\n * Checks whether the user's pointer is positioned over the container.\n * @param x Pointer position along the X axis.\n * @param y Pointer position along the Y axis.\n */\n _isOverContainer(x, y) {\n return this._clientRect != null && isInsideClientRect(this._clientRect, x, y);\n }\n /**\n * Figures out whether an item should be moved into a sibling\n * drop container, based on its current position.\n * @param item Drag item that is being moved.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _getSiblingContainerFromPosition(item, x, y) {\n return this._siblings.find(sibling => sibling._canReceive(item, x, y));\n }\n /**\n * Checks whether the drop list can receive the passed-in item.\n * @param item Item that is being dragged into the list.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _canReceive(item, x, y) {\n if (!this._clientRect || !isInsideClientRect(this._clientRect, x, y) ||\n !this.enterPredicate(item, this)) {\n return false;\n }\n const elementFromPoint = this._getShadowRoot().elementFromPoint(x, y);\n // If there's no element at the pointer position, then\n // the client rect is probably scrolled out of the view.\n if (!elementFromPoint) {\n return false;\n }\n const nativeElement = coerceElement(this.element);\n // The `ClientRect`, that we're using to find the container over which the user is\n // hovering, doesn't give us any information on whether the element has been scrolled\n // out of the view or whether it's overlapping with other containers. This means that\n // we could end up transferring the item into a container that's invisible or is positioned\n // below another one. We use the result from `elementFromPoint` to get the top-most element\n // at the pointer position and to find whether it's one of the intersecting drop containers.\n return elementFromPoint === nativeElement || nativeElement.contains(elementFromPoint);\n }\n /**\n * Called by one of the connected drop lists when a dragging sequence has started.\n * @param sibling Sibling in which dragging has started.\n */\n _startReceiving(sibling, items) {\n const activeSiblings = this._activeSiblings;\n if (!activeSiblings.has(sibling) && items.every(item => {\n // Note that we have to add an exception to the `enterPredicate` for items that started off\n // in this drop list. The drag ref has logic that allows an item to return to its initial\n // container, if it has left the initial container and none of the connected containers\n // allow it to enter. See `DragRef._updateActiveDropContainer` for more context.\n return this.enterPredicate(item, this) || this._draggables.indexOf(item) > -1;\n })) {\n activeSiblings.add(sibling);\n this._cacheParentPositions();\n this._listenToScrollEvents();\n }\n }\n /**\n * Called by a connected drop list when dragging has stopped.\n * @param sibling Sibling whose dragging has stopped.\n */\n _stopReceiving(sibling) {\n this._activeSiblings.delete(sibling);\n this._viewportScrollSubscription.unsubscribe();\n }\n /**\n * Starts listening to scroll events on the viewport.\n * Used for updating the internal state of the list.\n */\n _listenToScrollEvents() {\n this._viewportScrollSubscription = this._dragDropRegistry.scroll.subscribe(event => {\n if (this.isDragging()) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n // Since we know the amount that the user has scrolled we can shift all of the\n // client rectangles ourselves. This is cheaper than re-measuring everything and\n // we can avoid inconsistent behavior where we might be measuring the element before\n // its position has changed.\n this._itemPositions.forEach(({ clientRect }) => {\n adjustClientRect(clientRect, scrollDifference.top, scrollDifference.left);\n });\n // We need two loops for this, because we want all of the cached\n // positions to be up-to-date before we re-sort the item.\n this._itemPositions.forEach(({ drag }) => {\n if (this._dragDropRegistry.isDragging(drag)) {\n // We need to re-sort the item manually, because the pointer move\n // events won't be dispatched while the user is scrolling.\n drag._sortFromLastPointerPosition();\n }\n });\n }\n }\n else if (this.isReceiving()) {\n this._cacheParentPositions();\n }\n });\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (!this._cachedShadowRoot) {\n const shadowRoot = _getShadowRoot(coerceElement(this.element));\n this._cachedShadowRoot = shadowRoot || this._document;\n }\n return this._cachedShadowRoot;\n }\n /** Notifies any siblings that may potentially receive the item. */\n _notifyReceivingSiblings() {\n const draggedItems = this._activeDraggables.filter(item => item.isDragging());\n this._siblings.forEach(sibling => sibling._startReceiving(this, draggedItems));\n }\n}\n/**\n * Finds the index of an item that matches a predicate function. Used as an equivalent\n * of `Array.prototype.findIndex` which isn't part of the standard Google typings.\n * @param array Array in which to look for matches.\n * @param predicate Function used to determine whether an item is a match.\n */\nfunction findIndex(array, predicate) {\n for (let i = 0; i < array.length; i++) {\n if (predicate(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Increments the vertical scroll position of a node.\n * @param node Node whose scroll position should change.\n * @param amount Amount of pixels that the `node` should be scrolled.\n */\nfunction incrementVerticalScroll(node, amount) {\n if (node === window) {\n node.scrollBy(0, amount);\n }\n else {\n // Ideally we could use `Element.scrollBy` here as well, but IE and Edge don't support it.\n node.scrollTop += amount;\n }\n}\n/**\n * Increments the horizontal scroll position of a node.\n * @param node Node whose scroll position should change.\n * @param amount Amount of pixels that the `node` should be scrolled.\n */\nfunction incrementHorizontalScroll(node, amount) {\n if (node === window) {\n node.scrollBy(amount, 0);\n }\n else {\n // Ideally we could use `Element.scrollBy` here as well, but IE and Edge don't support it.\n node.scrollLeft += amount;\n }\n}\n/**\n * Gets whether the vertical auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getVerticalScrollDirection(clientRect, pointerY) {\n const { top, bottom, height } = clientRect;\n const yThreshold = height * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerY >= top - yThreshold && pointerY <= top + yThreshold) {\n return 1 /* UP */;\n }\n else if (pointerY >= bottom - yThreshold && pointerY <= bottom + yThreshold) {\n return 2 /* DOWN */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets whether the horizontal auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerX Position of the user's pointer along the x axis.\n */\nfunction getHorizontalScrollDirection(clientRect, pointerX) {\n const { left, right, width } = clientRect;\n const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerX >= left - xThreshold && pointerX <= left + xThreshold) {\n return 1 /* LEFT */;\n }\n else if (pointerX >= right - xThreshold && pointerX <= right + xThreshold) {\n return 2 /* RIGHT */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets the directions in which an element node should be scrolled,\n * assuming that the user's pointer is already within it scrollable region.\n * @param element Element for which we should calculate the scroll direction.\n * @param clientRect Bounding client rectangle of the element.\n * @param pointerX Position of the user's pointer along the x axis.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getElementScrollDirections(element, clientRect, pointerX, pointerY) {\n const computedVertical = getVerticalScrollDirection(clientRect, pointerY);\n const computedHorizontal = getHorizontalScrollDirection(clientRect, pointerX);\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Note that we here we do some extra checks for whether the element is actually scrollable in\n // a certain direction and we only assign the scroll direction if it is. We do this so that we\n // can allow other elements to be scrolled, if the current element can't be scrolled anymore.\n // This allows us to handle cases where the scroll regions of two scrollable elements overlap.\n if (computedVertical) {\n const scrollTop = element.scrollTop;\n if (computedVertical === 1 /* UP */) {\n if (scrollTop > 0) {\n verticalScrollDirection = 1 /* UP */;\n }\n }\n else if (element.scrollHeight - scrollTop > element.clientHeight) {\n verticalScrollDirection = 2 /* DOWN */;\n }\n }\n if (computedHorizontal) {\n const scrollLeft = element.scrollLeft;\n if (computedHorizontal === 1 /* LEFT */) {\n if (scrollLeft > 0) {\n horizontalScrollDirection = 1 /* LEFT */;\n }\n }\n else if (element.scrollWidth - scrollLeft > element.clientWidth) {\n horizontalScrollDirection = 2 /* RIGHT */;\n }\n }\n return [verticalScrollDirection, horizontalScrollDirection];\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/** Event options that can be used to bind an active, capturing event. */\nconst activeCapturingEventOptions = normalizePassiveListenerOptions({\n passive: false,\n capture: true\n});\n/**\n * Service that keeps track of all the drag item and drop container\n * instances, and manages global event listeners on the `document`.\n * @docs-private\n */\n// Note: this class is generic, rather than referencing CdkDrag and CdkDropList directly, in order\n// to avoid circular imports. If we were to reference them here, importing the registry into the\n// classes that are registering themselves will introduce a circular import.\nclass DragDropRegistry {\n constructor(_ngZone, _document) {\n this._ngZone = _ngZone;\n /** Registered drop container instances. */\n this._dropInstances = new Set();\n /** Registered drag item instances. */\n this._dragInstances = new Set();\n /** Drag item instances that are currently being dragged. */\n this._activeDragInstances = [];\n /** Keeps track of the event listeners that we've bound to the `document`. */\n this._globalListeners = new Map();\n /**\n * Predicate function to check if an item is being dragged. Moved out into a property,\n * because it'll be called a lot and we don't want to create a new function every time.\n */\n this._draggingPredicate = (item) => item.isDragging();\n /**\n * Emits the `touchmove` or `mousemove` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerMove = new Subject();\n /**\n * Emits the `touchend` or `mouseup` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerUp = new Subject();\n /** Emits when the viewport has been scrolled while the user is dragging an item. */\n this.scroll = new Subject();\n /**\n * Event listener that will prevent the default browser action while the user is dragging.\n * @param event Event whose default action should be prevented.\n */\n this._preventDefaultWhileDragging = (event) => {\n if (this._activeDragInstances.length > 0) {\n event.preventDefault();\n }\n };\n /** Event listener for `touchmove` that is bound even if no dragging is happening. */\n this._persistentTouchmoveListener = (event) => {\n if (this._activeDragInstances.length > 0) {\n // Note that we only want to prevent the default action after dragging has actually started.\n // Usually this is the same time at which the item is added to the `_activeDragInstances`,\n // but it could be pushed back if the user has set up a drag delay or threshold.\n if (this._activeDragInstances.some(this._draggingPredicate)) {\n event.preventDefault();\n }\n this.pointerMove.next(event);\n }\n };\n this._document = _document;\n }\n /** Adds a drop container to the registry. */\n registerDropContainer(drop) {\n if (!this._dropInstances.has(drop)) {\n this._dropInstances.add(drop);\n }\n }\n /** Adds a drag item instance to the registry. */\n registerDragItem(drag) {\n this._dragInstances.add(drag);\n // The `touchmove` event gets bound once, ahead of time, because WebKit\n // won't preventDefault on a dynamically-added `touchmove` listener.\n // See https://bugs.webkit.org/show_bug.cgi?id=184250.\n if (this._dragInstances.size === 1) {\n this._ngZone.runOutsideAngular(() => {\n // The event handler has to be explicitly active,\n // because newer browsers make it passive by default.\n this._document.addEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n });\n }\n }\n /** Removes a drop container from the registry. */\n removeDropContainer(drop) {\n this._dropInstances.delete(drop);\n }\n /** Removes a drag item instance from the registry. */\n removeDragItem(drag) {\n this._dragInstances.delete(drag);\n this.stopDragging(drag);\n if (this._dragInstances.size === 0) {\n this._document.removeEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n }\n }\n /**\n * Starts the dragging sequence for a drag instance.\n * @param drag Drag instance which is being dragged.\n * @param event Event that initiated the dragging.\n */\n startDragging(drag, event) {\n // Do not process the same drag twice to avoid memory leaks and redundant listeners\n if (this._activeDragInstances.indexOf(drag) > -1) {\n return;\n }\n this._activeDragInstances.push(drag);\n if (this._activeDragInstances.length === 1) {\n const isTouchEvent = event.type.startsWith('touch');\n // We explicitly bind __active__ listeners here, because newer browsers will default to\n // passive ones for `mousemove` and `touchmove`. The events need to be active, because we\n // use `preventDefault` to prevent the page from scrolling while the user is dragging.\n this._globalListeners\n .set(isTouchEvent ? 'touchend' : 'mouseup', {\n handler: (e) => this.pointerUp.next(e),\n options: true\n })\n .set('scroll', {\n handler: (e) => this.scroll.next(e),\n // Use capturing so that we pick up scroll changes in any scrollable nodes that aren't\n // the document. See https://github.com/angular/components/issues/17144.\n options: true\n })\n // Preventing the default action on `mousemove` isn't enough to disable text selection\n // on Safari so we need to prevent the selection event as well. Alternatively this can\n // be done by setting `user-select: none` on the `body`, however it has causes a style\n // recalculation which can be expensive on pages with a lot of elements.\n .set('selectstart', {\n handler: this._preventDefaultWhileDragging,\n options: activeCapturingEventOptions\n });\n // We don't have to bind a move event for touch drag sequences, because\n // we already have a persistent global one bound from `registerDragItem`.\n if (!isTouchEvent) {\n this._globalListeners.set('mousemove', {\n handler: (e) => this.pointerMove.next(e),\n options: activeCapturingEventOptions\n });\n }\n this._ngZone.runOutsideAngular(() => {\n this._globalListeners.forEach((config, name) => {\n this._document.addEventListener(name, config.handler, config.options);\n });\n });\n }\n }\n /** Stops dragging a drag item instance. */\n stopDragging(drag) {\n const index = this._activeDragInstances.indexOf(drag);\n if (index > -1) {\n this._activeDragInstances.splice(index, 1);\n if (this._activeDragInstances.length === 0) {\n this._clearGlobalListeners();\n }\n }\n }\n /** Gets whether a drag item instance is currently being dragged. */\n isDragging(drag) {\n return this._activeDragInstances.indexOf(drag) > -1;\n }\n ngOnDestroy() {\n this._dragInstances.forEach(instance => this.removeDragItem(instance));\n this._dropInstances.forEach(instance => this.removeDropContainer(instance));\n this._clearGlobalListeners();\n this.pointerMove.complete();\n this.pointerUp.complete();\n }\n /** Clears out the global event listeners from the `document`. */\n _clearGlobalListeners() {\n this._globalListeners.forEach((config, name) => {\n this._document.removeEventListener(name, config.handler, config.options);\n });\n this._globalListeners.clear();\n }\n}\nDragDropRegistry.ɵfac = function DragDropRegistry_Factory(t) { return new (t || DragDropRegistry)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nDragDropRegistry.ɵprov = ɵɵdefineInjectable({ factory: function DragDropRegistry_Factory() { return new DragDropRegistry(ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); }, token: DragDropRegistry, providedIn: \"root\" });\nDragDropRegistry.ctorParameters = () => [\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DragDropRegistry, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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/** Default configuration to be used when creating a `DragRef`. */\nconst DEFAULT_CONFIG = {\n dragStartThreshold: 5,\n pointerDirectionChangeThreshold: 5\n};\n/**\n * Service that allows for drag-and-drop functionality to be attached to DOM elements.\n */\nclass DragDrop {\n constructor(_document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n }\n /**\n * Turns an element into a draggable item.\n * @param element Element to which to attach the dragging functionality.\n * @param config Object used to configure the dragging behavior.\n */\n createDrag(element, config = DEFAULT_CONFIG) {\n return new DragRef(element, config, this._document, this._ngZone, this._viewportRuler, this._dragDropRegistry);\n }\n /**\n * Turns an element into a drop list.\n * @param element Element to which to attach the drop list functionality.\n */\n createDropList(element) {\n return new DropListRef(element, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler);\n }\n}\nDragDrop.ɵfac = function DragDrop_Factory(t) { return new (t || DragDrop)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(DragDropRegistry)); };\nDragDrop.ɵprov = ɵɵdefineInjectable({ factory: function DragDrop_Factory() { return new DragDrop(ɵɵinject(DOCUMENT), ɵɵinject(NgZone), ɵɵinject(ViewportRuler), ɵɵinject(DragDropRegistry)); }, token: DragDrop, providedIn: \"root\" });\nDragDrop.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: NgZone },\n { type: ViewportRuler },\n { type: DragDropRegistry }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DragDrop, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc1.ViewportRuler }, { type: DragDropRegistry }]; }, 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/**\n * Injection token that can be used for a `CdkDrag` to provide itself as a parent to the\n * drag-specific child directive (`CdkDragHandle`, `CdkDragPreview` etc.). Used primarily\n * to avoid circular imports.\n * @docs-private\n */\nconst CDK_DRAG_PARENT = new InjectionToken('CDK_DRAG_PARENT');\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/**\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 * Injection token that can be used to reference instances of `CdkDropListGroup`. It serves as\n * alternative token to the actual `CdkDropListGroup` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST_GROUP = new InjectionToken('CdkDropListGroup');\n/**\n * Declaratively connects sibling `cdkDropList` instances together. All of the `cdkDropList`\n * elements that are placed inside a `cdkDropListGroup` will be connected to each other\n * automatically. Can be used as an alternative to the `cdkDropListConnectedTo` input\n * from `cdkDropList`.\n */\nclass CdkDropListGroup {\n constructor() {\n /** Drop lists registered inside the group. */\n this._items = new Set();\n this._disabled = false;\n }\n /** Whether starting a dragging sequence from inside this group is disabled. */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this._items.clear();\n }\n}\nCdkDropListGroup.ɵfac = function CdkDropListGroup_Factory(t) { return new (t || CdkDropListGroup)(); };\nCdkDropListGroup.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkDropListGroup, selectors: [[\"\", \"cdkDropListGroup\", \"\"]], inputs: { disabled: [\"cdkDropListGroupDisabled\", \"disabled\"] }, exportAs: [\"cdkDropListGroup\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }])] });\nCdkDropListGroup.propDecorators = {\n disabled: [{ type: Input, args: ['cdkDropListGroupDisabled',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDropListGroup, [{\n type: Directive,\n args: [{\n selector: '[cdkDropListGroup]',\n exportAs: 'cdkDropListGroup',\n providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }]\n }]\n }], function () { return []; }, { disabled: [{\n type: Input,\n args: ['cdkDropListGroupDisabled']\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 * Injection token that can be used to configure the\n * behavior of the drag&drop-related components.\n */\nconst CDK_DRAG_CONFIG = new InjectionToken('CDK_DRAG_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/**\n * Asserts that a particular node is an element.\n * @param node Node to be checked.\n * @param name Name to attach to the error message.\n */\nfunction assertElementNode(node, name) {\n if (node.nodeType !== 1) {\n throw Error(`${name} must be attached to an element node. ` +\n `Currently attached to \"${node.nodeName}\".`);\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/** Counter used to generate unique ids for drop zones. */\nlet _uniqueIdCounter = 0;\n/**\n * Injection token that can be used to reference instances of `CdkDropList`. It serves as\n * alternative token to the actual `CdkDropList` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST = new InjectionToken('CdkDropList');\nconst ɵ0 = undefined;\n/** Container that wraps a set of draggable items. */\nclass CdkDropList {\n constructor(\n /** Element that the drop list is attached to. */\n element, dragDrop, _changeDetectorRef, _scrollDispatcher, _dir, _group, config) {\n this.element = element;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollDispatcher = _scrollDispatcher;\n this._dir = _dir;\n this._group = _group;\n /** Emits when the list has been destroyed. */\n this._destroyed = new Subject();\n /**\n * Other draggable containers that this container is connected to and into which the\n * container's items can be transferred. Can either be references to other drop containers,\n * or their unique IDs.\n */\n this.connectedTo = [];\n /**\n * Unique ID for the drop zone. Can be used as a reference\n * in the `connectedTo` of another `CdkDropList`.\n */\n this.id = `cdk-drop-list-${_uniqueIdCounter++}`;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits when the user drops an item inside the container. */\n this.dropped = new EventEmitter();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new EventEmitter();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new EventEmitter();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new EventEmitter();\n /**\n * Keeps track of the items that are registered with this container. Historically we used to\n * do this with a `ContentChildren` query, however queries don't handle transplanted views very\n * well which means that we can't handle cases like dragging the headers of a `mat-table`\n * correctly. What we do instead is to have the items register themselves with the container\n * and then we sort them based on their position in the DOM.\n */\n this._unsortedItems = new Set();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDropList');\n }\n this._dropListRef = dragDrop.createDropList(element);\n this._dropListRef.data = this;\n if (config) {\n this._assignDefaults(config);\n }\n this._dropListRef.enterPredicate = (drag, drop) => {\n return this.enterPredicate(drag.data, drop.data);\n };\n this._dropListRef.sortPredicate =\n (index, drag, drop) => {\n return this.sortPredicate(index, drag.data, drop.data);\n };\n this._setupInputSyncSubscription(this._dropListRef);\n this._handleEvents(this._dropListRef);\n CdkDropList._dropLists.push(this);\n if (_group) {\n _group._items.add(this);\n }\n }\n /** Whether starting a dragging sequence from this container is disabled. */\n get disabled() {\n return this._disabled || (!!this._group && this._group.disabled);\n }\n set disabled(value) {\n // Usually we sync the directive and ref state right before dragging starts, in order to have\n // a single point of failure and to avoid having to use setters for everything. `disabled` is\n // a special case, because it can prevent the `beforeStarted` event from firing, which can lock\n // the user in a disabled state, so we also need to sync it as it's being set.\n this._dropListRef.disabled = this._disabled = coerceBooleanProperty(value);\n }\n /** Registers an items with the drop list. */\n addItem(item) {\n this._unsortedItems.add(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Removes an item from the drop list. */\n removeItem(item) {\n this._unsortedItems.delete(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Gets the registered items in the list, sorted by their position in the DOM. */\n getSortedItems() {\n return Array.from(this._unsortedItems).sort((a, b) => {\n const documentPosition = a._dragRef.getVisibleElement().compareDocumentPosition(b._dragRef.getVisibleElement());\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n }\n ngOnDestroy() {\n const index = CdkDropList._dropLists.indexOf(this);\n if (index > -1) {\n CdkDropList._dropLists.splice(index, 1);\n }\n if (this._group) {\n this._group._items.delete(this);\n }\n this._unsortedItems.clear();\n this._dropListRef.dispose();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Syncs the inputs of the CdkDropList with the options of the underlying DropListRef. */\n _setupInputSyncSubscription(ref) {\n if (this._dir) {\n this._dir.change\n .pipe(startWith(this._dir.value), takeUntil(this._destroyed))\n .subscribe(value => ref.withDirection(value));\n }\n ref.beforeStarted.subscribe(() => {\n const siblings = coerceArray(this.connectedTo).map(drop => {\n if (typeof drop === 'string') {\n const correspondingDropList = CdkDropList._dropLists.find(list => list.id === drop);\n if (!correspondingDropList && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n console.warn(`CdkDropList could not find connected drop list with id \"${drop}\"`);\n }\n return correspondingDropList;\n }\n return drop;\n });\n if (this._group) {\n this._group._items.forEach(drop => {\n if (siblings.indexOf(drop) === -1) {\n siblings.push(drop);\n }\n });\n }\n // Note that we resolve the scrollable parents here so that we delay the resolution\n // as long as possible, ensuring that the element is in its final place in the DOM.\n if (!this._scrollableParentsResolved) {\n const scrollableParents = this._scrollDispatcher\n .getAncestorScrollContainers(this.element)\n .map(scrollable => scrollable.getElementRef().nativeElement);\n this._dropListRef.withScrollableParents(scrollableParents);\n // Only do this once since it involves traversing the DOM and the parents\n // shouldn't be able to change without the drop list being destroyed.\n this._scrollableParentsResolved = true;\n }\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.sortingDisabled = coerceBooleanProperty(this.sortingDisabled);\n ref.autoScrollDisabled = coerceBooleanProperty(this.autoScrollDisabled);\n ref.autoScrollStep = coerceNumberProperty(this.autoScrollStep, 2);\n ref\n .connectedTo(siblings.filter(drop => drop && drop !== this).map(list => list._dropListRef))\n .withOrientation(this.orientation);\n });\n }\n /** Handles events from the underlying DropListRef. */\n _handleEvents(ref) {\n ref.beforeStarted.subscribe(() => {\n this._syncItemsWithRef();\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: this,\n item: event.item.data,\n currentIndex: event.currentIndex\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: this,\n item: event.item.data\n });\n this._changeDetectorRef.markForCheck();\n });\n ref.sorted.subscribe(event => {\n this.sorted.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n container: this,\n item: event.item.data\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n item: event.item.data,\n isPointerOverContainer: event.isPointerOverContainer,\n distance: event.distance\n });\n // Mark for check since all of these events run outside of change\n // detection and we're not guaranteed for something else to have triggered it.\n this._changeDetectorRef.markForCheck();\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, draggingDisabled, sortingDisabled, listAutoScrollDisabled, listOrientation } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.sortingDisabled = sortingDisabled == null ? false : sortingDisabled;\n this.autoScrollDisabled = listAutoScrollDisabled == null ? false : listAutoScrollDisabled;\n this.orientation = listOrientation || 'vertical';\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n }\n /** Syncs up the registered drag items with underlying drop list ref. */\n _syncItemsWithRef() {\n this._dropListRef.withItems(this.getSortedItems().map(item => item._dragRef));\n }\n}\nCdkDropList.ɵfac = function CdkDropList_Factory(t) { return new (t || CdkDropList)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(DragDrop), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(CDK_DROP_LIST_GROUP, 12), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_CONFIG, 8)); };\nCdkDropList.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkDropList, selectors: [[\"\", \"cdkDropList\", \"\"], [\"cdk-drop-list\"]], hostAttrs: [1, \"cdk-drop-list\"], hostVars: 7, hostBindings: function CdkDropList_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"id\", ctx.id);\n ɵngcc0.ɵɵclassProp(\"cdk-drop-list-disabled\", ctx.disabled)(\"cdk-drop-list-dragging\", ctx._dropListRef.isDragging())(\"cdk-drop-list-receiving\", ctx._dropListRef.isReceiving());\n } }, inputs: { connectedTo: [\"cdkDropListConnectedTo\", \"connectedTo\"], id: \"id\", enterPredicate: [\"cdkDropListEnterPredicate\", \"enterPredicate\"], sortPredicate: [\"cdkDropListSortPredicate\", \"sortPredicate\"], disabled: [\"cdkDropListDisabled\", \"disabled\"], sortingDisabled: [\"cdkDropListSortingDisabled\", \"sortingDisabled\"], autoScrollDisabled: [\"cdkDropListAutoScrollDisabled\", \"autoScrollDisabled\"], orientation: [\"cdkDropListOrientation\", \"orientation\"], lockAxis: [\"cdkDropListLockAxis\", \"lockAxis\"], data: [\"cdkDropListData\", \"data\"], autoScrollStep: [\"cdkDropListAutoScrollStep\", \"autoScrollStep\"] }, outputs: { dropped: \"cdkDropListDropped\", entered: \"cdkDropListEntered\", exited: \"cdkDropListExited\", sorted: \"cdkDropListSorted\" }, exportAs: [\"cdkDropList\"], features: [ɵngcc0.ɵɵProvidersFeature([\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: ɵ0 },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ])] });\n/** Keeps track of the drop lists that are currently on the page. */\nCdkDropList._dropLists = [];\nCdkDropList.ctorParameters = () => [\n { type: ElementRef },\n { type: DragDrop },\n { type: ChangeDetectorRef },\n { type: ScrollDispatcher },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: CdkDropListGroup, decorators: [{ type: Optional }, { type: Inject, args: [CDK_DROP_LIST_GROUP,] }, { type: SkipSelf }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [CDK_DRAG_CONFIG,] }] }\n];\nCdkDropList.propDecorators = {\n connectedTo: [{ type: Input, args: ['cdkDropListConnectedTo',] }],\n data: [{ type: Input, args: ['cdkDropListData',] }],\n orientation: [{ type: Input, args: ['cdkDropListOrientation',] }],\n id: [{ type: Input }],\n lockAxis: [{ type: Input, args: ['cdkDropListLockAxis',] }],\n disabled: [{ type: Input, args: ['cdkDropListDisabled',] }],\n sortingDisabled: [{ type: Input, args: ['cdkDropListSortingDisabled',] }],\n enterPredicate: [{ type: Input, args: ['cdkDropListEnterPredicate',] }],\n sortPredicate: [{ type: Input, args: ['cdkDropListSortPredicate',] }],\n autoScrollDisabled: [{ type: Input, args: ['cdkDropListAutoScrollDisabled',] }],\n autoScrollStep: [{ type: Input, args: ['cdkDropListAutoScrollStep',] }],\n dropped: [{ type: Output, args: ['cdkDropListDropped',] }],\n entered: [{ type: Output, args: ['cdkDropListEntered',] }],\n exited: [{ type: Output, args: ['cdkDropListExited',] }],\n sorted: [{ type: Output, args: ['cdkDropListSorted',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDropList, [{\n type: Directive,\n args: [{\n selector: '[cdkDropList], cdk-drop-list',\n exportAs: 'cdkDropList',\n providers: [\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: ɵ0 },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ],\n host: {\n 'class': 'cdk-drop-list',\n '[attr.id]': 'id',\n '[class.cdk-drop-list-disabled]': 'disabled',\n '[class.cdk-drop-list-dragging]': '_dropListRef.isDragging()',\n '[class.cdk-drop-list-receiving]': '_dropListRef.isReceiving()'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: DragDrop }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: CdkDropListGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DROP_LIST_GROUP]\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }]; }, { connectedTo: [{\n type: Input,\n args: ['cdkDropListConnectedTo']\n }], id: [{\n type: Input\n }], enterPredicate: [{\n type: Input,\n args: ['cdkDropListEnterPredicate']\n }], sortPredicate: [{\n type: Input,\n args: ['cdkDropListSortPredicate']\n }], dropped: [{\n type: Output,\n args: ['cdkDropListDropped']\n }], entered: [{\n type: Output,\n args: ['cdkDropListEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDropListExited']\n }], sorted: [{\n type: Output,\n args: ['cdkDropListSorted']\n }], disabled: [{\n type: Input,\n args: ['cdkDropListDisabled']\n }], sortingDisabled: [{\n type: Input,\n args: ['cdkDropListSortingDisabled']\n }], autoScrollDisabled: [{\n type: Input,\n args: ['cdkDropListAutoScrollDisabled']\n }], orientation: [{\n type: Input,\n args: ['cdkDropListOrientation']\n }], lockAxis: [{\n type: Input,\n args: ['cdkDropListLockAxis']\n }], data: [{\n type: Input,\n args: ['cdkDropListData']\n }], autoScrollStep: [{\n type: Input,\n args: ['cdkDropListAutoScrollStep']\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 * Injection token that can be used to reference instances of `CdkDragHandle`. It serves as\n * alternative token to the actual `CdkDragHandle` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_HANDLE = new InjectionToken('CdkDragHandle');\n/** Handle that can be used to drag a CdkDrag instance. */\nclass CdkDragHandle {\n constructor(element, parentDrag) {\n this.element = element;\n /** Emits when the state of the handle has changed. */\n this._stateChanges = new Subject();\n this._disabled = false;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDragHandle');\n }\n this._parentDrag = parentDrag;\n }\n /** Whether starting to drag through this handle is disabled. */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._stateChanges.next(this);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\nCdkDragHandle.ɵfac = function CdkDragHandle_Factory(t) { return new (t || CdkDragHandle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_PARENT, 12)); };\nCdkDragHandle.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkDragHandle, selectors: [[\"\", \"cdkDragHandle\", \"\"]], hostAttrs: [1, \"cdk-drag-handle\"], inputs: { disabled: [\"cdkDragHandleDisabled\", \"disabled\"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }])] });\nCdkDragHandle.ctorParameters = () => [\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_DRAG_PARENT,] }, { type: Optional }, { type: SkipSelf }] }\n];\nCdkDragHandle.propDecorators = {\n disabled: [{ type: Input, args: ['cdkDragHandleDisabled',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDragHandle, [{\n type: Directive,\n args: [{\n selector: '[cdkDragHandle]',\n host: {\n 'class': 'cdk-drag-handle'\n },\n providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }]; }, { disabled: [{\n type: Input,\n args: ['cdkDragHandleDisabled']\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 * Injection token that can be used to reference instances of `CdkDragPlaceholder`. It serves as\n * alternative token to the actual `CdkDragPlaceholder` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PLACEHOLDER = new InjectionToken('CdkDragPlaceholder');\n/**\n * Element that will be used as a template for the placeholder of a CdkDrag when\n * it is being dragged. The placeholder is displayed in place of the element being dragged.\n */\nclass CdkDragPlaceholder {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkDragPlaceholder.ɵfac = function CdkDragPlaceholder_Factory(t) { return new (t || CdkDragPlaceholder)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkDragPlaceholder.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkDragPlaceholder, selectors: [[\"ng-template\", \"cdkDragPlaceholder\", \"\"]], inputs: { data: \"data\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }])] });\nCdkDragPlaceholder.ctorParameters = () => [\n { type: TemplateRef }\n];\nCdkDragPlaceholder.propDecorators = {\n data: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDragPlaceholder, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPlaceholder]',\n providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }]\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, { data: [{\n type: Input\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 * Injection token that can be used to reference instances of `CdkDragPreview`. It serves as\n * alternative token to the actual `CdkDragPreview` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PREVIEW = new InjectionToken('CdkDragPreview');\n/**\n * Element that will be used as a template for the preview\n * of a CdkDrag when it is being dragged.\n */\nclass CdkDragPreview {\n constructor(templateRef) {\n this.templateRef = templateRef;\n this._matchSize = false;\n }\n /** Whether the preview should preserve the same size as the item that is being dragged. */\n get matchSize() { return this._matchSize; }\n set matchSize(value) { this._matchSize = coerceBooleanProperty(value); }\n}\nCdkDragPreview.ɵfac = function CdkDragPreview_Factory(t) { return new (t || CdkDragPreview)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkDragPreview.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkDragPreview, selectors: [[\"ng-template\", \"cdkDragPreview\", \"\"]], inputs: { matchSize: \"matchSize\", data: \"data\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }])] });\nCdkDragPreview.ctorParameters = () => [\n { type: TemplateRef }\n];\nCdkDragPreview.propDecorators = {\n data: [{ type: Input }],\n matchSize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDragPreview, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPreview]',\n providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }]\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, { matchSize: [{\n type: Input\n }], data: [{\n type: Input\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 DRAG_HOST_CLASS = 'cdk-drag';\n/** Element that can be moved inside a CdkDropList container. */\nclass CdkDrag {\n constructor(\n /** Element that the draggable is attached to. */\n element, \n /** Droppable container that the draggable is a part of. */\n dropContainer, \n /**\n * @deprecated `_document` parameter no longer being used and will be removed.\n * @breaking-change 12.0.0\n */\n _document, _ngZone, _viewContainerRef, config, _dir, dragDrop, _changeDetectorRef, _selfHandle, _parentDrag) {\n this.element = element;\n this.dropContainer = dropContainer;\n this._ngZone = _ngZone;\n this._viewContainerRef = _viewContainerRef;\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._selfHandle = _selfHandle;\n this._parentDrag = _parentDrag;\n this._destroyed = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new EventEmitter();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new EventEmitter();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new EventEmitter();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new EventEmitter();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new EventEmitter();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new EventEmitter();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = new Observable((observer) => {\n const subscription = this._dragRef.moved.pipe(map(movedEvent => ({\n source: this,\n pointerPosition: movedEvent.pointerPosition,\n event: movedEvent.event,\n delta: movedEvent.delta,\n distance: movedEvent.distance\n }))).subscribe(observer);\n return () => {\n subscription.unsubscribe();\n };\n });\n this._dragRef = dragDrop.createDrag(element, {\n dragStartThreshold: config && config.dragStartThreshold != null ?\n config.dragStartThreshold : 5,\n pointerDirectionChangeThreshold: config && config.pointerDirectionChangeThreshold != null ?\n config.pointerDirectionChangeThreshold : 5,\n zIndex: config === null || config === void 0 ? void 0 : config.zIndex,\n });\n this._dragRef.data = this;\n // We have to keep track of the drag instances in order to be able to match an element to\n // a drag instance. We can't go through the global registry of `DragRef`, because the root\n // element could be different.\n CdkDrag._dragInstances.push(this);\n if (config) {\n this._assignDefaults(config);\n }\n // Note that usually the container is assigned when the drop list is picks up the item, but in\n // some cases (mainly transplanted views with OnPush, see #18341) we may end up in a situation\n // where there are no items on the first change detection pass, but the items get picked up as\n // soon as the user triggers another pass by dragging. This is a problem, because the item would\n // have to switch from standalone mode to drag mode in the middle of the dragging sequence which\n // is too late since the two modes save different kinds of information. We work around it by\n // assigning the drop container both from here and the list.\n if (dropContainer) {\n this._dragRef._withDropContainer(dropContainer._dropListRef);\n dropContainer.addItem(this);\n }\n this._syncInputs(this._dragRef);\n this._handleEvents(this._dragRef);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || (this.dropContainer && this.dropContainer.disabled);\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._dragRef.disabled = this._disabled;\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._dragRef.getPlaceholderElement();\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._dragRef.getRootElement();\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._dragRef.reset();\n }\n /**\n * Gets the pixel coordinates of the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n return this._dragRef.getFreeDragPosition();\n }\n ngAfterViewInit() {\n // We need to wait for the zone to stabilize, in order for the reference\n // element to be in the proper place in the DOM. This is mostly relevant\n // for draggable elements inside portals since they get stamped out in\n // their original DOM position and then they get transferred to the portal.\n this._ngZone.onStable\n .pipe(take(1), takeUntil(this._destroyed))\n .subscribe(() => {\n this._updateRootElement();\n // Listen for any newly-added handles.\n this._handles.changes.pipe(startWith(this._handles), \n // Sync the new handles with the DragRef.\n tap((handles) => {\n const childHandleElements = handles\n .filter(handle => handle._parentDrag === this)\n .map(handle => handle.element);\n // Usually handles are only allowed to be a descendant of the drag element, but if\n // the consumer defined a different drag root, we should allow the drag element\n // itself to be a handle too.\n if (this._selfHandle && this.rootElementSelector) {\n childHandleElements.push(this.element);\n }\n this._dragRef.withHandles(childHandleElements);\n }), \n // Listen if the state of any of the handles changes.\n switchMap((handles) => {\n return merge(...handles.map(item => {\n return item._stateChanges.pipe(startWith(item));\n }));\n }), takeUntil(this._destroyed)).subscribe(handleInstance => {\n // Enabled/disable the handle that changed in the DragRef.\n const dragRef = this._dragRef;\n const handle = handleInstance.element.nativeElement;\n handleInstance.disabled ? dragRef.disableHandle(handle) : dragRef.enableHandle(handle);\n });\n if (this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n });\n }\n ngOnChanges(changes) {\n const rootSelectorChange = changes['rootElementSelector'];\n const positionChange = changes['freeDragPosition'];\n // We don't have to react to the first change since it's being\n // handled in `ngAfterViewInit` where it needs to be deferred.\n if (rootSelectorChange && !rootSelectorChange.firstChange) {\n this._updateRootElement();\n }\n // Skip the first change since it's being handled in `ngAfterViewInit`.\n if (positionChange && !positionChange.firstChange && this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n }\n ngOnDestroy() {\n if (this.dropContainer) {\n this.dropContainer.removeItem(this);\n }\n const index = CdkDrag._dragInstances.indexOf(this);\n if (index > -1) {\n CdkDrag._dragInstances.splice(index, 1);\n }\n this._destroyed.next();\n this._destroyed.complete();\n this._dragRef.dispose();\n }\n /** Syncs the root element with the `DragRef`. */\n _updateRootElement() {\n const element = this.element.nativeElement;\n const rootElement = this.rootElementSelector ?\n getClosestMatchingAncestor(element, this.rootElementSelector) : element;\n if (rootElement && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n assertElementNode(rootElement, 'cdkDrag');\n }\n this._dragRef.withRootElement(rootElement || element);\n }\n /** Gets the boundary element, based on the `boundaryElement` value. */\n _getBoundaryElement() {\n const boundary = this.boundaryElement;\n if (!boundary) {\n return null;\n }\n if (typeof boundary === 'string') {\n return getClosestMatchingAncestor(this.element.nativeElement, boundary);\n }\n const element = coerceElement(boundary);\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !element.contains(this.element.nativeElement)) {\n throw Error('Draggable element is not inside of the node passed into cdkDragBoundary.');\n }\n return element;\n }\n /** Syncs the inputs of the CdkDrag with the options of the underlying DragRef. */\n _syncInputs(ref) {\n ref.beforeStarted.subscribe(() => {\n if (!ref.isDragging()) {\n const dir = this._dir;\n const dragStartDelay = this.dragStartDelay;\n const placeholder = this._placeholderTemplate ? {\n template: this._placeholderTemplate.templateRef,\n context: this._placeholderTemplate.data,\n viewContainer: this._viewContainerRef\n } : null;\n const preview = this._previewTemplate ? {\n template: this._previewTemplate.templateRef,\n context: this._previewTemplate.data,\n matchSize: this._previewTemplate.matchSize,\n viewContainer: this._viewContainerRef\n } : null;\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.dragStartDelay = (typeof dragStartDelay === 'object' && dragStartDelay) ?\n dragStartDelay : coerceNumberProperty(dragStartDelay);\n ref.constrainPosition = this.constrainPosition;\n ref.previewClass = this.previewClass;\n ref\n .withBoundaryElement(this._getBoundaryElement())\n .withPlaceholderTemplate(placeholder)\n .withPreviewTemplate(preview);\n if (dir) {\n ref.withDirection(dir.value);\n }\n }\n });\n // This only needs to be resolved once.\n ref.beforeStarted.pipe(take(1)).subscribe(() => {\n var _a, _b;\n // If we managed to resolve a parent through DI, use it.\n if (this._parentDrag) {\n ref.withParent(this._parentDrag._dragRef);\n return;\n }\n // Otherwise fall back to resolving the parent by looking up the DOM. This can happen if\n // the item was projected into another item by something like `ngTemplateOutlet`.\n let parent = this.element.nativeElement.parentElement;\n while (parent) {\n // `classList` needs to be null checked, because IE doesn't have it on some elements.\n if ((_a = parent.classList) === null || _a === void 0 ? void 0 : _a.contains(DRAG_HOST_CLASS)) {\n ref.withParent(((_b = CdkDrag._dragInstances.find(drag => {\n return drag.element.nativeElement === parent;\n })) === null || _b === void 0 ? void 0 : _b._dragRef) || null);\n break;\n }\n parent = parent.parentElement;\n }\n });\n }\n /** Handles the events from the underlying `DragRef`. */\n _handleEvents(ref) {\n ref.started.subscribe(() => {\n this.started.emit({ source: this });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.released.subscribe(() => {\n this.released.emit({ source: this });\n });\n ref.ended.subscribe(event => {\n this.ended.emit({ source: this, distance: event.distance });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: event.container.data,\n item: this,\n currentIndex: event.currentIndex\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: event.container.data,\n item: this\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n isPointerOverContainer: event.isPointerOverContainer,\n item: this,\n distance: event.distance\n });\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, dragStartDelay, constrainPosition, previewClass, boundaryElement, draggingDisabled, rootElementSelector } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.dragStartDelay = dragStartDelay || 0;\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n if (constrainPosition) {\n this.constrainPosition = constrainPosition;\n }\n if (previewClass) {\n this.previewClass = previewClass;\n }\n if (boundaryElement) {\n this.boundaryElement = boundaryElement;\n }\n if (rootElementSelector) {\n this.rootElementSelector = rootElementSelector;\n }\n }\n}\nCdkDrag.ɵfac = function CdkDrag_Factory(t) { return new (t || CdkDrag)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(CDK_DROP_LIST, 12), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_CONFIG, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(DragDrop), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_HANDLE, 10), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_PARENT, 12)); };\nCdkDrag.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkDrag, selectors: [[\"\", \"cdkDrag\", \"\"]], contentQueries: function CdkDrag_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CDK_DRAG_PREVIEW, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CDK_DRAG_PLACEHOLDER, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CDK_DRAG_HANDLE, 1);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._previewTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._placeholderTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._handles = _t);\n } }, hostAttrs: [1, \"cdk-drag\"], hostVars: 4, hostBindings: function CdkDrag_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-drag-disabled\", ctx.disabled)(\"cdk-drag-dragging\", ctx._dragRef.isDragging());\n } }, inputs: { disabled: [\"cdkDragDisabled\", \"disabled\"], dragStartDelay: [\"cdkDragStartDelay\", \"dragStartDelay\"], lockAxis: [\"cdkDragLockAxis\", \"lockAxis\"], constrainPosition: [\"cdkDragConstrainPosition\", \"constrainPosition\"], previewClass: [\"cdkDragPreviewClass\", \"previewClass\"], boundaryElement: [\"cdkDragBoundary\", \"boundaryElement\"], rootElementSelector: [\"cdkDragRootElement\", \"rootElementSelector\"], data: [\"cdkDragData\", \"data\"], freeDragPosition: [\"cdkDragFreeDragPosition\", \"freeDragPosition\"] }, outputs: { started: \"cdkDragStarted\", released: \"cdkDragReleased\", ended: \"cdkDragEnded\", entered: \"cdkDragEntered\", exited: \"cdkDragExited\", dropped: \"cdkDragDropped\", moved: \"cdkDragMoved\" }, exportAs: [\"cdkDrag\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkDrag._dragInstances = [];\nCdkDrag.ctorParameters = () => [\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_DROP_LIST,] }, { type: Optional }, { type: SkipSelf }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: NgZone },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [CDK_DRAG_CONFIG,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: DragDrop },\n { type: ChangeDetectorRef },\n { type: CdkDragHandle, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [CDK_DRAG_HANDLE,] }] },\n { type: CdkDrag, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [CDK_DRAG_PARENT,] }] }\n];\nCdkDrag.propDecorators = {\n _handles: [{ type: ContentChildren, args: [CDK_DRAG_HANDLE, { descendants: true },] }],\n _previewTemplate: [{ type: ContentChild, args: [CDK_DRAG_PREVIEW,] }],\n _placeholderTemplate: [{ type: ContentChild, args: [CDK_DRAG_PLACEHOLDER,] }],\n data: [{ type: Input, args: ['cdkDragData',] }],\n lockAxis: [{ type: Input, args: ['cdkDragLockAxis',] }],\n rootElementSelector: [{ type: Input, args: ['cdkDragRootElement',] }],\n boundaryElement: [{ type: Input, args: ['cdkDragBoundary',] }],\n dragStartDelay: [{ type: Input, args: ['cdkDragStartDelay',] }],\n freeDragPosition: [{ type: Input, args: ['cdkDragFreeDragPosition',] }],\n disabled: [{ type: Input, args: ['cdkDragDisabled',] }],\n constrainPosition: [{ type: Input, args: ['cdkDragConstrainPosition',] }],\n previewClass: [{ type: Input, args: ['cdkDragPreviewClass',] }],\n started: [{ type: Output, args: ['cdkDragStarted',] }],\n released: [{ type: Output, args: ['cdkDragReleased',] }],\n ended: [{ type: Output, args: ['cdkDragEnded',] }],\n entered: [{ type: Output, args: ['cdkDragEntered',] }],\n exited: [{ type: Output, args: ['cdkDragExited',] }],\n dropped: [{ type: Output, args: ['cdkDragDropped',] }],\n moved: [{ type: Output, args: ['cdkDragMoved',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDrag, [{\n type: Directive,\n args: [{\n selector: '[cdkDrag]',\n exportAs: 'cdkDrag',\n host: {\n 'class': DRAG_HOST_CLASS,\n '[class.cdk-drag-disabled]': 'disabled',\n '[class.cdk-drag-dragging]': '_dragRef.isDragging()'\n },\n providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DROP_LIST]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: DragDrop }, { type: ɵngcc0.ChangeDetectorRef }, { type: CdkDragHandle, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [CDK_DRAG_HANDLE]\n }] }, { type: CdkDrag, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }] }]; }, { started: [{\n type: Output,\n args: ['cdkDragStarted']\n }], released: [{\n type: Output,\n args: ['cdkDragReleased']\n }], ended: [{\n type: Output,\n args: ['cdkDragEnded']\n }], entered: [{\n type: Output,\n args: ['cdkDragEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDragExited']\n }], dropped: [{\n type: Output,\n args: ['cdkDragDropped']\n }], moved: [{\n type: Output,\n args: ['cdkDragMoved']\n }], disabled: [{\n type: Input,\n args: ['cdkDragDisabled']\n }], dragStartDelay: [{\n type: Input,\n args: ['cdkDragStartDelay']\n }], lockAxis: [{\n type: Input,\n args: ['cdkDragLockAxis']\n }], constrainPosition: [{\n type: Input,\n args: ['cdkDragConstrainPosition']\n }], previewClass: [{\n type: Input,\n args: ['cdkDragPreviewClass']\n }], boundaryElement: [{\n type: Input,\n args: ['cdkDragBoundary']\n }], rootElementSelector: [{\n type: Input,\n args: ['cdkDragRootElement']\n }], _handles: [{\n type: ContentChildren,\n args: [CDK_DRAG_HANDLE, { descendants: true }]\n }], _previewTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PREVIEW]\n }], _placeholderTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PLACEHOLDER]\n }], data: [{\n type: Input,\n args: ['cdkDragData']\n }], freeDragPosition: [{\n type: Input,\n args: ['cdkDragFreeDragPosition']\n }] }); })();\n/** Gets the closest ancestor of an element that matches a selector. */\nfunction getClosestMatchingAncestor(element, selector) {\n let currentElement = element.parentElement;\n while (currentElement) {\n // IE doesn't support `matches` so we have to fall back to `msMatchesSelector`.\n if (currentElement.matches ? currentElement.matches(selector) :\n currentElement.msMatchesSelector(selector)) {\n return currentElement;\n }\n currentElement = currentElement.parentElement;\n }\n return null;\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 DragDropModule {\n}\nDragDropModule.ɵfac = function DragDropModule_Factory(t) { return new (t || DragDropModule)(); };\nDragDropModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: DragDropModule });\nDragDropModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ providers: [\n DragDrop,\n ], imports: [CdkScrollableModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(DragDropModule, { declarations: function () { return [CdkDropList, CdkDropListGroup, CdkDrag, CdkDragHandle, CdkDragPreview, CdkDragPlaceholder]; }, exports: function () { return [CdkScrollableModule, CdkDropList, CdkDropListGroup, CdkDrag, CdkDragHandle, CdkDragPreview, CdkDragPlaceholder]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DragDropModule, [{\n type: NgModule,\n args: [{\n declarations: [\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n exports: [\n CdkScrollableModule,\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n providers: [\n DragDrop,\n ]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CDK_DRAG_CONFIG, CDK_DRAG_HANDLE, CDK_DRAG_PARENT, CDK_DRAG_PLACEHOLDER, CDK_DRAG_PREVIEW, CDK_DROP_LIST, CDK_DROP_LIST_GROUP, CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDragPreview, CdkDropList, CdkDropListGroup, DragDrop, DragDropModule, DragDropRegistry, DragRef, DropListRef, copyArrayItem, moveItemInArray, transferArrayItem };\n\n//# sourceMappingURL=drag-drop.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 */\nconst MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\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 a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n\n//# sourceMappingURL=keycodes.js.map","import { NgModule, ɵɵdefineInjectable, ɵɵinject, Injectable, NgZone } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport { Platform } from '@angular/cdk/platform';\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 * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nclass LayoutModule {\n}\nLayoutModule.ɵfac = function LayoutModule_Factory(t) { return new (t || LayoutModule)(); };\nLayoutModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: LayoutModule });\nLayoutModule.ɵinj = ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutModule, [{\n type: NgModule,\n args: [{}]\n }], null, 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/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform) {\n this._platform = _platform;\n this._matchMedia = this._platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\nMediaMatcher.ɵfac = function MediaMatcher_Factory(t) { return new (t || MediaMatcher)(ɵngcc0.ɵɵinject(ɵngcc1.Platform)); };\nMediaMatcher.ɵprov = ɵɵdefineInjectable({ factory: function MediaMatcher_Factory() { return new MediaMatcher(ɵɵinject(Platform)); }, token: MediaMatcher, providedIn: \"root\" });\nMediaMatcher.ctorParameters = () => [\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MediaMatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }]; }, null); })();\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when\n * there is at least one CSS selector for the respective media query.\n */\nfunction createEmptyStyleRule(query) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet\n .insertRule(`@media ${query} {.fx-query-test{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n }\n catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => { },\n removeListener: () => { }\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/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\n }\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach(({ matches, query }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(query) {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query);\n }\n const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable((observer) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({ matches }) => ({ query, matches })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = { observable: queryObservable, mql };\n this._queries.set(query, output);\n return output;\n }\n}\nBreakpointObserver.ɵfac = function BreakpointObserver_Factory(t) { return new (t || BreakpointObserver)(ɵngcc0.ɵɵinject(MediaMatcher), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nBreakpointObserver.ɵprov = ɵɵdefineInjectable({ factory: function BreakpointObserver_Factory() { return new BreakpointObserver(ɵɵinject(MediaMatcher), ɵɵinject(NgZone)); }, token: BreakpointObserver, providedIn: \"root\" });\nBreakpointObserver.ctorParameters = () => [\n { type: MediaMatcher },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BreakpointObserver, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: MediaMatcher }, { type: ɵngcc0.NgZone }]; }, null); })();\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries.map(query => query.split(','))\n .reduce((a1, a2) => a1.concat(a2))\n .map(query => query.trim());\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// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' +\n '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n\n//# sourceMappingURL=layout.js.map","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ɵɵdefineInjectable, Injectable, ɵɵinject, EventEmitter, Directive, ElementRef, NgZone, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\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 * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = function MutationObserverFactory_Factory(t) { return new (t || MutationObserverFactory)(); };\nMutationObserverFactory.ɵprov = ɵɵdefineInjectable({ factory: function MutationObserverFactory_Factory() { return new MutationObserverFactory(); }, token: MutationObserverFactory, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MutationObserverFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = function ContentObserver_Factory(t) { return new (t || ContentObserver)(ɵngcc0.ɵɵinject(MutationObserverFactory)); };\nContentObserver.ɵprov = ɵɵdefineInjectable({ factory: function ContentObserver_Factory() { return new ContentObserver(ɵɵinject(MutationObserverFactory)); }, token: ContentObserver, providedIn: \"root\" });\nContentObserver.ctorParameters = () => [\n { type: MutationObserverFactory }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ContentObserver, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: MutationObserverFactory }]; }, null); })();\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() { return this._debounce; }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n var _a;\n (_a = this._currentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = function CdkObserveContent_Factory(t) { return new (t || CdkObserveContent)(ɵngcc0.ɵɵdirectiveInject(ContentObserver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkObserveContent.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkObserveContent, selectors: [[\"\", \"cdkObserveContent\", \"\"]], inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"] });\nCdkObserveContent.ctorParameters = () => [\n { type: ContentObserver },\n { type: ElementRef },\n { type: NgZone }\n];\nCdkObserveContent.propDecorators = {\n event: [{ type: Output, args: ['cdkObserveContent',] }],\n disabled: [{ type: Input, args: ['cdkObserveContentDisabled',] }],\n debounce: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkObserveContent, [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent'\n }]\n }], function () { return [{ type: ContentObserver }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] }); })();\nclass ObserversModule {\n}\nObserversModule.ɵfac = function ObserversModule_Factory(t) { return new (t || ObserversModule)(); };\nObserversModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ObserversModule });\nObserversModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ providers: [MutationObserverFactory] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ObserversModule, { declarations: [CdkObserveContent], exports: [CdkObserveContent] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ObserversModule, [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n\n//# sourceMappingURL=observers.js.map","import { ScrollDispatcher, ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/scrolling';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/cdk/bidi';\nimport * as ɵngcc4 from '@angular/common';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { DOCUMENT, Location } from '@angular/common';\nimport { ɵɵdefineInjectable, ɵɵinject, NgZone, Injectable, Inject, Optional, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { supportsScrollBehavior, Platform } from '@angular/cdk/platform';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\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 scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\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 * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\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/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\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// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\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 * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\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 * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = function ScrollStrategyOptions_Factory(t) { return new (t || ScrollStrategyOptions)(ɵngcc0.ɵɵinject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nScrollStrategyOptions.ɵprov = ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(ɵɵinject(ScrollDispatcher), ɵɵinject(ViewportRuler), ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: \"root\" });\nScrollStrategyOptions.ctorParameters = () => [\n { type: ScrollDispatcher },\n { type: ViewportRuler },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollStrategyOptions, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc1.ViewportRuler }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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\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/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of 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 this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\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 */\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\nConnectedOverlayPositionChange.ctorParameters = () => [\n { type: ConnectionPositionPair },\n { type: ScrollingVisibility, decorators: [{ type: Optional }] }\n];\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\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 * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = function BaseOverlayDispatcher_Factory(t) { return new (t || BaseOverlayDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nBaseOverlayDispatcher.ɵprov = ɵɵdefineInjectable({ factory: function BaseOverlayDispatcher_Factory() { return new BaseOverlayDispatcher(ɵɵinject(DOCUMENT)); }, token: BaseOverlayDispatcher, providedIn: \"root\" });\nBaseOverlayDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseOverlayDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document) {\n super(document);\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n overlays[i]._keydownEvents.next(event);\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n this._document.body.addEventListener('keydown', this._keydownListener);\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = function OverlayKeyboardDispatcher_Factory(t) { return new (t || OverlayKeyboardDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nOverlayKeyboardDispatcher.ɵprov = ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(ɵɵinject(DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: \"root\" });\nOverlayKeyboardDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayKeyboardDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform) {\n super(document);\n this._platform = _platform;\n this._cursorStyleIsSet = false;\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n // Get the target through the `composedPath` if possible to account for shadow DOM.\n const target = event.composedPath ? event.composedPath()[0] : event.target;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click dispatch the mouse event, and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target)) {\n break;\n }\n overlayRef._outsidePointerEvents.next(event);\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = function OverlayOutsideClickDispatcher_Factory(t) { return new (t || OverlayOutsideClickDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nOverlayOutsideClickDispatcher.ɵprov = ɵɵdefineInjectable({ factory: function OverlayOutsideClickDispatcher_Factory() { return new OverlayOutsideClickDispatcher(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); }, token: OverlayOutsideClickDispatcher, providedIn: \"root\" });\nOverlayOutsideClickDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayOutsideClickDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, 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/**\n * Whether we're in a testing environment.\n * TODO(crisbeto): remove this once we have an overlay testing module.\n */\nconst isTestEnvironment = typeof window !== 'undefined' && !!window &&\n !!(window.__karma__ || window.jasmine);\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n const container = this._containerElement;\n if (container && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n if (this._platform.isBrowser || isTestEnvironment) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].parentNode.removeChild(oppositePlatformContainers[i]);\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (isTestEnvironment) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = function OverlayContainer_Factory(t) { return new (t || OverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nOverlayContainer.ɵprov = ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); }, token: OverlayContainer, providedIn: \"root\" });\nOverlayContainer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, 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/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n let attachResult = this._portalOutlet.attach(portal);\n // Update the pane element with the given configuration.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable\n .pipe(take(1))\n .subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this.detachBackdrop();\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n if (this._host && this._host.parentNode) {\n this._host.parentNode.removeChild(this._host);\n this._host = null;\n }\n this._previousHostParent = this._pane = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = Object.assign(Object.assign({}, this._config), sizeConfig);\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = Object.assign(Object.assign({}, this._config), { direction: dir });\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n let backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n let timeoutId;\n let finishDetach = () => {\n // It may not be attached to anything in certain cases (e.g. unit tests).\n if (backdropToDetach) {\n backdropToDetach.removeEventListener('click', this._backdropClickHandler);\n backdropToDetach.removeEventListener('transitionend', finishDetach);\n if (backdropToDetach.parentNode) {\n backdropToDetach.parentNode.removeChild(backdropToDetach);\n }\n }\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement == backdropToDetach) {\n this._backdropElement = null;\n }\n if (this._config.backdropClass) {\n this._toggleClasses(backdropToDetach, this._config.backdropClass, false);\n }\n clearTimeout(timeoutId);\n };\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', finishDetach);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n timeoutId = this._ngZone.runOutsideAngular(() => setTimeout(finishDetach, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classList = element.classList;\n coerceArray(cssClasses).forEach(cssClass => {\n // We can't do a spread here, because IE doesn't support setting multiple classes.\n // Also trying to add an empty string to a DOMTokenList will throw.\n if (cssClass) {\n isAdd ? classList.add(cssClass) : classList.remove(cssClass);\n }\n });\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._previousHostParent.removeChild(this._host);\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\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 */\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin and the overlay to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos)\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (!this._isDisposed && (!this._platform || this._platform.isBrowser)) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n const lastPosition = this._lastPosition || this._preferredPositions[0];\n const originPoint = this._getOriginPoint(this._originRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + (originRect.width / 2);\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + (originRect.height / 2);\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = (x + overlay.width) - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = (y + overlay.height) - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: (overlay.width * overlay.height) === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlat at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically ||\n (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally ||\n (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param overlay Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? (viewport.left - scrollPosition.left) - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? (viewport.top - scrollPosition.top) - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - (previousHeight / 2);\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) ||\n (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) ||\n (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - (previousWidth / 2);\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n let virtualKeyboardOffset = this._overlayContainer.getContainerElement().getBoundingClientRect().top;\n // Normally this would be zero, however when the overlay is attached to an input (e.g. in an\n // autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n overlayPoint.y -= virtualKeyboardOffset;\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - (2 * this._viewportMargin),\n height: height - (2 * this._viewportMargin),\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return (!units || units === 'px') ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height)\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 strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative to some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n * @deprecated Use `FlexibleConnectedPositionStrategy` instead.\n * @breaking-change 8.0.0\n */\nclass ConnectedPositionStrategy {\n constructor(originPos, overlayPos, connectedTo, viewportRuler, document, platform, overlayContainer) {\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n // Since the `ConnectedPositionStrategy` is deprecated and we don't want to maintain\n // the extra logic, we create an instance of the positioning strategy that has some\n // defaults that make it behave as the old position strategy and to which we'll\n // proxy all of the API calls.\n this._positionStrategy = new FlexibleConnectedPositionStrategy(connectedTo, viewportRuler, document, platform, overlayContainer)\n .withFlexibleDimensions(false)\n .withPush(false)\n .withViewportMargin(0);\n this.withFallbackPosition(originPos, overlayPos);\n this.onPositionChange = this._positionStrategy.positionChanges;\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attach this position strategy to an overlay. */\n attach(overlayRef) {\n this._overlayRef = overlayRef;\n this._positionStrategy.attach(overlayRef);\n if (this._direction) {\n overlayRef.setDirection(this._direction);\n this._direction = null;\n }\n }\n /** Disposes all resources used by the position strategy. */\n dispose() {\n this._positionStrategy.dispose();\n }\n /** @docs-private */\n detach() {\n this._positionStrategy.detach();\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin fits on-screen.\n * @docs-private\n */\n apply() {\n this._positionStrategy.apply();\n }\n /**\n * Re-positions the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n recalculateLastPosition() {\n this._positionStrategy.reapplyLastPosition();\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._positionStrategy.withScrollableContainers(scrollables);\n }\n /**\n * Adds a new preferred fallback position.\n * @param originPos\n * @param overlayPos\n */\n withFallbackPosition(originPos, overlayPos, offsetX, offsetY) {\n const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n this._preferredPositions.push(position);\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n /**\n * Sets the layout direction so the overlay's position can be adjusted to match.\n * @param dir New layout direction.\n */\n withDirection(dir) {\n // Since the direction might be declared before the strategy is attached,\n // we save the value in a temporary property and we'll transfer it to the\n // overlay ref on attachment.\n if (this._overlayRef) {\n this._overlayRef.setDirection(dir);\n }\n else {\n this._direction = dir;\n }\n return this;\n }\n /**\n * Sets an offset for the overlay's connection point on the x-axis\n * @param offset New offset in the X axis.\n */\n withOffsetX(offset) {\n this._positionStrategy.withDefaultOffsetX(offset);\n return this;\n }\n /**\n * Sets an offset for the overlay's connection point on the y-axis\n * @param offset New offset in the Y axis.\n */\n withOffsetY(offset) {\n this._positionStrategy.withDefaultOffsetY(offset);\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked) {\n this._positionStrategy.withLockedPosition(isLocked);\n return this;\n }\n /**\n * Overwrites the current set of positions with an array of new ones.\n * @param positions Position pairs to be set on the strategy.\n */\n withPositions(positions) {\n this._preferredPositions = positions.slice();\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n /**\n * Sets the origin element, relative to which to position the overlay.\n * @param origin Reference to the new origin element.\n */\n setOrigin(origin) {\n this._positionStrategy.setOrigin(origin);\n return this;\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/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._leftOffset = '';\n this._rightOffset = '';\n this._alignItems = '';\n this._justifyContent = '';\n this._width = '';\n this._height = '';\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n }\n else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n }\n else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n }\n else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n }\n else {\n parentStyles.justifyContent = this._justifyContent;\n }\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop =\n styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = '';\n this._overlayRef = null;\n this._isDisposed = true;\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/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a relative position strategy.\n * @param elementRef\n * @param originPos\n * @param overlayPos\n * @deprecated Use `flexibleConnectedTo` instead.\n * @breaking-change 8.0.0\n */\n connectedTo(elementRef, originPos, overlayPos) {\n return new ConnectedPositionStrategy(originPos, overlayPos, elementRef, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = function OverlayPositionBuilder_Factory(t) { return new (t || OverlayPositionBuilder)(ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform), ɵngcc0.ɵɵinject(OverlayContainer)); };\nOverlayPositionBuilder.ɵprov = ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(ɵɵinject(ViewportRuler), ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: \"root\" });\nOverlayPositionBuilder.ctorParameters = () => [\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform },\n { type: OverlayContainer }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayPositionBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }, { type: OverlayContainer }]; }, 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/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = function Overlay_Factory(t) { return new (t || Overlay)(ɵngcc0.ɵɵinject(ScrollStrategyOptions), ɵngcc0.ɵɵinject(OverlayContainer), ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(OverlayPositionBuilder), ɵngcc0.ɵɵinject(OverlayKeyboardDispatcher), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc3.Directionality), ɵngcc0.ɵɵinject(ɵngcc4.Location), ɵngcc0.ɵɵinject(OverlayOutsideClickDispatcher)); };\nOverlay.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: Overlay, factory: Overlay.ɵfac });\nOverlay.ctorParameters = () => [\n { type: ScrollStrategyOptions },\n { type: OverlayContainer },\n { type: ComponentFactoryResolver },\n { type: OverlayPositionBuilder },\n { type: OverlayKeyboardDispatcher },\n { type: Injector },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Directionality },\n { type: Location },\n { type: OverlayOutsideClickDispatcher }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Overlay, [{\n type: Injectable\n }], function () { return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: ɵngcc0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: ɵngcc0.Injector }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc3.Directionality }, { type: ɵngcc4.Location }, { type: OverlayOutsideClickDispatcher }]; }, 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/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = function CdkOverlayOrigin_Factory(t) { return new (t || CdkOverlayOrigin)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkOverlayOrigin.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkOverlayOrigin, selectors: [[\"\", \"cdk-overlay-origin\", \"\"], [\"\", \"overlay-origin\", \"\"], [\"\", \"cdkOverlayOrigin\", \"\"]], exportAs: [\"cdkOverlayOrigin\"] });\nCdkOverlayOrigin.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkOverlayOrigin, [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() { return this._offsetX; }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() { return this._offsetY; }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() { return this._hasBackdrop; }\n set hasBackdrop(value) { this._hasBackdrop = coerceBooleanProperty(value); }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() { return this._lockPosition; }\n set lockPosition(value) { this._lockPosition = coerceBooleanProperty(value); }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() { return this._flexibleDimensions; }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() { return this._growAfterOpen; }\n set growAfterOpen(value) { this._growAfterOpen = coerceBooleanProperty(value); }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() { return this._push; }\n set push(value) { this._push = coerceBooleanProperty(value); }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig());\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = this._position =\n this.positionStrategy || this._createPositionStrategy();\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this.origin.elementRef)\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = function CdkConnectedOverlay_Factory(t) { return new (t || CdkConnectedOverlay)(ɵngcc0.ɵɵdirectiveInject(Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Directionality, 8)); };\nCdkConnectedOverlay.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkConnectedOverlay, selectors: [[\"\", \"cdk-connected-overlay\", \"\"], [\"\", \"connected-overlay\", \"\"], [\"\", \"cdkConnectedOverlay\", \"\"]], inputs: { viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkConnectedOverlay.ctorParameters = () => [\n { type: Overlay },\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] }\n];\nCdkConnectedOverlay.propDecorators = {\n origin: [{ type: Input, args: ['cdkConnectedOverlayOrigin',] }],\n positions: [{ type: Input, args: ['cdkConnectedOverlayPositions',] }],\n positionStrategy: [{ type: Input, args: ['cdkConnectedOverlayPositionStrategy',] }],\n offsetX: [{ type: Input, args: ['cdkConnectedOverlayOffsetX',] }],\n offsetY: [{ type: Input, args: ['cdkConnectedOverlayOffsetY',] }],\n width: [{ type: Input, args: ['cdkConnectedOverlayWidth',] }],\n height: [{ type: Input, args: ['cdkConnectedOverlayHeight',] }],\n minWidth: [{ type: Input, args: ['cdkConnectedOverlayMinWidth',] }],\n minHeight: [{ type: Input, args: ['cdkConnectedOverlayMinHeight',] }],\n backdropClass: [{ type: Input, args: ['cdkConnectedOverlayBackdropClass',] }],\n panelClass: [{ type: Input, args: ['cdkConnectedOverlayPanelClass',] }],\n viewportMargin: [{ type: Input, args: ['cdkConnectedOverlayViewportMargin',] }],\n scrollStrategy: [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy',] }],\n open: [{ type: Input, args: ['cdkConnectedOverlayOpen',] }],\n disableClose: [{ type: Input, args: ['cdkConnectedOverlayDisableClose',] }],\n transformOriginSelector: [{ type: Input, args: ['cdkConnectedOverlayTransformOriginOn',] }],\n hasBackdrop: [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop',] }],\n lockPosition: [{ type: Input, args: ['cdkConnectedOverlayLockPosition',] }],\n flexibleDimensions: [{ type: Input, args: ['cdkConnectedOverlayFlexibleDimensions',] }],\n growAfterOpen: [{ type: Input, args: ['cdkConnectedOverlayGrowAfterOpen',] }],\n push: [{ type: Input, args: ['cdkConnectedOverlayPush',] }],\n backdropClick: [{ type: Output }],\n positionChange: [{ type: Output }],\n attach: [{ type: Output }],\n detach: [{ type: Output }],\n overlayKeydown: [{ type: Output }],\n overlayOutsideClick: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkConnectedOverlay, [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay'\n }]\n }], function () { return [{ type: Overlay }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: ɵngcc3.Directionality, decorators: [{\n type: Optional\n }] }]; }, { viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }] }); })();\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\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 OverlayModule {\n}\nOverlayModule.ɵfac = function OverlayModule_Factory(t) { return new (t || OverlayModule)(); };\nOverlayModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: OverlayModule });\nOverlayModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ], imports: [[BidiModule, PortalModule, ScrollingModule], ScrollingModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(OverlayModule, { declarations: function () { return [CdkConnectedOverlay, CdkOverlayOrigin]; }, imports: function () { return [BidiModule, PortalModule, ScrollingModule]; }, exports: function () { return [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ]\n }]\n }], null, 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\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 * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return _document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null;\n }\n}\nFullscreenOverlayContainer.ɵfac = function FullscreenOverlayContainer_Factory(t) { return new (t || FullscreenOverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nFullscreenOverlayContainer.ɵprov = ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); }, token: FullscreenOverlayContainer, providedIn: \"root\" });\nFullscreenOverlayContainer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullscreenOverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectedPositionStrategy, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵangular_material_src_cdk_overlay_overlay_a, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵangular_material_src_cdk_overlay_overlay_b, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵangular_material_src_cdk_overlay_overlay_c, BaseOverlayDispatcher as ɵangular_material_src_cdk_overlay_overlay_d };\n\n//# sourceMappingURL=overlay.js.map","import { ɵɵdefineInjectable, ɵɵinject, PLATFORM_ID, Injectable, Inject, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\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// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nimport * as ɵngcc0 from '@angular/core';\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = (typeof Intl !== 'undefined' && Intl.v8BreakIterator);\n}\ncatch (_a) {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId ?\n isPlatformBrowser(this._platformId) : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser && (!!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&\n !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = function Platform_Factory(t) { return new (t || Platform)(ɵngcc0.ɵɵinject(PLATFORM_ID)); };\nPlatform.ɵprov = ɵɵdefineInjectable({ factory: function Platform_Factory() { return new Platform(ɵɵinject(PLATFORM_ID)); }, token: Platform, providedIn: \"root\" });\nPlatform.ctorParameters = () => [\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Platform, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, 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 */\nclass PlatformModule {\n}\nPlatformModule.ɵfac = function PlatformModule_Factory(t) { return new (t || PlatformModule)(); };\nPlatformModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: PlatformModule });\nPlatformModule.ɵinj = ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlatformModule, [{\n type: NgModule,\n args: [{}]\n }], null, 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/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\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/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => supportsPassiveEvents = true\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\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/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* NEGATED */ : 2 /* INVERTED */;\n }\n scrollContainer.parentNode.removeChild(scrollContainer);\n }\n return rtlScrollAxisType;\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 */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getShadowRoot, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n\n//# sourceMappingURL=platform.js.map","import { ElementRef, Directive, TemplateRef, ViewContainerRef, EventEmitter, ComponentFactoryResolver, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\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 * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\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 `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\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) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n get origin() {\n return this.templateRef.elementRef;\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, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\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 */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\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 }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\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 PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\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 this.attachDomPortal = (portal) => {\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 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 // 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 element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\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 this._document = _document;\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) {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\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(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\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 this._attachedPortal = portal;\n return componentRef;\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) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\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 // 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 this.setDisposeFn((() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\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 * 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 */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = function CdkPortal_Factory(t) { return new (t || CdkPortal)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nCdkPortal.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkPortal, selectors: [[\"\", \"cdkPortal\", \"\"]], exportAs: [\"cdkPortal\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkPortal.ctorParameters = () => [\n { type: TemplateRef },\n { type: ViewContainerRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkPortal, [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }]; }, null); })();\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = function TemplatePortalDirective_Factory(t) { return ɵTemplatePortalDirective_BaseFactory(t || TemplatePortalDirective); };\nTemplatePortalDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: TemplatePortalDirective, selectors: [[\"\", \"cdk-portal\", \"\"], [\"\", \"portal\", \"\"]], exportAs: [\"cdkPortal\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵTemplatePortalDirective_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(TemplatePortalDirective);\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TemplatePortalDirective, [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n }]\n }], null, null); })();\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 */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\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 this.attachDomPortal = (portal) => {\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 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 // 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 portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\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 if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\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) {\n portal.setAttachedHost(this);\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 const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\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.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\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) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\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);\n }\n}\nCdkPortalOutlet.ɵfac = function CdkPortalOutlet_Factory(t) { return new (t || CdkPortalOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkPortalOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkPortalOutlet, selectors: [[\"\", \"cdkPortalOutlet\", \"\"]], inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkPortalOutlet.ctorParameters = () => [\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkPortalOutlet.propDecorators = {\n attached: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkPortalOutlet, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n }]\n }], function () { return [{ type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { attached: [{\n type: Output\n }] }); })();\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = function PortalHostDirective_Factory(t) { return ɵPortalHostDirective_BaseFactory(t || PortalHostDirective); };\nPortalHostDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: PortalHostDirective, selectors: [[\"\", \"cdkPortalHost\", \"\"], [\"\", \"portalHost\", \"\"]], inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, exportAs: [\"cdkPortalHost\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵPortalHostDirective_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(PortalHostDirective);\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PortalHostDirective, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n }]\n }], null, null); })();\nclass PortalModule {\n}\nPortalModule.ɵfac = function PortalModule_Factory(t) { return new (t || PortalModule)(); };\nPortalModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: PortalModule });\nPortalModule.ɵinj = ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PortalModule, { declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PortalModule, [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective]\n }]\n }], null, 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/**\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 */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n\n//# sourceMappingURL=portal.js.map","import { coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';\nimport { InjectionToken, Directive, forwardRef, Input, ɵɵdefineInjectable, ɵɵinject, NgZone, Injectable, Optional, Inject, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Output, ViewChild, ViewContainerRef, TemplateRef, IterableDiffers, SkipSelf, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport { Platform, getRtlScrollAxisType, supportsScrollBehavior, PlatformModule } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\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/** The injection token used to specify the virtual scrolling strategy. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nimport * as ɵngcc3 from '@angular/cdk/collections';\n\nconst _c0 = [\"contentWrapper\"];\nconst _c1 = [\"*\"];\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\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/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() { }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() { }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = (this._itemSize > 0) ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() { return this._itemSize; }\n set itemSize(value) { this._itemSize = coerceNumberProperty(value); }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() { return this._minBufferPx; }\n set minBufferPx(value) { this._minBufferPx = coerceNumberProperty(value); }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() { return this._maxBufferPx; }\n set maxBufferPx(value) { this._maxBufferPx = coerceNumberProperty(value); }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = function CdkFixedSizeVirtualScroll_Factory(t) { return new (t || CdkFixedSizeVirtualScroll)(); };\nCdkFixedSizeVirtualScroll.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkFixedSizeVirtualScroll, selectors: [[\"cdk-virtual-scroll-viewport\", \"itemSize\", \"\"]], inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkFixedSizeVirtualScroll.propDecorators = {\n itemSize: [{ type: Input }],\n minBufferPx: [{ type: Input }],\n maxBufferPx: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFixedSizeVirtualScroll, [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]\n }]\n }], function () { return []; }, { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\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/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled()\n .subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0 ?\n this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :\n this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while (element = element.parentElement);\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = function ScrollDispatcher_Factory(t) { return new (t || ScrollDispatcher)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT, 8)); };\nScrollDispatcher.ɵprov = ɵɵdefineInjectable({ factory: function ScrollDispatcher_Factory() { return new ScrollDispatcher(ɵɵinject(NgZone), ɵɵinject(Platform), ɵɵinject(DOCUMENT, 8)); }, token: ScrollDispatcher, providedIn: \"root\" });\nScrollDispatcher.ctorParameters = () => [\n { type: NgZone },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = function CdkScrollable_Factory(t) { return new (t || CdkScrollable)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8)); };\nCdkScrollable.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkScrollable, selectors: [[\"\", \"cdk-scrollable\", \"\"], [\"\", \"cdkScrollable\", \"\"]] });\nCdkScrollable.ctorParameters = () => [\n { type: ElementRef },\n { type: ScrollDispatcher },\n { type: NgZone },\n { type: Directionality, decorators: [{ type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkScrollable, [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ScrollDispatcher }, { type: ɵngcc0.NgZone }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }]; }, 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/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // We don't need to keep track of the subscription,\n // because we complete the `change` stream on destroy.\n this.change().subscribe(() => this._updateViewportSize());\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top || document.body.scrollTop || window.scrollY ||\n documentElement.scrollTop || 0;\n const left = -documentRect.left || document.body.scrollLeft || window.scrollX ||\n documentElement.scrollLeft || 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser ?\n { width: window.innerWidth, height: window.innerHeight } :\n { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = function ViewportRuler_Factory(t) { return new (t || ViewportRuler)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT, 8)); };\nViewportRuler.ɵprov = ɵɵdefineInjectable({ factory: function ViewportRuler_Factory() { return new ViewportRuler(ɵɵinject(Platform), ɵɵinject(NgZone), ɵɵinject(DOCUMENT, 8)); }, token: ViewportRuler, providedIn: \"root\" });\nViewportRuler.ctorParameters = () => [\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ViewportRuler, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, 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/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n ngOnInit() {\n super.ngOnInit();\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n this._renderedRangeSubject.next(this._renderedRange = range);\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n return from ?\n super.measureScrollOffset(from) :\n super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize = this.orientation === 'horizontal' ?\n viewportEl.clientWidth : viewportEl.clientHeight;\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = function CdkVirtualScrollViewport_Factory(t) { return new (t || CdkVirtualScrollViewport)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(VIRTUAL_SCROLL_STRATEGY, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ViewportRuler)); };\nCdkVirtualScrollViewport.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkVirtualScrollViewport, selectors: [[\"cdk-virtual-scroll-viewport\"]], viewQuery: function CdkVirtualScrollViewport_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 3);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentWrapper = _t.first);\n } }, hostAttrs: [1, \"cdk-virtual-scroll-viewport\"], hostVars: 4, hostBindings: function CdkVirtualScrollViewport_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-virtual-scroll-orientation-horizontal\", ctx.orientation === \"horizontal\")(\"cdk-virtual-scroll-orientation-vertical\", ctx.orientation !== \"horizontal\");\n } }, inputs: { orientation: \"orientation\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport\n }]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 4, vars: 4, consts: [[1, \"cdk-virtual-scroll-content-wrapper\"], [\"contentWrapper\", \"\"], [1, \"cdk-virtual-scroll-spacer\"]], template: function CdkVirtualScrollViewport_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(3, \"div\", 2);\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx._totalContentWidth)(\"height\", ctx._totalContentHeight);\n } }, styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"], encapsulation: 2, changeDetection: 0 });\nCdkVirtualScrollViewport.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [VIRTUAL_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ScrollDispatcher },\n { type: ViewportRuler }\n];\nCdkVirtualScrollViewport.propDecorators = {\n orientation: [{ type: Input }],\n scrolledIndexChange: [{ type: Output }],\n _contentWrapper: [{ type: ViewChild, args: ['contentWrapper', { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkVirtualScrollViewport, [{\n type: Component,\n args: [{\n selector: 'cdk-virtual-scroll-viewport',\n template: \"\\n
\\n \\n
\\n\\n
\\n\",\n host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport\n }],\n styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }]; }, { scrolledIndexChange: [{\n type: Output\n }], orientation: [{\n type: Input\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\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/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges\n .pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn ?\n (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) :\n undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode ?\n getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode) : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), (record) => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = function CdkVirtualForOf_Factory(t) { return new (t || CdkVirtualForOf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), ɵngcc0.ɵɵdirectiveInject(CdkVirtualScrollViewport, 4), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkVirtualForOf.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkVirtualForOf, selectors: [[\"\", \"cdkVirtualFor\", \"\", \"cdkVirtualForOf\", \"\"]], inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ])] });\nCdkVirtualForOf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: _RecycleViewRepeaterStrategy, decorators: [{ type: Inject, args: [_VIEW_REPEATER_STRATEGY,] }] },\n { type: CdkVirtualScrollViewport, decorators: [{ type: SkipSelf }] },\n { type: NgZone }\n];\nCdkVirtualForOf.propDecorators = {\n cdkVirtualForOf: [{ type: Input }],\n cdkVirtualForTrackBy: [{ type: Input }],\n cdkVirtualForTemplate: [{ type: Input }],\n cdkVirtualForTemplateCacheSize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkVirtualForOf, [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ]\n }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: ɵngcc3._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: ɵngcc0.NgZone }]; }, { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\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 CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = function CdkScrollableModule_Factory(t) { return new (t || CdkScrollableModule)(); };\nCdkScrollableModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: CdkScrollableModule });\nCdkScrollableModule.ɵinj = ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkScrollableModule, { declarations: [CdkScrollable], exports: [CdkScrollable] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkScrollableModule, [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable]\n }]\n }], null, null); })();\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = function ScrollingModule_Factory(t) { return new (t || ScrollingModule)(); };\nScrollingModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ScrollingModule });\nScrollingModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ imports: [[\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ], BidiModule, CdkScrollableModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ScrollingModule, { declarations: function () { return [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport]; }, imports: function () { return [BidiModule,\n PlatformModule, CdkScrollableModule]; }, exports: function () { return [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollingModule, [{\n type: NgModule,\n args: [{\n imports: [\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ]\n }]\n }], null, 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\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 * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n\n//# sourceMappingURL=scrolling.js.map","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\nimport { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, TemplateRef, InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, forwardRef, Optional, ContentChild, ViewChild, Input, QueryList, EventEmitter, ChangeDetectorRef, ContentChildren, Output, HostListener, NgModule } from '@angular/core';\nimport { Subject, of } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\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 * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\n\nfunction CdkStep_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojection(0);\n} }\nconst _c0 = [\"*\"];\nclass CdkStepHeader {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\nCdkStepHeader.ɵfac = function CdkStepHeader_Factory(t) { return new (t || CdkStepHeader)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkStepHeader.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkStepHeader, selectors: [[\"\", \"cdkStepHeader\", \"\"]], hostAttrs: [\"role\", \"tab\"] });\nCdkStepHeader.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepHeader, [{\n type: Directive,\n args: [{\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, 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 */\nclass CdkStepLabel {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkStepLabel.ɵfac = function CdkStepLabel_Factory(t) { return new (t || CdkStepLabel)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkStepLabel.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkStepLabel, selectors: [[\"\", \"cdkStepLabel\", \"\"]] });\nCdkStepLabel.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepLabel, [{\n type: Directive,\n args: [{\n selector: '[cdkStepLabel]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, 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/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n/** Change event emitted on selection changes. */\nclass StepperSelectionEvent {\n}\n/** Enum to represent the different states of the steps. */\nconst STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error'\n};\n/** InjectionToken that can be used to specify the global stepper options. */\nconst STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');\n/**\n * InjectionToken that can be used to specify the global stepper options.\n * @deprecated Use `STEPPER_GLOBAL_OPTIONS` instead.\n * @breaking-change 8.0.0.\n */\nconst MAT_STEPPER_GLOBAL_OPTIONS = STEPPER_GLOBAL_OPTIONS;\nclass CdkStep {\n /** @breaking-change 8.0.0 remove the `?` after `stepperOptions` */\n constructor(_stepper, stepperOptions) {\n this._stepper = _stepper;\n /** Whether user has seen the expanded step content or not. */\n this.interacted = false;\n this._editable = true;\n this._optional = false;\n this._completedOverride = null;\n this._customError = null;\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n this._showError = !!this._stepperOptions.showError;\n }\n /** Whether the user can return to this step once it has been marked as completed. */\n get editable() {\n return this._editable;\n }\n set editable(value) {\n this._editable = coerceBooleanProperty(value);\n }\n /** Whether the completion of step is optional. */\n get optional() {\n return this._optional;\n }\n set optional(value) {\n this._optional = coerceBooleanProperty(value);\n }\n /** Whether step is marked as completed. */\n get completed() {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n /** Whether step has an error. */\n get hasError() {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value) {\n this._customError = coerceBooleanProperty(value);\n }\n _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n /** Selects this step component. */\n select() {\n this._stepper.selected = this;\n }\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset() {\n this.interacted = false;\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n if (this._customError != null) {\n this._customError = false;\n }\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n}\nCdkStep.ɵfac = function CdkStep_Factory(t) { return new (t || CdkStep)(ɵngcc0.ɵɵdirectiveInject(forwardRef(() => CdkStepper)), ɵngcc0.ɵɵdirectiveInject(STEPPER_GLOBAL_OPTIONS, 8)); };\nCdkStep.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkStep, selectors: [[\"cdk-step\"]], contentQueries: function CdkStep_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkStepLabel, 1);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.stepLabel = _t.first);\n } }, viewQuery: function CdkStep_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(TemplateRef, 3);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.content = _t.first);\n } }, inputs: { editable: \"editable\", optional: \"optional\", completed: \"completed\", hasError: \"hasError\", stepControl: \"stepControl\", label: \"label\", errorMessage: \"errorMessage\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], state: \"state\" }, exportAs: [\"cdkStep\"], features: [ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function CdkStep_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, CdkStep_ng_template_0_Template, 1, 0, \"ng-template\");\n } }, encapsulation: 2, changeDetection: 0 });\nCdkStep.ctorParameters = () => [\n { type: CdkStepper, decorators: [{ type: Inject, args: [forwardRef(() => CdkStepper),] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [STEPPER_GLOBAL_OPTIONS,] }] }\n];\nCdkStep.propDecorators = {\n stepLabel: [{ type: ContentChild, args: [CdkStepLabel,] }],\n content: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],\n stepControl: [{ type: Input }],\n label: [{ type: Input }],\n errorMessage: [{ type: Input }],\n ariaLabel: [{ type: Input, args: ['aria-label',] }],\n ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],\n state: [{ type: Input }],\n editable: [{ type: Input }],\n optional: [{ type: Input }],\n completed: [{ type: Input }],\n hasError: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStep, [{\n type: Component,\n args: [{\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: CdkStepper, decorators: [{\n type: Inject,\n args: [forwardRef(() => CdkStepper)]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [STEPPER_GLOBAL_OPTIONS]\n }] }]; }, { editable: [{\n type: Input\n }], optional: [{\n type: Input\n }], completed: [{\n type: Input\n }], hasError: [{\n type: Input\n }], stepLabel: [{\n type: ContentChild,\n args: [CdkStepLabel]\n }], content: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], stepControl: [{\n type: Input\n }], label: [{\n type: Input\n }], errorMessage: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], state: [{\n type: Input\n }] }); })();\nclass CdkStepper {\n constructor(_dir, _changeDetectorRef, \n // @breaking-change 8.0.0 `_elementRef` and `_document` parameters to become required.\n _elementRef, _document) {\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n this.steps = new QueryList();\n this._linear = false;\n this._selectedIndex = 0;\n /** Event emitted when the selected step has changed. */\n this.selectionChange = new EventEmitter();\n this._orientation = 'horizontal';\n this._groupId = nextId++;\n this._document = _document;\n }\n /** Whether the validity of previous steps should be checked or not. */\n get linear() {\n return this._linear;\n }\n set linear(value) {\n this._linear = coerceBooleanProperty(value);\n }\n /** The index of the selected step. */\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index) {\n const newIndex = coerceNumberProperty(index);\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(index) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n const selectedStep = this.selected;\n if (selectedStep) {\n // TODO: this should really be called something like `visited` instead. Just because\n // the user has seen the step doesn't guarantee that they've interacted with it.\n selectedStep.interacted = true;\n }\n if (this._selectedIndex !== newIndex && !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(index);\n }\n }\n else {\n this._selectedIndex = newIndex;\n }\n }\n /** The step that is selected. */\n get selected() {\n // @breaking-change 8.0.0 Change return type to `CdkStep | undefined`.\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step) {\n this.selectedIndex = this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n ngAfterViewInit() {\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager(this._stepHeader)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n (this._dir ? this._dir.change : of())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n this._keyManager.updateActiveItem(this._selectedIndex);\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n ngOnDestroy() {\n this.steps.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Selects and focuses the next step in list. */\n next() {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n /** Selects and focuses the previous step in list. */\n previous() {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset() {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i) {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n /** Returns unique id for each step content element. */\n _getStepContentId(i) {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index) {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n }\n else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index, state = STEP_STATE.NUMBER) {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :\n this._getGuidelineLogic(step, isCurrentStep, state);\n }\n _getDefaultIndicatorLogic(step, isCurrentStep) {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n }\n else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n _getGuidelineLogic(step, isCurrentStep, state = STEP_STATE.NUMBER) {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n }\n else if (step.completed && isCurrentStep) {\n return state;\n }\n else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n }\n else {\n return state;\n }\n }\n _isCurrentStep(index) {\n return this._selectedIndex === index;\n }\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n _updateSelectedItemIndex(newIndex) {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :\n this._keyManager.updateActiveItem(newIndex);\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n _onKeydown(event) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n if (manager.activeItemIndex != null && !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n }\n else {\n manager.onKeydown(event);\n }\n }\n _anyControlsInvalidOrPending(index) {\n if (this._linear && index >= 0) {\n return this.steps.toArray().slice(0, index).some(step => {\n const control = step.stepControl;\n const isIncomplete = control ? (control.invalid || control.pending || !step.interacted) : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n return false;\n }\n _layoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Checks whether the stepper contains the focused element. */\n _containsFocus() {\n if (!this._document || !this._elementRef) {\n return false;\n }\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = this._document.activeElement;\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n /** Checks whether the passed-in index is a valid step index. */\n _isValidIndex(index) {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n}\nCdkStepper.ɵfac = function CdkStepper_Factory(t) { return new (t || CdkStepper)(ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkStepper.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkStepper, selectors: [[\"\", \"cdkStepper\", \"\"]], contentQueries: function CdkStepper_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkStep, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkStepHeader, 1);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._steps = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._stepHeader = _t);\n } }, inputs: { linear: \"linear\", selectedIndex: \"selectedIndex\", selected: \"selected\" }, outputs: { selectionChange: \"selectionChange\" }, exportAs: [\"cdkStepper\"] });\nCdkStepper.ctorParameters = () => [\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkStepper.propDecorators = {\n _steps: [{ type: ContentChildren, args: [CdkStep, { descendants: true },] }],\n _stepHeader: [{ type: ContentChildren, args: [CdkStepHeader, { descendants: true },] }],\n linear: [{ type: Input }],\n selectedIndex: [{ type: Input }],\n selected: [{ type: Input }],\n selectionChange: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepper, [{\n type: Directive,\n args: [{\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper'\n }]\n }], function () { return [{ type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { selectionChange: [{\n type: Output\n }], linear: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], selected: [{\n type: Input\n }], _steps: [{\n type: ContentChildren,\n args: [CdkStep, { descendants: true }]\n }], _stepHeader: [{\n type: ContentChildren,\n args: [CdkStepHeader, { descendants: true }]\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/** Button that moves to the next step in a stepper workflow. */\nclass CdkStepperNext {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n this.type = 'submit';\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick() {\n this._stepper.next();\n }\n}\nCdkStepperNext.ɵfac = function CdkStepperNext_Factory(t) { return new (t || CdkStepperNext)(ɵngcc0.ɵɵdirectiveInject(CdkStepper)); };\nCdkStepperNext.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkStepperNext, selectors: [[\"button\", \"cdkStepperNext\", \"\"]], hostVars: 1, hostBindings: function CdkStepperNext_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CdkStepperNext_click_HostBindingHandler() { return ctx._handleClick(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"type\", ctx.type);\n } }, inputs: { type: \"type\" } });\nCdkStepperNext.ctorParameters = () => [\n { type: CdkStepper }\n];\nCdkStepperNext.propDecorators = {\n type: [{ type: Input }],\n _handleClick: [{ type: HostListener, args: ['click',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepperNext, [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type'\n }\n }]\n }], function () { return [{ type: CdkStepper }]; }, { type: [{\n type: Input\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick: [{\n type: HostListener,\n args: ['click']\n }] }); })();\n/** Button that moves to the previous step in a stepper workflow. */\nclass CdkStepperPrevious {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n this.type = 'button';\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick() {\n this._stepper.previous();\n }\n}\nCdkStepperPrevious.ɵfac = function CdkStepperPrevious_Factory(t) { return new (t || CdkStepperPrevious)(ɵngcc0.ɵɵdirectiveInject(CdkStepper)); };\nCdkStepperPrevious.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkStepperPrevious, selectors: [[\"button\", \"cdkStepperPrevious\", \"\"]], hostVars: 1, hostBindings: function CdkStepperPrevious_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CdkStepperPrevious_click_HostBindingHandler() { return ctx._handleClick(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"type\", ctx.type);\n } }, inputs: { type: \"type\" } });\nCdkStepperPrevious.ctorParameters = () => [\n { type: CdkStepper }\n];\nCdkStepperPrevious.propDecorators = {\n type: [{ type: Input }],\n _handleClick: [{ type: HostListener, args: ['click',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepperPrevious, [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type'\n }\n }]\n }], function () { return [{ type: CdkStepper }]; }, { type: [{\n type: Input\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick: [{\n type: HostListener,\n args: ['click']\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 CdkStepperModule {\n}\nCdkStepperModule.ɵfac = function CdkStepperModule_Factory(t) { return new (t || CdkStepperModule)(); };\nCdkStepperModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: CdkStepperModule });\nCdkStepperModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ imports: [[BidiModule]] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkStepperModule, { declarations: function () { return [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]; }, imports: function () { return [BidiModule]; }, exports: function () { return [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepperModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule],\n exports: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkStep, CdkStepHeader, CdkStepLabel, CdkStepper, CdkStepperModule, CdkStepperNext, CdkStepperPrevious, MAT_STEPPER_GLOBAL_OPTIONS, STEPPER_GLOBAL_OPTIONS, STEP_STATE, StepperSelectionEvent };\n\n//# sourceMappingURL=stepper.js.map","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { isDataSource, _VIEW_REPEATER_STRATEGY, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/cdk/scrolling';\n\nconst _c0 = [[[\"caption\"]], [[\"colgroup\"], [\"col\"]]];\nconst _c1 = [\"caption\", \"colgroup, col\"];\nfunction CdkTextColumn_th_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"th\", 3);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r0.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r0.headerText, \" \");\n} }\nfunction CdkTextColumn_td_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"td\", 4);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const data_r2 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r1.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.dataAccessor(data_r2, ctx_r1.name), \" \");\n} }\nexport { DataSource } from '@angular/cdk/collections';\nimport { Platform } from '@angular/cdk/platform';\nimport { ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport { InjectionToken, Directive, TemplateRef, Inject, Optional, Input, ContentChild, ElementRef, Injectable, NgZone, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, EmbeddedViewRef, ChangeDetectorRef, Attribute, SkipSelf, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { Subject, from, BehaviorSubject, isObservable, of } from 'rxjs';\nimport { takeUntil, take } from 'rxjs/operators';\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 * Mixin to provide a directive with a function that checks if the sticky input has been\n * changed since the last time the function was called. Essentially adds a dirty-check to the\n * sticky value.\n * @docs-private\n */\nfunction mixinHasStickyInput(base) {\n return class extends base {\n constructor(...args) {\n super(...args);\n this._sticky = false;\n /** Whether the sticky input has changed since it was last checked. */\n this._hasStickyChanged = false;\n }\n /** Whether sticky positioning should be applied. */\n get sticky() { return this._sticky; }\n set sticky(v) {\n const prevValue = this._sticky;\n this._sticky = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._sticky;\n }\n /** Whether the sticky value has changed since this was last called. */\n hasStickyChanged() {\n const hasStickyChanged = this._hasStickyChanged;\n this._hasStickyChanged = false;\n return hasStickyChanged;\n }\n /** Resets the dirty check for cases where the sticky state has been used without checking. */\n resetStickyChanged() {\n this._hasStickyChanged = false;\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 */\n/**\n * Used to provide a table to some of the sub-components without causing a circular dependency.\n * @docs-private\n */\nconst CDK_TABLE = new InjectionToken('CDK_TABLE');\n/** Injection token that can be used to specify the text column options. */\nconst TEXT_COLUMN_OPTIONS = new InjectionToken('text-column-options');\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 * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\nclass CdkCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkCellDef.ɵfac = function CdkCellDef_Factory(t) { return new (t || CdkCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkCellDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkCellDef, selectors: [[\"\", \"cdkCellDef\", \"\"]] });\nCdkCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\nclass CdkHeaderCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkHeaderCellDef.ɵfac = function CdkHeaderCellDef_Factory(t) { return new (t || CdkHeaderCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkHeaderCellDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderCellDef, selectors: [[\"\", \"cdkHeaderCellDef\", \"\"]] });\nCdkHeaderCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkHeaderCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/**\n * Footer cell definition for a CDK table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\nclass CdkFooterCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkFooterCellDef.ɵfac = function CdkFooterCellDef_Factory(t) { return new (t || CdkFooterCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkFooterCellDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkFooterCellDef, selectors: [[\"\", \"cdkFooterCellDef\", \"\"]] });\nCdkFooterCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkFooterCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n// Boilerplate for applying mixins to CdkColumnDef.\n/** @docs-private */\nclass CdkColumnDefBase {\n}\nconst _CdkColumnDefBase = mixinHasStickyInput(CdkColumnDefBase);\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\nclass CdkColumnDef extends _CdkColumnDefBase {\n constructor(_table) {\n super();\n this._table = _table;\n this._stickyEnd = false;\n }\n /** Unique name for this column. */\n get name() { return this._name; }\n set name(name) { this._setNameInput(name); }\n /**\n * Whether this column should be sticky positioned on the end of the row. Should make sure\n * that it mimics the `CanStick` mixin such that `_hasStickyChanged` is set to true if the value\n * has been changed.\n */\n get stickyEnd() {\n return this._stickyEnd;\n }\n set stickyEnd(v) {\n const prevValue = this._stickyEnd;\n this._stickyEnd = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._stickyEnd;\n }\n /**\n * Overridable method that sets the css classes that will be added to every cell in this\n * column.\n * In the future, columnCssClassName will change from type string[] to string and this\n * will set a single string value.\n * @docs-private\n */\n _updateColumnCssClassName() {\n this._columnCssClassName = [`cdk-column-${this.cssClassFriendlyName}`];\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setNameInput(value) {\n // If the directive is set without a name (updated programmatically), then this setter will\n // trigger with an empty string and should not overwrite the programmatically set value.\n if (value) {\n this._name = value;\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/ig, '-');\n this._updateColumnCssClassName();\n }\n }\n}\nCdkColumnDef.ɵfac = function CdkColumnDef_Factory(t) { return new (t || CdkColumnDef)(ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkColumnDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkColumnDef, selectors: [[\"\", \"cdkColumnDef\", \"\"]], contentQueries: function CdkColumnDef_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkCellDef, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkHeaderCellDef, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkFooterCellDef, 1);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.cell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerCell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.footerCell = _t.first);\n } }, inputs: { sticky: \"sticky\", name: [\"cdkColumnDef\", \"name\"], stickyEnd: \"stickyEnd\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkColumnDef.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\nCdkColumnDef.propDecorators = {\n name: [{ type: Input, args: ['cdkColumnDef',] }],\n stickyEnd: [{ type: Input, args: ['stickyEnd',] }],\n cell: [{ type: ContentChild, args: [CdkCellDef,] }],\n headerCell: [{ type: ContentChild, args: [CdkHeaderCellDef,] }],\n footerCell: [{ type: ContentChild, args: [CdkFooterCellDef,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkColumnDef, [{\n type: Directive,\n args: [{\n selector: '[cdkColumnDef]',\n inputs: ['sticky'],\n providers: [{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }]\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, { name: [{\n type: Input,\n args: ['cdkColumnDef']\n }], stickyEnd: [{\n type: Input,\n args: ['stickyEnd']\n }], cell: [{\n type: ContentChild,\n args: [CdkCellDef]\n }], headerCell: [{\n type: ContentChild,\n args: [CdkHeaderCellDef]\n }], footerCell: [{\n type: ContentChild,\n args: [CdkFooterCellDef]\n }] }); })();\n/** Base class for the cells. Adds a CSS classname that identifies the column it renders in. */\nclass BaseCdkCell {\n constructor(columnDef, elementRef) {\n // If IE 11 is dropped before we switch to setting a single class name, change to multi param\n // with destructuring.\n const classList = elementRef.nativeElement.classList;\n for (const className of columnDef._columnCssClassName) {\n classList.add(className);\n }\n }\n}\n/** Header cell template container that adds the right classes and role. */\nclass CdkHeaderCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n super(columnDef, elementRef);\n }\n}\nCdkHeaderCell.ɵfac = function CdkHeaderCell_Factory(t) { return new (t || CdkHeaderCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkHeaderCell.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderCell, selectors: [[\"cdk-header-cell\"], [\"th\", \"cdk-header-cell\", \"\"]], hostAttrs: [\"role\", \"columnheader\", 1, \"cdk-header-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkHeaderCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-header-cell, th[cdk-header-cell]',\n host: {\n 'class': 'cdk-header-cell',\n 'role': 'columnheader'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/** Footer cell template container that adds the right classes and role. */\nclass CdkFooterCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n super(columnDef, elementRef);\n }\n}\nCdkFooterCell.ɵfac = function CdkFooterCell_Factory(t) { return new (t || CdkFooterCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkFooterCell.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkFooterCell, selectors: [[\"cdk-footer-cell\"], [\"td\", \"cdk-footer-cell\", \"\"]], hostAttrs: [\"role\", \"gridcell\", 1, \"cdk-footer-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkFooterCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-footer-cell, td[cdk-footer-cell]',\n host: {\n 'class': 'cdk-footer-cell',\n 'role': 'gridcell'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/** Cell template container that adds the right classes and role. */\nclass CdkCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n super(columnDef, elementRef);\n }\n}\nCdkCell.ɵfac = function CdkCell_Factory(t) { return new (t || CdkCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkCell.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkCell, selectors: [[\"cdk-cell\"], [\"td\", \"cdk-cell\", \"\"]], hostAttrs: [\"role\", \"gridcell\", 1, \"cdk-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-cell, td[cdk-cell]',\n host: {\n 'class': 'cdk-cell',\n 'role': 'gridcell'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, 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/**\n * @docs-private\n */\nclass _Schedule {\n constructor() {\n this.tasks = [];\n this.endTasks = [];\n }\n}\n/** Injection token used to provide a coalesced style scheduler. */\nconst _COALESCED_STYLE_SCHEDULER = new InjectionToken('_COALESCED_STYLE_SCHEDULER');\n/**\n * Allows grouping up CSSDom mutations after the current execution context.\n * This can significantly improve performance when separate consecutive functions are\n * reading from the CSSDom and then mutating it.\n *\n * @docs-private\n */\nclass _CoalescedStyleScheduler {\n constructor(_ngZone) {\n this._ngZone = _ngZone;\n this._currentSchedule = null;\n this._destroyed = new Subject();\n }\n /**\n * Schedules the specified task to run at the end of the current VM turn.\n */\n schedule(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.tasks.push(task);\n }\n /**\n * Schedules the specified task to run after other scheduled tasks at the end of the current\n * VM turn.\n */\n scheduleEnd(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.endTasks.push(task);\n }\n /** Prevent any further tasks from running. */\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n _createScheduleIfNeeded() {\n if (this._currentSchedule) {\n return;\n }\n this._currentSchedule = new _Schedule();\n this._getScheduleObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {\n while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {\n const schedule = this._currentSchedule;\n // Capture new tasks scheduled by the current set of tasks.\n this._currentSchedule = new _Schedule();\n for (const task of schedule.tasks) {\n task();\n }\n for (const task of schedule.endTasks) {\n task();\n }\n }\n this._currentSchedule = null;\n });\n }\n _getScheduleObservable() {\n // Use onStable when in the context of an ongoing change detection cycle so that we\n // do not accidentally trigger additional cycles.\n return this._ngZone.isStable ?\n from(Promise.resolve(undefined)) :\n this._ngZone.onStable.pipe(take(1));\n }\n}\n_CoalescedStyleScheduler.ɵfac = function _CoalescedStyleScheduler_Factory(t) { return new (t || _CoalescedStyleScheduler)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\n_CoalescedStyleScheduler.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: _CoalescedStyleScheduler, factory: _CoalescedStyleScheduler.ɵfac });\n_CoalescedStyleScheduler.ctorParameters = () => [\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_CoalescedStyleScheduler, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, 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/**\n * The row template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nconst CDK_ROW_TEMPLATE = ``;\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n */\nclass BaseRowDef {\n constructor(\n /** @docs-private */ template, _differs) {\n this.template = template;\n this._differs = _differs;\n }\n ngOnChanges(changes) {\n // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n // of the columns property or an empty array if none is provided.\n if (!this._columnsDiffer) {\n const columns = (changes['columns'] && changes['columns'].currentValue) || [];\n this._columnsDiffer = this._differs.find(columns).create();\n this._columnsDiffer.diff(columns);\n }\n }\n /**\n * Returns the difference between the current columns and the columns from the last diff, or null\n * if there is no difference.\n */\n getColumnsDiff() {\n return this._columnsDiffer.diff(this.columns);\n }\n /** Gets this row def's relevant cell template from the provided column def. */\n extractCellTemplate(column) {\n if (this instanceof CdkHeaderRowDef) {\n return column.headerCell.template;\n }\n if (this instanceof CdkFooterRowDef) {\n return column.footerCell.template;\n }\n else {\n return column.cell.template;\n }\n }\n}\nBaseRowDef.ɵfac = function BaseRowDef_Factory(t) { return new (t || BaseRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers)); };\nBaseRowDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: BaseRowDef, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nBaseRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseRowDef, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }]; }, null); })();\n// Boilerplate for applying mixins to CdkHeaderRowDef.\n/** @docs-private */\nclass CdkHeaderRowDefBase extends BaseRowDef {\n}\nconst _CdkHeaderRowDefBase = mixinHasStickyInput(CdkHeaderRowDefBase);\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\nclass CdkHeaderRowDef extends _CdkHeaderRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkHeaderRowDef.ɵfac = function CdkHeaderRowDef_Factory(t) { return new (t || CdkHeaderRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkHeaderRowDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderRowDef, selectors: [[\"\", \"cdkHeaderRowDef\", \"\"]], inputs: { columns: [\"cdkHeaderRowDef\", \"columns\"], sticky: [\"cdkHeaderRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkHeaderRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkHeaderRowDef]',\n inputs: ['columns: cdkHeaderRowDef', 'sticky: cdkHeaderRowDefSticky']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n// Boilerplate for applying mixins to CdkFooterRowDef.\n/** @docs-private */\nclass CdkFooterRowDefBase extends BaseRowDef {\n}\nconst _CdkFooterRowDefBase = mixinHasStickyInput(CdkFooterRowDefBase);\n/**\n * Footer row definition for the CDK table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\nclass CdkFooterRowDef extends _CdkFooterRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkFooterRowDef.ɵfac = function CdkFooterRowDef_Factory(t) { return new (t || CdkFooterRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkFooterRowDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkFooterRowDef, selectors: [[\"\", \"cdkFooterRowDef\", \"\"]], inputs: { columns: [\"cdkFooterRowDef\", \"columns\"], sticky: [\"cdkFooterRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkFooterRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkFooterRowDef]',\n inputs: ['columns: cdkFooterRowDef', 'sticky: cdkFooterRowDefSticky']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\nclass CdkRowDef extends BaseRowDef {\n // TODO(andrewseguin): Add an input for providing a switch function to determine\n // if this template should be used.\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n}\nCdkRowDef.ɵfac = function CdkRowDef_Factory(t) { return new (t || CdkRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkRowDef.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkRowDef, selectors: [[\"\", \"cdkRowDef\", \"\"]], inputs: { columns: [\"cdkRowDefColumns\", \"columns\"], when: [\"cdkRowDefWhen\", \"when\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkRowDef]',\n inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n/**\n * Outlet for rendering cells inside of a row or header row.\n * @docs-private\n */\nclass CdkCellOutlet {\n constructor(_viewContainer) {\n this._viewContainer = _viewContainer;\n CdkCellOutlet.mostRecentCellOutlet = this;\n }\n ngOnDestroy() {\n // If this was the last outlet being rendered in the view, remove the reference\n // from the static property after it has been destroyed to avoid leaking memory.\n if (CdkCellOutlet.mostRecentCellOutlet === this) {\n CdkCellOutlet.mostRecentCellOutlet = null;\n }\n }\n}\nCdkCellOutlet.ɵfac = function CdkCellOutlet_Factory(t) { return new (t || CdkCellOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nCdkCellOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkCellOutlet, selectors: [[\"\", \"cdkCellOutlet\", \"\"]] });\n/**\n * Static property containing the latest constructed instance of this class.\n * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n * createEmbeddedView. After one of these components are created, this property will provide\n * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n * construct the cells with the provided context.\n */\nCdkCellOutlet.mostRecentCellOutlet = null;\nCdkCellOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCellOutlet, [{\n type: Directive,\n args: [{ selector: '[cdkCellOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, null); })();\n/** Header template container that contains the cell outlet. Adds the right class and role. */\nclass CdkHeaderRow {\n}\nCdkHeaderRow.ɵfac = function CdkHeaderRow_Factory(t) { return new (t || CdkHeaderRow)(); };\nCdkHeaderRow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkHeaderRow, selectors: [[\"cdk-header-row\"], [\"tr\", \"cdk-header-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-header-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkHeaderRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderRow, [{\n type: Component,\n args: [{\n selector: 'cdk-header-row, tr[cdk-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-header-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\nclass CdkFooterRow {\n}\nCdkFooterRow.ɵfac = function CdkFooterRow_Factory(t) { return new (t || CdkFooterRow)(); };\nCdkFooterRow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkFooterRow, selectors: [[\"cdk-footer-row\"], [\"tr\", \"cdk-footer-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-footer-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkFooterRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterRow, [{\n type: Component,\n args: [{\n selector: 'cdk-footer-row, tr[cdk-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-footer-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\nclass CdkRow {\n}\nCdkRow.ɵfac = function CdkRow_Factory(t) { return new (t || CdkRow)(); };\nCdkRow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkRow, selectors: [[\"cdk-row\"], [\"tr\", \"cdk-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRow, [{\n type: Component,\n args: [{\n selector: 'cdk-row, tr[cdk-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Row that can be used to display a message when no data is shown in the table. */\nclass CdkNoDataRow {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkNoDataRow.ɵfac = function CdkNoDataRow_Factory(t) { return new (t || CdkNoDataRow)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkNoDataRow.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkNoDataRow, selectors: [[\"ng-template\", \"cdkNoDataRow\", \"\"]] });\nCdkNoDataRow.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkNoDataRow, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkNoDataRow]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, 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/**\n * List of all possible directions that can be used for sticky positioning.\n * @docs-private\n */\nconst STICKY_DIRECTIONS = ['top', 'bottom', 'left', 'right'];\n/**\n * Applies and removes sticky positioning styles to the `CdkTable` rows and columns cells.\n * @docs-private\n */\nclass StickyStyler {\n /**\n * @param _isNativeHtmlTable Whether the sticky logic should be based on a table\n * that uses the native `` element.\n * @param _stickCellCss The CSS class that will be applied to every row/cell that has\n * sticky positioning applied.\n * @param direction The directionality context of the table (ltr/rtl); affects column positioning\n * by reversing left/right positions.\n * @param _isBrowser Whether the table is currently being rendered on the server or the client.\n * @param _needsPositionStickyOnElement Whether we need to specify position: sticky on cells\n * using inline styles. If false, it is assumed that position: sticky is included in\n * the component stylesheet for _stickCellCss.\n * @param _positionListener A listener that is notified of changes to sticky rows/columns\n * and their dimensions.\n */\n constructor(_isNativeHtmlTable, _stickCellCss, direction, \n /**\n * @deprecated `_coalescedStyleScheduler` parameter to become required.\n * @breaking-change 11.0.0\n */\n _coalescedStyleScheduler, _isBrowser = true, _needsPositionStickyOnElement = true, _positionListener) {\n this._isNativeHtmlTable = _isNativeHtmlTable;\n this._stickCellCss = _stickCellCss;\n this.direction = direction;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._isBrowser = _isBrowser;\n this._needsPositionStickyOnElement = _needsPositionStickyOnElement;\n this._positionListener = _positionListener;\n this._cachedCellWidths = [];\n this._borderCellCss = {\n 'top': `${_stickCellCss}-border-elem-top`,\n 'bottom': `${_stickCellCss}-border-elem-bottom`,\n 'left': `${_stickCellCss}-border-elem-left`,\n 'right': `${_stickCellCss}-border-elem-right`,\n };\n }\n /**\n * Clears the sticky positioning styles from the row and its cells by resetting the `position`\n * style, setting the zIndex to 0, and unsetting each provided sticky direction.\n * @param rows The list of rows that should be cleared from sticking in the provided directions\n * @param stickyDirections The directions that should no longer be set as sticky on the rows.\n */\n clearStickyPositioning(rows, stickyDirections) {\n const elementsToClear = [];\n for (const row of rows) {\n // If the row isn't an element (e.g. if it's an `ng-container`),\n // it won't have inline styles or `children` so we skip it.\n if (row.nodeType !== row.ELEMENT_NODE) {\n continue;\n }\n elementsToClear.push(row);\n for (let i = 0; i < row.children.length; i++) {\n elementsToClear.push(row.children[i]);\n }\n }\n // Coalesce with sticky row/column updates (and potentially other changes like column resize).\n this._scheduleStyleChanges(() => {\n for (const element of elementsToClear) {\n this._removeStickyStyle(element, stickyDirections);\n }\n });\n }\n /**\n * Applies sticky left and right positions to the cells of each row according to the sticky\n * states of the rendered column definitions.\n * @param rows The rows that should have its set of cells stuck according to the sticky states.\n * @param stickyStartStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the start of the row.\n * @param stickyEndStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the end of the row.\n * @param recalculateCellWidths Whether the sticky styler should recalculate the width of each\n * column cell. If `false` cached widths will be used instead.\n */\n updateStickyColumns(rows, stickyStartStates, stickyEndStates, recalculateCellWidths = true) {\n if (!rows.length || !this._isBrowser || !(stickyStartStates.some(state => state) ||\n stickyEndStates.some(state => state))) {\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({ sizes: [] });\n this._positionListener.stickyEndColumnsUpdated({ sizes: [] });\n }\n return;\n }\n const firstRow = rows[0];\n const numCells = firstRow.children.length;\n const cellWidths = this._getCellWidths(firstRow, recalculateCellWidths);\n const startPositions = this._getStickyStartColumnPositions(cellWidths, stickyStartStates);\n const endPositions = this._getStickyEndColumnPositions(cellWidths, stickyEndStates);\n const lastStickyStart = stickyStartStates.lastIndexOf(true);\n const firstStickyEnd = stickyEndStates.indexOf(true);\n // Coalesce with sticky row updates (and potentially other changes like column resize).\n this._scheduleStyleChanges(() => {\n const isRtl = this.direction === 'rtl';\n const start = isRtl ? 'right' : 'left';\n const end = isRtl ? 'left' : 'right';\n for (const row of rows) {\n for (let i = 0; i < numCells; i++) {\n const cell = row.children[i];\n if (stickyStartStates[i]) {\n this._addStickyStyle(cell, start, startPositions[i], i === lastStickyStart);\n }\n if (stickyEndStates[i]) {\n this._addStickyStyle(cell, end, endPositions[i], i === firstStickyEnd);\n }\n }\n }\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({\n sizes: lastStickyStart === -1 ?\n [] :\n cellWidths\n .slice(0, lastStickyStart + 1)\n .map((width, index) => stickyStartStates[index] ? width : null)\n });\n this._positionListener.stickyEndColumnsUpdated({\n sizes: firstStickyEnd === -1 ?\n [] :\n cellWidths\n .slice(firstStickyEnd)\n .map((width, index) => stickyEndStates[index + firstStickyEnd] ? width : null)\n .reverse()\n });\n }\n });\n }\n /**\n * Applies sticky positioning to the row's cells if using the native table layout, and to the\n * row itself otherwise.\n * @param rowsToStick The list of rows that should be stuck according to their corresponding\n * sticky state and to the provided top or bottom position.\n * @param stickyStates A list of boolean states where each state represents whether the row\n * should be stuck in the particular top or bottom position.\n * @param position The position direction in which the row should be stuck if that row should be\n * sticky.\n *\n */\n stickRows(rowsToStick, stickyStates, position) {\n // Since we can't measure the rows on the server, we can't stick the rows properly.\n if (!this._isBrowser) {\n return;\n }\n // If positioning the rows to the bottom, reverse their order when evaluating the sticky\n // position such that the last row stuck will be \"bottom: 0px\" and so on. Note that the\n // sticky states need to be reversed as well.\n const rows = position === 'bottom' ? rowsToStick.slice().reverse() : rowsToStick;\n const states = position === 'bottom' ? stickyStates.slice().reverse() : stickyStates;\n // Measure row heights all at once before adding sticky styles to reduce layout thrashing.\n const stickyOffsets = [];\n const stickyCellHeights = [];\n const elementsToStick = [];\n for (let rowIndex = 0, stickyOffset = 0; rowIndex < rows.length; rowIndex++) {\n stickyOffsets[rowIndex] = stickyOffset;\n if (!states[rowIndex]) {\n continue;\n }\n const row = rows[rowIndex];\n elementsToStick[rowIndex] = this._isNativeHtmlTable ?\n Array.from(row.children) : [row];\n const height = row.getBoundingClientRect().height;\n stickyOffset += height;\n stickyCellHeights[rowIndex] = height;\n }\n const borderedRowIndex = states.lastIndexOf(true);\n // Coalesce with other sticky row updates (top/bottom), sticky columns updates\n // (and potentially other changes like column resize).\n this._scheduleStyleChanges(() => {\n var _a, _b;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n const offset = stickyOffsets[rowIndex];\n const isBorderedRowIndex = rowIndex === borderedRowIndex;\n for (const element of elementsToStick[rowIndex]) {\n this._addStickyStyle(element, position, offset, isBorderedRowIndex);\n }\n }\n if (position === 'top') {\n (_a = this._positionListener) === null || _a === void 0 ? void 0 : _a.stickyHeaderRowsUpdated({ sizes: stickyCellHeights, elements: elementsToStick });\n }\n else {\n (_b = this._positionListener) === null || _b === void 0 ? void 0 : _b.stickyFooterRowsUpdated({ sizes: stickyCellHeights, elements: elementsToStick });\n }\n });\n }\n /**\n * When using the native table in Safari, sticky footer cells do not stick. The only way to stick\n * footer rows is to apply sticky styling to the tfoot container. This should only be done if\n * all footer rows are sticky. If not all footer rows are sticky, remove sticky positioning from\n * the tfoot element.\n */\n updateStickyFooterContainer(tableElement, stickyStates) {\n if (!this._isNativeHtmlTable) {\n return;\n }\n const tfoot = tableElement.querySelector('tfoot');\n // Coalesce with other sticky updates (and potentially other changes like column resize).\n this._scheduleStyleChanges(() => {\n if (stickyStates.some(state => !state)) {\n this._removeStickyStyle(tfoot, ['bottom']);\n }\n else {\n this._addStickyStyle(tfoot, 'bottom', 0, false);\n }\n });\n }\n /**\n * Removes the sticky style on the element by removing the sticky cell CSS class, re-evaluating\n * the zIndex, removing each of the provided sticky directions, and removing the\n * sticky position if there are no more directions.\n */\n _removeStickyStyle(element, stickyDirections) {\n for (const dir of stickyDirections) {\n element.style[dir] = '';\n element.classList.remove(this._borderCellCss[dir]);\n }\n // If the element no longer has any more sticky directions, remove sticky positioning and\n // the sticky CSS class.\n // Short-circuit checking element.style[dir] for stickyDirections as they\n // were already removed above.\n const hasDirection = STICKY_DIRECTIONS.some(dir => stickyDirections.indexOf(dir) === -1 && element.style[dir]);\n if (hasDirection) {\n element.style.zIndex = this._getCalculatedZIndex(element);\n }\n else {\n // When not hasDirection, _getCalculatedZIndex will always return ''.\n element.style.zIndex = '';\n if (this._needsPositionStickyOnElement) {\n element.style.position = '';\n }\n element.classList.remove(this._stickCellCss);\n }\n }\n /**\n * Adds the sticky styling to the element by adding the sticky style class, changing position\n * to be sticky (and -webkit-sticky), setting the appropriate zIndex, and adding a sticky\n * direction and value.\n */\n _addStickyStyle(element, dir, dirValue, isBorderElement) {\n element.classList.add(this._stickCellCss);\n if (isBorderElement) {\n element.classList.add(this._borderCellCss[dir]);\n }\n element.style[dir] = `${dirValue}px`;\n element.style.zIndex = this._getCalculatedZIndex(element);\n if (this._needsPositionStickyOnElement) {\n element.style.cssText += 'position: -webkit-sticky; position: sticky; ';\n }\n }\n /**\n * Calculate what the z-index should be for the element, depending on what directions (top,\n * bottom, left, right) have been set. It should be true that elements with a top direction\n * should have the highest index since these are elements like a table header. If any of those\n * elements are also sticky in another direction, then they should appear above other elements\n * that are only sticky top (e.g. a sticky column on a sticky header). Bottom-sticky elements\n * (e.g. footer rows) should then be next in the ordering such that they are below the header\n * but above any non-sticky elements. Finally, left/right sticky elements (e.g. sticky columns)\n * should minimally increment so that they are above non-sticky elements but below top and bottom\n * elements.\n */\n _getCalculatedZIndex(element) {\n const zIndexIncrements = {\n top: 100,\n bottom: 10,\n left: 1,\n right: 1,\n };\n let zIndex = 0;\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n for (const dir of STICKY_DIRECTIONS) {\n if (element.style[dir]) {\n zIndex += zIndexIncrements[dir];\n }\n }\n return zIndex ? `${zIndex}` : '';\n }\n /** Gets the widths for each cell in the provided row. */\n _getCellWidths(row, recalculateCellWidths = true) {\n if (!recalculateCellWidths && this._cachedCellWidths.length) {\n return this._cachedCellWidths;\n }\n const cellWidths = [];\n const firstRowCells = row.children;\n for (let i = 0; i < firstRowCells.length; i++) {\n let cell = firstRowCells[i];\n cellWidths.push(cell.getBoundingClientRect().width);\n }\n this._cachedCellWidths = cellWidths;\n return cellWidths;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyStartColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = 0; i < widths.length; i++) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyEndColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = widths.length; i > 0; i--) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n /**\n * Schedules styles to be applied when the style scheduler deems appropriate.\n * @breaking-change 11.0.0 This method can be removed in favor of calling\n * `CoalescedStyleScheduler.schedule` directly once the scheduler is a required parameter.\n */\n _scheduleStyleChanges(changes) {\n if (this._coalescedStyleScheduler) {\n this._coalescedStyleScheduler.schedule(changes);\n }\n else {\n changes();\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 */\n/**\n * Returns an error to be thrown when attempting to find an unexisting column.\n * @param id Id whose lookup failed.\n * @docs-private\n */\nfunction getTableUnknownColumnError(id) {\n return Error(`Could not find column with id \"${id}\".`);\n}\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * @docs-private\n */\nfunction getTableDuplicateColumnNameError(name) {\n return Error(`Duplicate column definition name provided: \"${name}\".`);\n}\n/**\n * Returns an error to be thrown when there are multiple rows that are missing a when function.\n * @docs-private\n */\nfunction getTableMultipleDefaultRowDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching row defs for a particular set of data.\n * @docs-private\n */\nfunction getTableMissingMatchingRowDefError(data) {\n return Error(`Could not find a matching row definition for the` +\n `provided row data: ${JSON.stringify(data)}`);\n}\n/**\n * Returns an error to be thrown when there is no row definitions present in the content.\n * @docs-private\n */\nfunction getTableMissingRowDefsError() {\n return Error('Missing definitions for header, footer, and row; ' +\n 'cannot determine which columns should be rendered.');\n}\n/**\n * Returns an error to be thrown when the data source does not match the compatible types.\n * @docs-private\n */\nfunction getTableUnknownDataSourceError() {\n return Error(`Provided data source did not match an array, Observable, or DataSource`);\n}\n/**\n * Returns an error to be thrown when the text column cannot find a parent table to inject.\n * @docs-private\n */\nfunction getTableTextColumnMissingParentTableError() {\n return Error(`Text column could not find a parent table for registration.`);\n}\n/**\n * Returns an error to be thrown when a table text column doesn't have a name.\n * @docs-private\n */\nfunction getTableTextColumnMissingNameError() {\n return Error(`Table text column must have a name.`);\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/** The injection token used to specify the StickyPositioningListener. */\nconst STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');\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 * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * @docs-private\n */\nclass DataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nDataRowOutlet.ɵfac = function DataRowOutlet_Factory(t) { return new (t || DataRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nDataRowOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: DataRowOutlet, selectors: [[\"\", \"rowOutlet\", \"\"]] });\nDataRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DataRowOutlet, [{\n type: Directive,\n args: [{ selector: '[rowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the header.\n * @docs-private\n */\nclass HeaderRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nHeaderRowOutlet.ɵfac = function HeaderRowOutlet_Factory(t) { return new (t || HeaderRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nHeaderRowOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: HeaderRowOutlet, selectors: [[\"\", \"headerRowOutlet\", \"\"]] });\nHeaderRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeaderRowOutlet, [{\n type: Directive,\n args: [{ selector: '[headerRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the footer.\n * @docs-private\n */\nclass FooterRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nFooterRowOutlet.ɵfac = function FooterRowOutlet_Factory(t) { return new (t || FooterRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFooterRowOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FooterRowOutlet, selectors: [[\"\", \"footerRowOutlet\", \"\"]] });\nFooterRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FooterRowOutlet, [{\n type: Directive,\n args: [{ selector: '[footerRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view\n * container's ng-container to insert the no data row.\n * @docs-private\n */\nclass NoDataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nNoDataRowOutlet.ɵfac = function NoDataRowOutlet_Factory(t) { return new (t || NoDataRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNoDataRowOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NoDataRowOutlet, selectors: [[\"\", \"noDataRowOutlet\", \"\"]] });\nNoDataRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoDataRowOutlet, [{\n type: Directive,\n args: [{ selector: '[noDataRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * The table template that can be used by the mat-table. Should not be used outside of the\n * material library.\n * @docs-private\n */\nconst CDK_TABLE_TEMPLATE = \n// Note that according to MDN, the `caption` element has to be projected as the **first**\n// element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption\n`\n \n \n \n \n \n \n`;\n/**\n * Class used to conveniently type the embedded view ref for rows with a context.\n * @docs-private\n */\nclass RowViewRef extends EmbeddedViewRef {\n}\n/**\n * A data table that can render a header row, data rows, and a footer row.\n * Uses the dataSource input to determine the data to be rendered. The data can be provided either\n * as a data array, an Observable stream that emits the data array to render, or a DataSource with a\n * connect function that will return an Observable stream that emits the data array to render.\n */\nclass CdkTable {\n constructor(_differs, _changeDetectorRef, _elementRef, role, _dir, _document, _platform, \n /**\n * @deprecated `_coalescedStyleScheduler`, `_viewRepeater` and `_viewportRuler`\n * parameters to become required.\n * @breaking-change 11.0.0\n */\n _viewRepeater, _coalescedStyleScheduler, _stickyPositioningListener, \n // Optional for backwards compatibility. The viewport ruler is provided in root. Therefore,\n // this property will never be null.\n // tslint:disable-next-line: lightweight-tokens\n _viewportRuler) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._dir = _dir;\n this._platform = _platform;\n this._viewRepeater = _viewRepeater;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._stickyPositioningListener = _stickyPositioningListener;\n this._viewportRuler = _viewportRuler;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /**\n * Map of all the user's defined columns (header, data, and footer cell template) identified by\n * name. Collection populated by the column definitions gathered by `ContentChildren` as well as\n * any custom column definitions added to `_customColumnDefs`.\n */\n this._columnDefsByName = new Map();\n /**\n * Column definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * column definitions as *its* content child.\n */\n this._customColumnDefs = new Set();\n /**\n * Data row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in data rows as *its* content child.\n */\n this._customRowDefs = new Set();\n /**\n * Header row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in header rows as *its* content child.\n */\n this._customHeaderRowDefs = new Set();\n /**\n * Footer row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has a\n * built-in footer row as *its* content child.\n */\n this._customFooterRowDefs = new Set();\n /**\n * Whether the header row definition has been changed. Triggers an update to the header row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._headerRowDefChanged = true;\n /**\n * Whether the footer row definition has been changed. Triggers an update to the footer row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._footerRowDefChanged = true;\n /**\n * Whether the sticky column styles need to be updated. Set to `true` when the visible columns\n * change.\n */\n this._stickyColumnStylesNeedReset = true;\n /**\n * Whether the sticky styler should recalculate cell widths when applying sticky styles. If\n * `false`, cached values will be used instead. This is only applicable to tables with\n * {@link fixedLayout} enabled. For other tables, cell widths will always be recalculated.\n */\n this._forceRecalculateCellWidths = true;\n /**\n * Cache of the latest rendered `RenderRow` objects as a map for easy retrieval when constructing\n * a new list of `RenderRow` objects for rendering rows. Since the new list is constructed with\n * the cached `RenderRow` objects when possible, the row identity is preserved when the data\n * and row template matches, which allows the `IterableDiffer` to check rows by reference\n * and understand which rows are added/moved/removed.\n *\n * Implemented as a map of maps where the first key is the `data: T` object and the second is the\n * `CdkRowDef` object. With the two keys, the cache points to a `RenderRow` object that\n * contains an array of created pairs. The array is necessary to handle cases where the data\n * array contains multiple duplicate data objects and each instantiated `RenderRow` must be\n * stored.\n */\n this._cachedRenderRowsMap = new Map();\n /**\n * CSS class added to any row or cell that has sticky positioning applied. May be overriden by\n * table subclasses.\n */\n this.stickyCssClass = 'cdk-table-sticky';\n /**\n * Whether to manually add positon: sticky to all sticky cell elements. Not needed if\n * the position is set in a selector associated with the value of stickyCssClass. May be\n * overridden by table subclasses\n */\n this.needsPositionStickyOnElement = true;\n /** Whether the no data row is currently showing anything. */\n this._isShowingNoDataRow = false;\n this._multiTemplateDataRows = false;\n this._fixedLayout = false;\n // TODO(andrewseguin): Remove max value as the end index\n // and instead calculate the view on init and scroll.\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n *\n * @docs-private\n */\n this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });\n if (!role) {\n this._elementRef.nativeElement.setAttribute('role', 'grid');\n }\n this._document = _document;\n this._isNativeHtmlTable = this._elementRef.nativeElement.nodeName === 'TABLE';\n }\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n * relative to the function to know if a row should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n get trackBy() {\n return this._trackByFn;\n }\n set trackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n }\n this._trackByFn = fn;\n }\n /**\n * The table's source of data, which can be provided in three ways (in order of complexity):\n * - Simple data array (each object represents one table row)\n * - Stream that emits a data array each time the array changes\n * - `DataSource` object that implements the connect/disconnect interface.\n *\n * If a data array is provided, the table must be notified when the array's objects are\n * added, removed, or moved. This can be done by calling the `renderRows()` function which will\n * render the diff since the last table render. If the data array reference is changed, the table\n * will automatically trigger an update to the rows.\n *\n * When providing an Observable stream, the table will trigger an update automatically when the\n * stream emits a new array of data.\n *\n * Finally, when providing a `DataSource` object, the table will use the Observable stream\n * provided by the connect function and trigger updates when that stream emits new data array\n * values. During the table's ngOnDestroy or when the data source is removed from the table, the\n * table will call the DataSource's `disconnect` function (may be useful for cleaning up any\n * subscriptions registered during the connect process).\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n /**\n * Whether to allow multiple rows per data object by evaluating which rows evaluate their 'when'\n * predicate to true. If `multiTemplateDataRows` is false, which is the default value, then each\n * dataobject will render the first row that evaluates its when predicate to true, in the order\n * defined in the table, or otherwise the default row which does not have a when predicate.\n */\n get multiTemplateDataRows() {\n return this._multiTemplateDataRows;\n }\n set multiTemplateDataRows(v) {\n this._multiTemplateDataRows = coerceBooleanProperty(v);\n // In Ivy if this value is set via a static attribute (e.g.
),\n // this setter will be invoked before the row outlet has been defined hence the null check.\n if (this._rowOutlet && this._rowOutlet.viewContainer.length) {\n this._forceRenderDataRows();\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Whether to use a fixed table layout. Enabling this option will enforce consistent column widths\n * and optimize rendering sticky styles for native tables. No-op for flex tables.\n */\n get fixedLayout() {\n return this._fixedLayout;\n }\n set fixedLayout(v) {\n this._fixedLayout = coerceBooleanProperty(v);\n // Toggling `fixedLayout` may change column widths. Sticky column styles should be recalculated.\n this._forceRecalculateCellWidths = true;\n this._stickyColumnStylesNeedReset = true;\n }\n ngOnInit() {\n this._setupStickyStyler();\n if (this._isNativeHtmlTable) {\n this._applyNativeTableSections();\n }\n // Set up the trackBy function so that it uses the `RenderRow` as its identity by default. If\n // the user has provided a custom trackBy, return the result of that function as evaluated\n // with the values of the `RenderRow`'s data and index.\n this._dataDiffer = this._differs.find([]).create((_i, dataRow) => {\n return this.trackBy ? this.trackBy(dataRow.dataIndex, dataRow.data) : dataRow;\n });\n // Table cell dimensions may change after resizing the window. Signal the sticky styler to\n // refresh its cache of cell widths the next time sticky styles are updated.\n // @breaking-change 11.0.0 Remove null check for _viewportRuler once it's a required parameter.\n if (this._viewportRuler) {\n this._viewportRuler.change().pipe(takeUntil(this._onDestroy)).subscribe(() => {\n this._forceRecalculateCellWidths = true;\n });\n }\n }\n ngAfterContentChecked() {\n // Cache the row and column definitions gathered by ContentChildren and programmatic injection.\n this._cacheRowDefs();\n this._cacheColumnDefs();\n // Make sure that the user has at least added header, footer, or data row def.\n if (!this._headerRowDefs.length && !this._footerRowDefs.length && !this._rowDefs.length &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingRowDefsError();\n }\n // Render updates if the list of columns have been changed for the header, row, or footer defs.\n const columnsChanged = this._renderUpdatedColumns();\n const rowDefsChanged = columnsChanged || this._headerRowDefChanged || this._footerRowDefChanged;\n // Ensure sticky column styles are reset if set to `true` elsewhere.\n this._stickyColumnStylesNeedReset = this._stickyColumnStylesNeedReset || rowDefsChanged;\n this._forceRecalculateCellWidths = rowDefsChanged;\n // If the header row definition has been changed, trigger a render to the header row.\n if (this._headerRowDefChanged) {\n this._forceRenderHeaderRows();\n this._headerRowDefChanged = false;\n }\n // If the footer row definition has been changed, trigger a render to the footer row.\n if (this._footerRowDefChanged) {\n this._forceRenderFooterRows();\n this._footerRowDefChanged = false;\n }\n // If there is a data source and row definitions, connect to the data source unless a\n // connection has already been made.\n if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n else if (this._stickyColumnStylesNeedReset) {\n // In the above case, _observeRenderChanges will result in updateStickyColumnStyles being\n // called when it row data arrives. Otherwise, we need to call it proactively.\n this.updateStickyColumnStyles();\n }\n this._checkStickyStates();\n }\n ngOnDestroy() {\n this._rowOutlet.viewContainer.clear();\n this._noDataRowOutlet.viewContainer.clear();\n this._headerRowOutlet.viewContainer.clear();\n this._footerRowOutlet.viewContainer.clear();\n this._cachedRenderRowsMap.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n }\n /**\n * Renders rows based on the table's latest set of data, which was either provided directly as an\n * input or retrieved through an Observable stream (directly or from a DataSource).\n * Checks for differences in the data since the last diff to perform only the necessary\n * changes (add/remove/move rows).\n *\n * If the table's data source is a DataSource or Observable, this will be invoked automatically\n * each time the provided Observable stream emits a new data array. Otherwise if your data is\n * an array, this function will need to be called to render any changes.\n */\n renderRows() {\n this._renderRows = this._getAllRenderRows();\n const changes = this._dataDiffer.diff(this._renderRows);\n if (!changes) {\n this._updateNoDataRow();\n return;\n }\n const viewContainer = this._rowOutlet.viewContainer;\n // @breaking-change 11.0.0 Remove null check for `_viewRepeater` and the\n // `else` clause once `_viewRepeater` is turned into a required parameter.\n if (this._viewRepeater) {\n this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), (record) => record.item.data, (change) => {\n if (change.operation === 1 /* INSERTED */ && change.context) {\n this._renderCellTemplateForItem(change.record.item.rowDef, change.context);\n }\n });\n }\n else {\n changes.forEachOperation((record, prevIndex, currentIndex) => {\n if (record.previousIndex == null) {\n const renderRow = record.item;\n const rowDef = renderRow.rowDef;\n const context = { $implicit: renderRow.data };\n this._renderRow(this._rowOutlet, rowDef, currentIndex, context);\n }\n else if (currentIndex == null) {\n viewContainer.remove(prevIndex);\n }\n else {\n const view = viewContainer.get(prevIndex);\n viewContainer.move(view, currentIndex);\n }\n });\n }\n // Update the meta context of a row's context data (index, count, first, last, ...)\n this._updateRowIndexContext();\n // Update rows that did not get added/removed/moved but may have had their identity changed,\n // e.g. if trackBy matched data on some property but the actual data reference changed.\n changes.forEachIdentityChange((record) => {\n const rowView = viewContainer.get(record.currentIndex);\n rowView.context.$implicit = record.item.data;\n });\n this._updateNoDataRow();\n this.updateStickyColumnStyles();\n }\n /** Adds a column definition that was not included as part of the content children. */\n addColumnDef(columnDef) {\n this._customColumnDefs.add(columnDef);\n }\n /** Removes a column definition that was not included as part of the content children. */\n removeColumnDef(columnDef) {\n this._customColumnDefs.delete(columnDef);\n }\n /** Adds a row definition that was not included as part of the content children. */\n addRowDef(rowDef) {\n this._customRowDefs.add(rowDef);\n }\n /** Removes a row definition that was not included as part of the content children. */\n removeRowDef(rowDef) {\n this._customRowDefs.delete(rowDef);\n }\n /** Adds a header row definition that was not included as part of the content children. */\n addHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.add(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Removes a header row definition that was not included as part of the content children. */\n removeHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.delete(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Adds a footer row definition that was not included as part of the content children. */\n addFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.add(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Removes a footer row definition that was not included as part of the content children. */\n removeFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.delete(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Sets a no data row definition that was not included as a part of the content children. */\n setNoDataRow(noDataRow) {\n this._customNoDataRow = noDataRow;\n }\n /**\n * Updates the header sticky styles. First resets all applied styles with respect to the cells\n * sticking to the top. Then, evaluating which cells need to be stuck to the top. This is\n * automatically called when the header row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyHeaderRowStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the thead element if there are no header rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const thead = tableElement.querySelector('thead');\n if (thead) {\n thead.style.display = headerRows.length ? '' : 'none';\n }\n const stickyStates = this._headerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(headerRows, ['top']);\n this._stickyStyler.stickRows(headerRows, stickyStates, 'top');\n // Reset the dirty state of the sticky input change since it has been used.\n this._headerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the footer sticky styles. First resets all applied styles with respect to the cells\n * sticking to the bottom. Then, evaluating which cells need to be stuck to the bottom. This is\n * automatically called when the footer row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyFooterRowStyles() {\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the tfoot element if there are no footer rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const tfoot = tableElement.querySelector('tfoot');\n if (tfoot) {\n tfoot.style.display = footerRows.length ? '' : 'none';\n }\n const stickyStates = this._footerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(footerRows, ['bottom']);\n this._stickyStyler.stickRows(footerRows, stickyStates, 'bottom');\n this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement, stickyStates);\n // Reset the dirty state of the sticky input change since it has been used.\n this._footerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the column sticky styles. First resets all applied styles with respect to the cells\n * sticking to the left and right. Then sticky styles are added for the left and right according\n * to the column definitions for each cell in each row. This is automatically called when\n * the data source provides a new set of data or when a column definition changes its sticky\n * input. May be called manually for cases where the cell content changes outside of these events.\n */\n updateStickyColumnStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const dataRows = this._getRenderedRows(this._rowOutlet);\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n // For tables not using a fixed layout, the column widths may change when new rows are rendered.\n // In a table using a fixed layout, row content won't affect column width, so sticky styles\n // don't need to be cleared unless either the sticky column config changes or one of the row\n // defs change.\n if ((this._isNativeHtmlTable && !this._fixedLayout)\n || this._stickyColumnStylesNeedReset) {\n // Clear the left and right positioning from all columns in the table across all rows since\n // sticky columns span across all table sections (header, data, footer)\n this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);\n this._stickyColumnStylesNeedReset = false;\n }\n // Update the sticky styles for each header row depending on the def's sticky state\n headerRows.forEach((headerRow, i) => {\n this._addStickyColumnStyles([headerRow], this._headerRowDefs[i]);\n });\n // Update the sticky styles for each data row depending on its def's sticky state\n this._rowDefs.forEach(rowDef => {\n // Collect all the rows rendered with this row definition.\n const rows = [];\n for (let i = 0; i < dataRows.length; i++) {\n if (this._renderRows[i].rowDef === rowDef) {\n rows.push(dataRows[i]);\n }\n }\n this._addStickyColumnStyles(rows, rowDef);\n });\n // Update the sticky styles for each footer row depending on the def's sticky state\n footerRows.forEach((footerRow, i) => {\n this._addStickyColumnStyles([footerRow], this._footerRowDefs[i]);\n });\n // Reset the dirty state of the sticky input change since it has been used.\n Array.from(this._columnDefsByName.values()).forEach(def => def.resetStickyChanged());\n }\n /**\n * Get the list of RenderRow objects to render according to the current list of data and defined\n * row definitions. If the previous list already contained a particular pair, it should be reused\n * so that the differ equates their references.\n */\n _getAllRenderRows() {\n const renderRows = [];\n // Store the cache and create a new one. Any re-used RenderRow objects will be moved into the\n // new cache while unused ones can be picked up by garbage collection.\n const prevCachedRenderRows = this._cachedRenderRowsMap;\n this._cachedRenderRowsMap = new Map();\n // For each data object, get the list of rows that should be rendered, represented by the\n // respective `RenderRow` object which is the pair of `data` and `CdkRowDef`.\n for (let i = 0; i < this._data.length; i++) {\n let data = this._data[i];\n const renderRowsForData = this._getRenderRowsForData(data, i, prevCachedRenderRows.get(data));\n if (!this._cachedRenderRowsMap.has(data)) {\n this._cachedRenderRowsMap.set(data, new WeakMap());\n }\n for (let j = 0; j < renderRowsForData.length; j++) {\n let renderRow = renderRowsForData[j];\n const cache = this._cachedRenderRowsMap.get(renderRow.data);\n if (cache.has(renderRow.rowDef)) {\n cache.get(renderRow.rowDef).push(renderRow);\n }\n else {\n cache.set(renderRow.rowDef, [renderRow]);\n }\n renderRows.push(renderRow);\n }\n }\n return renderRows;\n }\n /**\n * Gets a list of `RenderRow` for the provided data object and any `CdkRowDef` objects that\n * should be rendered for this data. Reuses the cached RenderRow objects if they match the same\n * `(T, CdkRowDef)` pair.\n */\n _getRenderRowsForData(data, dataIndex, cache) {\n const rowDefs = this._getRowDefs(data, dataIndex);\n return rowDefs.map(rowDef => {\n const cachedRenderRows = (cache && cache.has(rowDef)) ? cache.get(rowDef) : [];\n if (cachedRenderRows.length) {\n const dataRow = cachedRenderRows.shift();\n dataRow.dataIndex = dataIndex;\n return dataRow;\n }\n else {\n return { data, rowDef, dataIndex };\n }\n });\n }\n /** Update the map containing the content's column definitions. */\n _cacheColumnDefs() {\n this._columnDefsByName.clear();\n const columnDefs = mergeArrayAndSet(this._getOwnDefs(this._contentColumnDefs), this._customColumnDefs);\n columnDefs.forEach(columnDef => {\n if (this._columnDefsByName.has(columnDef.name) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableDuplicateColumnNameError(columnDef.name);\n }\n this._columnDefsByName.set(columnDef.name, columnDef);\n });\n }\n /** Update the list of all available row definitions that can be used. */\n _cacheRowDefs() {\n this._headerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentHeaderRowDefs), this._customHeaderRowDefs);\n this._footerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentFooterRowDefs), this._customFooterRowDefs);\n this._rowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentRowDefs), this._customRowDefs);\n // After all row definitions are determined, find the row definition to be considered default.\n const defaultRowDefs = this._rowDefs.filter(def => !def.when);\n if (!this.multiTemplateDataRows && defaultRowDefs.length > 1 &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMultipleDefaultRowDefsError();\n }\n this._defaultRowDef = defaultRowDefs[0];\n }\n /**\n * Check if the header, data, or footer rows have changed what columns they want to display or\n * whether the sticky states have changed for the header or footer. If there is a diff, then\n * re-render that section.\n */\n _renderUpdatedColumns() {\n const columnsDiffReducer = (acc, def) => acc || !!def.getColumnsDiff();\n // Force re-render data rows if the list of column definitions have changed.\n const dataColumnsChanged = this._rowDefs.reduce(columnsDiffReducer, false);\n if (dataColumnsChanged) {\n this._forceRenderDataRows();\n }\n // Force re-render header/footer rows if the list of column definitions have changed.\n const headerColumnsChanged = this._headerRowDefs.reduce(columnsDiffReducer, false);\n if (headerColumnsChanged) {\n this._forceRenderHeaderRows();\n }\n const footerColumnsChanged = this._footerRowDefs.reduce(columnsDiffReducer, false);\n if (footerColumnsChanged) {\n this._forceRenderFooterRows();\n }\n return dataColumnsChanged || headerColumnsChanged || footerColumnsChanged;\n }\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the row outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n this._data = [];\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n // Stop listening for data from the previous data source.\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n if (!dataSource) {\n if (this._dataDiffer) {\n this._dataDiffer.diff([]);\n }\n this._rowOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n // If no data source has been set, there is nothing to observe for changes.\n if (!this.dataSource) {\n return;\n }\n let dataStream;\n if (isDataSource(this.dataSource)) {\n dataStream = this.dataSource.connect(this);\n }\n else if (isObservable(this.dataSource)) {\n dataStream = this.dataSource;\n }\n else if (Array.isArray(this.dataSource)) {\n dataStream = of(this.dataSource);\n }\n if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownDataSourceError();\n }\n this._renderChangeSubscription = dataStream.pipe(takeUntil(this._onDestroy))\n .subscribe(data => {\n this._data = data || [];\n this.renderRows();\n });\n }\n /**\n * Clears any existing content in the header row outlet and creates a new embedded view\n * in the outlet using the header row definition.\n */\n _forceRenderHeaderRows() {\n // Clear the header row outlet if any content exists.\n if (this._headerRowOutlet.viewContainer.length > 0) {\n this._headerRowOutlet.viewContainer.clear();\n }\n this._headerRowDefs.forEach((def, i) => this._renderRow(this._headerRowOutlet, def, i));\n this.updateStickyHeaderRowStyles();\n }\n /**\n * Clears any existing content in the footer row outlet and creates a new embedded view\n * in the outlet using the footer row definition.\n */\n _forceRenderFooterRows() {\n // Clear the footer row outlet if any content exists.\n if (this._footerRowOutlet.viewContainer.length > 0) {\n this._footerRowOutlet.viewContainer.clear();\n }\n this._footerRowDefs.forEach((def, i) => this._renderRow(this._footerRowOutlet, def, i));\n this.updateStickyFooterRowStyles();\n }\n /** Adds the sticky column styles for the rows according to the columns' stick states. */\n _addStickyColumnStyles(rows, rowDef) {\n const columnDefs = Array.from(rowDef.columns || []).map(columnName => {\n const columnDef = this._columnDefsByName.get(columnName);\n if (!columnDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnName);\n }\n return columnDef;\n });\n const stickyStartStates = columnDefs.map(columnDef => columnDef.sticky);\n const stickyEndStates = columnDefs.map(columnDef => columnDef.stickyEnd);\n this._stickyStyler.updateStickyColumns(rows, stickyStartStates, stickyEndStates, !this._fixedLayout || this._forceRecalculateCellWidths);\n }\n /** Gets the list of rows that have been rendered in the row outlet. */\n _getRenderedRows(rowOutlet) {\n const renderedRows = [];\n for (let i = 0; i < rowOutlet.viewContainer.length; i++) {\n const viewRef = rowOutlet.viewContainer.get(i);\n renderedRows.push(viewRef.rootNodes[0]);\n }\n return renderedRows;\n }\n /**\n * Get the matching row definitions that should be used for this row data. If there is only\n * one row definition, it is returned. Otherwise, find the row definitions that has a when\n * predicate that returns true with the data. If none return true, return the default row\n * definition.\n */\n _getRowDefs(data, dataIndex) {\n if (this._rowDefs.length == 1) {\n return [this._rowDefs[0]];\n }\n let rowDefs = [];\n if (this.multiTemplateDataRows) {\n rowDefs = this._rowDefs.filter(def => !def.when || def.when(dataIndex, data));\n }\n else {\n let rowDef = this._rowDefs.find(def => def.when && def.when(dataIndex, data)) || this._defaultRowDef;\n if (rowDef) {\n rowDefs.push(rowDef);\n }\n }\n if (!rowDefs.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingMatchingRowDefError(data);\n }\n return rowDefs;\n }\n _getEmbeddedViewArgs(renderRow, index) {\n const rowDef = renderRow.rowDef;\n const context = { $implicit: renderRow.data };\n return {\n templateRef: rowDef.template,\n context,\n index,\n };\n }\n /**\n * Creates a new row template in the outlet and fills it with the set of cell templates.\n * Optionally takes a context to provide to the row and cells, as well as an optional index\n * of where to place the new row template in the outlet.\n */\n _renderRow(outlet, rowDef, index, context = {}) {\n // TODO(andrewseguin): enforce that one outlet was instantiated from createEmbeddedView\n const view = outlet.viewContainer.createEmbeddedView(rowDef.template, context, index);\n this._renderCellTemplateForItem(rowDef, context);\n return view;\n }\n _renderCellTemplateForItem(rowDef, context) {\n for (let cellTemplate of this._getCellTemplates(rowDef)) {\n if (CdkCellOutlet.mostRecentCellOutlet) {\n CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cellTemplate, context);\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Updates the index-related context for each row to reflect any changes in the index of the rows,\n * e.g. first/last/even/odd.\n */\n _updateRowIndexContext() {\n const viewContainer = this._rowOutlet.viewContainer;\n for (let renderIndex = 0, count = viewContainer.length; renderIndex < count; renderIndex++) {\n const viewRef = viewContainer.get(renderIndex);\n const context = viewRef.context;\n context.count = count;\n context.first = renderIndex === 0;\n context.last = renderIndex === count - 1;\n context.even = renderIndex % 2 === 0;\n context.odd = !context.even;\n if (this.multiTemplateDataRows) {\n context.dataIndex = this._renderRows[renderIndex].dataIndex;\n context.renderIndex = renderIndex;\n }\n else {\n context.index = this._renderRows[renderIndex].dataIndex;\n }\n }\n }\n /** Gets the column definitions for the provided row def. */\n _getCellTemplates(rowDef) {\n if (!rowDef || !rowDef.columns) {\n return [];\n }\n return Array.from(rowDef.columns, columnId => {\n const column = this._columnDefsByName.get(columnId);\n if (!column && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnId);\n }\n return rowDef.extractCellTemplate(column);\n });\n }\n /** Adds native table sections (e.g. tbody) and moves the row outlets into them. */\n _applyNativeTableSections() {\n const documentFragment = this._document.createDocumentFragment();\n const sections = [\n { tag: 'thead', outlets: [this._headerRowOutlet] },\n { tag: 'tbody', outlets: [this._rowOutlet, this._noDataRowOutlet] },\n { tag: 'tfoot', outlets: [this._footerRowOutlet] },\n ];\n for (const section of sections) {\n const element = this._document.createElement(section.tag);\n element.setAttribute('role', 'rowgroup');\n for (const outlet of section.outlets) {\n element.appendChild(outlet.elementRef.nativeElement);\n }\n documentFragment.appendChild(element);\n }\n // Use a DocumentFragment so we don't hit the DOM on each iteration.\n this._elementRef.nativeElement.appendChild(documentFragment);\n }\n /**\n * Forces a re-render of the data rows. Should be called in cases where there has been an input\n * change that affects the evaluation of which rows should be rendered, e.g. toggling\n * `multiTemplateDataRows` or adding/removing row definitions.\n */\n _forceRenderDataRows() {\n this._dataDiffer.diff([]);\n this._rowOutlet.viewContainer.clear();\n this.renderRows();\n }\n /**\n * Checks if there has been a change in sticky states since last check and applies the correct\n * sticky styles. Since checking resets the \"dirty\" state, this should only be performed once\n * during a change detection and after the inputs are settled (after content check).\n */\n _checkStickyStates() {\n const stickyCheckReducer = (acc, d) => {\n return acc || d.hasStickyChanged();\n };\n // Note that the check needs to occur for every definition since it notifies the definition\n // that it can reset its dirty state. Using another operator like `some` may short-circuit\n // remaining definitions and leave them in an unchecked state.\n if (this._headerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyHeaderRowStyles();\n }\n if (this._footerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyFooterRowStyles();\n }\n if (Array.from(this._columnDefsByName.values()).reduce(stickyCheckReducer, false)) {\n this._stickyColumnStylesNeedReset = true;\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Creates the sticky styler that will be used for sticky rows and columns. Listens\n * for directionality changes and provides the latest direction to the styler. Re-applies column\n * stickiness when directionality changes.\n */\n _setupStickyStyler() {\n const direction = this._dir ? this._dir.value : 'ltr';\n this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, direction, this._coalescedStyleScheduler, this._platform.isBrowser, this.needsPositionStickyOnElement, this._stickyPositioningListener);\n (this._dir ? this._dir.change : of())\n .pipe(takeUntil(this._onDestroy))\n .subscribe(value => {\n this._stickyStyler.direction = value;\n this.updateStickyColumnStyles();\n });\n }\n /** Filters definitions that belong to this table from a QueryList. */\n _getOwnDefs(items) {\n return items.filter(item => !item._table || item._table === this);\n }\n /** Creates or removes the no data row, depending on whether any data is being shown. */\n _updateNoDataRow() {\n const noDataRow = this._customNoDataRow || this._noDataRow;\n if (noDataRow) {\n const shouldShow = this._rowOutlet.viewContainer.length === 0;\n if (shouldShow !== this._isShowingNoDataRow) {\n const container = this._noDataRowOutlet.viewContainer;\n shouldShow ? container.createEmbeddedView(noDataRow.templateRef) : container.clear();\n this._isShowingNoDataRow = shouldShow;\n }\n }\n }\n}\nCdkTable.ɵfac = function CdkTable_Factory(t) { return new (t || CdkTable)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵinjectAttribute('role'), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Platform), ɵngcc0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY, 8), ɵngcc0.ɵɵdirectiveInject(_COALESCED_STYLE_SCHEDULER, 8), ɵngcc0.ɵɵdirectiveInject(STICKY_POSITIONING_LISTENER, 12), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.ViewportRuler, 8)); };\nCdkTable.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkTable, selectors: [[\"cdk-table\"], [\"table\", \"cdk-table\", \"\"]], contentQueries: function CdkTable_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkNoDataRow, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkColumnDef, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkRowDef, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkHeaderRowDef, 1);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkFooterRowDef, 1);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._noDataRow = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentColumnDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentRowDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentHeaderRowDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentFooterRowDefs = _t);\n } }, viewQuery: function CdkTable_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(DataRowOutlet, 3);\n ɵngcc0.ɵɵviewQuery(HeaderRowOutlet, 3);\n ɵngcc0.ɵɵviewQuery(FooterRowOutlet, 3);\n ɵngcc0.ɵɵviewQuery(NoDataRowOutlet, 3);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._rowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._headerRowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._footerRowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._noDataRowOutlet = _t.first);\n } }, hostAttrs: [1, \"cdk-table\"], hostVars: 2, hostBindings: function CdkTable_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-table-fixed-layout\", ctx.fixedLayout);\n } }, inputs: { trackBy: \"trackBy\", dataSource: \"dataSource\", multiTemplateDataRows: \"multiTemplateDataRows\", fixedLayout: \"fixedLayout\" }, exportAs: [\"cdkTable\"], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ])], ngContentSelectors: _c1, decls: 6, vars: 0, consts: [[\"headerRowOutlet\", \"\"], [\"rowOutlet\", \"\"], [\"noDataRowOutlet\", \"\"], [\"footerRowOutlet\", \"\"]], template: function CdkTable_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c0);\n ɵngcc0.ɵɵprojection(0);\n ɵngcc0.ɵɵprojection(1, 1);\n ɵngcc0.ɵɵelementContainer(2, 0);\n ɵngcc0.ɵɵelementContainer(3, 1);\n ɵngcc0.ɵɵelementContainer(4, 2);\n ɵngcc0.ɵɵelementContainer(5, 3);\n } }, directives: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet], styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"], encapsulation: 2 });\nCdkTable.ctorParameters = () => [\n { type: IterableDiffers },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: String, decorators: [{ type: Attribute, args: ['role',] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [_VIEW_REPEATER_STRATEGY,] }] },\n { type: _CoalescedStyleScheduler, decorators: [{ type: Optional }, { type: Inject, args: [_COALESCED_STYLE_SCHEDULER,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [STICKY_POSITIONING_LISTENER,] }] },\n { type: ViewportRuler, decorators: [{ type: Optional }] }\n];\nCdkTable.propDecorators = {\n trackBy: [{ type: Input }],\n dataSource: [{ type: Input }],\n multiTemplateDataRows: [{ type: Input }],\n fixedLayout: [{ type: Input }],\n _rowOutlet: [{ type: ViewChild, args: [DataRowOutlet, { static: true },] }],\n _headerRowOutlet: [{ type: ViewChild, args: [HeaderRowOutlet, { static: true },] }],\n _footerRowOutlet: [{ type: ViewChild, args: [FooterRowOutlet, { static: true },] }],\n _noDataRowOutlet: [{ type: ViewChild, args: [NoDataRowOutlet, { static: true },] }],\n _contentColumnDefs: [{ type: ContentChildren, args: [CdkColumnDef, { descendants: true },] }],\n _contentRowDefs: [{ type: ContentChildren, args: [CdkRowDef, { descendants: true },] }],\n _contentHeaderRowDefs: [{ type: ContentChildren, args: [CdkHeaderRowDef, {\n descendants: true\n },] }],\n _contentFooterRowDefs: [{ type: ContentChildren, args: [CdkFooterRowDef, {\n descendants: true\n },] }],\n _noDataRow: [{ type: ContentChild, args: [CdkNoDataRow,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTable, [{\n type: Component,\n args: [{\n selector: 'cdk-table, table[cdk-table]',\n exportAs: 'cdkTable',\n template: CDK_TABLE_TEMPLATE,\n host: {\n 'class': 'cdk-table',\n '[class.cdk-table-fixed-layout]': 'fixedLayout'\n },\n encapsulation: ViewEncapsulation.None,\n // The \"OnPush\" status for the `MatTable` component is effectively a noop, so we are removing it.\n // The view for `MatTable` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: String, decorators: [{\n type: Attribute,\n args: ['role']\n }] }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: _CoalescedStyleScheduler, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [_COALESCED_STYLE_SCHEDULER]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [STICKY_POSITIONING_LISTENER]\n }] }, { type: ɵngcc3.ViewportRuler, decorators: [{\n type: Optional\n }] }]; }, { trackBy: [{\n type: Input\n }], dataSource: [{\n type: Input\n }], multiTemplateDataRows: [{\n type: Input\n }], fixedLayout: [{\n type: Input\n }], _rowOutlet: [{\n type: ViewChild,\n args: [DataRowOutlet, { static: true }]\n }], _headerRowOutlet: [{\n type: ViewChild,\n args: [HeaderRowOutlet, { static: true }]\n }], _footerRowOutlet: [{\n type: ViewChild,\n args: [FooterRowOutlet, { static: true }]\n }], _noDataRowOutlet: [{\n type: ViewChild,\n args: [NoDataRowOutlet, { static: true }]\n }], _contentColumnDefs: [{\n type: ContentChildren,\n args: [CdkColumnDef, { descendants: true }]\n }], _contentRowDefs: [{\n type: ContentChildren,\n args: [CdkRowDef, { descendants: true }]\n }], _contentHeaderRowDefs: [{\n type: ContentChildren,\n args: [CdkHeaderRowDef, {\n descendants: true\n }]\n }], _contentFooterRowDefs: [{\n type: ContentChildren,\n args: [CdkFooterRowDef, {\n descendants: true\n }]\n }], _noDataRow: [{\n type: ContentChild,\n args: [CdkNoDataRow]\n }] }); })();\n/** Utility function that gets a merged list of the entries in an array and values of a Set. */\nfunction mergeArrayAndSet(array, set) {\n return array.concat(Array.from(set));\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 * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`
`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\nclass CdkTextColumn {\n constructor(\n // `CdkTextColumn` is always requiring a table, but we just assert it manually\n // for better error reporting.\n // tslint:disable-next-line: lightweight-tokens\n _table, _options) {\n this._table = _table;\n this._options = _options;\n /** Alignment of the cell values. */\n this.justify = 'start';\n this._options = _options || {};\n }\n /** Column name that should be used to reference this column. */\n get name() {\n return this._name;\n }\n set name(name) {\n this._name = name;\n // With Ivy, inputs can be initialized before static query results are\n // available. In that case, we defer the synchronization until \"ngOnInit\" fires.\n this._syncColumnDefName();\n }\n ngOnInit() {\n this._syncColumnDefName();\n if (this.headerText === undefined) {\n this.headerText = this._createDefaultHeaderText();\n }\n if (!this.dataAccessor) {\n this.dataAccessor =\n this._options.defaultDataAccessor || ((data, name) => data[name]);\n }\n if (this._table) {\n // Provide the cell and headerCell directly to the table with the static `ViewChild` query,\n // since the columnDef will not pick up its content by the time the table finishes checking\n // its content and initializing the rows.\n this.columnDef.cell = this.cell;\n this.columnDef.headerCell = this.headerCell;\n this._table.addColumnDef(this.columnDef);\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTableTextColumnMissingParentTableError();\n }\n }\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this.columnDef);\n }\n }\n /**\n * Creates a default header text. Use the options' header text transformation function if one\n * has been provided. Otherwise simply capitalize the column name.\n */\n _createDefaultHeaderText() {\n const name = this.name;\n if (!name && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableTextColumnMissingNameError();\n }\n if (this._options && this._options.defaultHeaderTextTransform) {\n return this._options.defaultHeaderTextTransform(name);\n }\n return name[0].toUpperCase() + name.slice(1);\n }\n /** Synchronizes the column definition name with the text column name. */\n _syncColumnDefName() {\n if (this.columnDef) {\n this.columnDef.name = this.name;\n }\n }\n}\nCdkTextColumn.ɵfac = function CdkTextColumn_Factory(t) { return new (t || CdkTextColumn)(ɵngcc0.ɵɵdirectiveInject(CdkTable, 8), ɵngcc0.ɵɵdirectiveInject(TEXT_COLUMN_OPTIONS, 8)); };\nCdkTextColumn.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: CdkTextColumn, selectors: [[\"cdk-text-column\"]], viewQuery: function CdkTextColumn_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(CdkColumnDef, 3);\n ɵngcc0.ɵɵviewQuery(CdkCellDef, 3);\n ɵngcc0.ɵɵviewQuery(CdkHeaderCellDef, 3);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.columnDef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.cell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerCell = _t.first);\n } }, inputs: { justify: \"justify\", name: \"name\", headerText: \"headerText\", dataAccessor: \"dataAccessor\" }, decls: 3, vars: 0, consts: [[\"cdkColumnDef\", \"\"], [\"cdk-header-cell\", \"\", 3, \"text-align\", 4, \"cdkHeaderCellDef\"], [\"cdk-cell\", \"\", 3, \"text-align\", 4, \"cdkCellDef\"], [\"cdk-header-cell\", \"\"], [\"cdk-cell\", \"\"]], template: function CdkTextColumn_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0, 0);\n ɵngcc0.ɵɵtemplate(1, CdkTextColumn_th_1_Template, 2, 3, \"th\", 1);\n ɵngcc0.ɵɵtemplate(2, CdkTextColumn_td_2_Template, 2, 3, \"td\", 2);\n ɵngcc0.ɵɵelementContainerEnd();\n } }, directives: [CdkColumnDef, CdkHeaderCellDef, CdkCellDef, CdkHeaderCell, CdkCell], encapsulation: 2 });\nCdkTextColumn.ctorParameters = () => [\n { type: CdkTable, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TEXT_COLUMN_OPTIONS,] }] }\n];\nCdkTextColumn.propDecorators = {\n name: [{ type: Input }],\n headerText: [{ type: Input }],\n dataAccessor: [{ type: Input }],\n justify: [{ type: Input }],\n columnDef: [{ type: ViewChild, args: [CdkColumnDef, { static: true },] }],\n cell: [{ type: ViewChild, args: [CdkCellDef, { static: true },] }],\n headerCell: [{ type: ViewChild, args: [CdkHeaderCellDef, { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextColumn, [{\n type: Component,\n args: [{\n selector: 'cdk-text-column',\n template: `\n \n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default\n }]\n }], function () { return [{ type: CdkTable, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [TEXT_COLUMN_OPTIONS]\n }] }]; }, { justify: [{\n type: Input\n }], name: [{\n type: Input\n }], headerText: [{\n type: Input\n }], dataAccessor: [{\n type: Input\n }], columnDef: [{\n type: ViewChild,\n args: [CdkColumnDef, { static: true }]\n }], cell: [{\n type: ViewChild,\n args: [CdkCellDef, { static: true }]\n }], headerCell: [{\n type: ViewChild,\n args: [CdkHeaderCellDef, { static: true }]\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 EXPORTED_DECLARATIONS = [\n CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkFooterCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkFooterCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkFooterRow,\n CdkFooterRowDef,\n DataRowOutlet,\n HeaderRowOutlet,\n FooterRowOutlet,\n CdkTextColumn,\n CdkNoDataRow,\n NoDataRowOutlet,\n];\nclass CdkTableModule {\n}\nCdkTableModule.ɵfac = function CdkTableModule_Factory(t) { return new (t || CdkTableModule)(); };\nCdkTableModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: CdkTableModule });\nCdkTableModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ imports: [[ScrollingModule]] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkTableModule, { declarations: function () { return [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, NoDataRowOutlet]; }, imports: function () { return [ScrollingModule]; }, exports: function () { return [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, NoDataRowOutlet]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTableModule, [{\n type: NgModule,\n args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n imports: [ScrollingModule]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseCdkCell, BaseRowDef, CDK_ROW_TEMPLATE, CDK_TABLE, CDK_TABLE_TEMPLATE, CdkCell, CdkCellDef, CdkCellOutlet, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderCell, CdkHeaderCellDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef, CdkTable, CdkTableModule, CdkTextColumn, DataRowOutlet, FooterRowOutlet, HeaderRowOutlet, NoDataRowOutlet, STICKY_DIRECTIONS, STICKY_POSITIONING_LISTENER, StickyStyler, TEXT_COLUMN_OPTIONS, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, _Schedule, mixinHasStickyInput };\n\n//# sourceMappingURL=table.js.map","import { normalizePassiveListenerOptions, Platform, PlatformModule } from '@angular/cdk/platform';\nimport { ɵɵdefineInjectable, ɵɵinject, NgZone, Injectable, EventEmitter, Directive, ElementRef, Output, Optional, Inject, Input, HostListener, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\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/** Options to pass to the animationstart listener. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nconst listenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: true }));\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: false }));\n }\n });\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = function AutofillMonitor_Factory(t) { return new (t || AutofillMonitor)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nAutofillMonitor.ɵprov = ɵɵdefineInjectable({ factory: function AutofillMonitor_Factory() { return new AutofillMonitor(ɵɵinject(Platform), ɵɵinject(NgZone)); }, token: AutofillMonitor, providedIn: \"root\" });\nAutofillMonitor.ctorParameters = () => [\n { type: Platform },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AutofillMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }]; }, null); })();\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = function CdkAutofill_Factory(t) { return new (t || CdkAutofill)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(AutofillMonitor)); };\nCdkAutofill.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkAutofill, selectors: [[\"\", \"cdkAutofill\", \"\"]], outputs: { cdkAutofill: \"cdkAutofill\" } });\nCdkAutofill.ctorParameters = () => [\n { type: ElementRef },\n { type: AutofillMonitor }\n];\nCdkAutofill.propDecorators = {\n cdkAutofill: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAutofill, [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: AutofillMonitor }]; }, { cdkAutofill: [{\n type: Output\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/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n this._measuringClass = _platform.FIREFOX ?\n 'cdk-textarea-autosize-measuring-firefox' :\n 'cdk-textarea-autosize-measuring';\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() { return this._minRows; }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() { return this._maxRows; }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() { return this._enabled; }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ?\n `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ?\n `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n });\n }\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const placeholderText = textarea.placeholder;\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n // need to be removed temporarily.\n textarea.classList.add(this._measuringClass);\n textarea.placeholder = '';\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const height = textarea.scrollHeight - 4;\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n textarea.classList.remove(this._measuringClass);\n textarea.placeholder = placeholderText;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n }\n else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const { selectionStart, selectionEnd } = textarea;\n const document = this._getDocument();\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && document.activeElement === textarea) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = function CdkTextareaAutosize_Factory(t) { return new (t || CdkTextareaAutosize)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8)); };\nCdkTextareaAutosize.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CdkTextareaAutosize, selectors: [[\"textarea\", \"cdkTextareaAutosize\", \"\"]], hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\"], hostBindings: function CdkTextareaAutosize_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function CdkTextareaAutosize_input_HostBindingHandler() { return ctx._noopInputHandler(); });\n } }, inputs: { minRows: [\"cdkAutosizeMinRows\", \"minRows\"], maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"], enabled: [\"cdkTextareaAutosize\", \"enabled\"] }, exportAs: [\"cdkTextareaAutosize\"] });\nCdkTextareaAutosize.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTextareaAutosize.propDecorators = {\n minRows: [{ type: Input, args: ['cdkAutosizeMinRows',] }],\n maxRows: [{ type: Input, args: ['cdkAutosizeMaxRows',] }],\n enabled: [{ type: Input, args: ['cdkTextareaAutosize',] }],\n _noopInputHandler: [{ type: HostListener, args: ['input',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }], maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }], enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }], \n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler: [{\n type: HostListener,\n args: ['input']\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 TextFieldModule {\n}\nTextFieldModule.ɵfac = function TextFieldModule_Factory(t) { return new (t || TextFieldModule)(); };\nTextFieldModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: TextFieldModule });\nTextFieldModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ imports: [[PlatformModule]] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TextFieldModule, { declarations: function () { return [CdkAutofill, CdkTextareaAutosize]; }, imports: function () { return [PlatformModule]; }, exports: function () { return [CdkAutofill, CdkTextareaAutosize]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TextFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize]\n }]\n }], null, 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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n\n//# sourceMappingURL=text-field.js.map","import { Version } from '@angular/core';\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/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('11.2.13');\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/**\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 { VERSION };\n//# sourceMappingURL=cdk.js.map\n","import { ElementRef } from '@angular/core';\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/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\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 coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(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 */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [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 */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\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 * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\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 * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\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\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 { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n//# sourceMappingURL=coercion.js.map\n","/**\n * @license Angular v11.2.14\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken, ɵɵdefineInjectable, Injectable, ɵɵinject, Inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, IterableDiffers, KeyValueDiffers, ElementRef, Renderer2, Input, NgModuleRef, ComponentFactoryResolver, ViewContainerRef, TemplateRef, Host, ɵRuntimeError, Attribute, ɵisPromise, ɵisSubscribable, Pipe, ChangeDetectorRef, DEFAULT_CURRENCY_CODE, NgModule, Version } from '@angular/core';\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 * as ɵngcc0 from '@angular/core';\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\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 DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\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 class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n}\nPlatformLocation.ɵfac = function PlatformLocation_Factory(t) { return new (t || PlatformLocation)(); };\nPlatformLocation.ɵprov = ɵɵdefineInjectable({ factory: useBrowserPlatformLocation, token: PlatformLocation, providedIn: \"platform\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlatformLocation, [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }], null, null); })();\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = getDOM().getLocation();\n this._history = getDOM().getHistory();\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n getDOM().getGlobalEventTarget(this._doc, 'window').addEventListener('popstate', fn, false);\n }\n onHashChange(fn) {\n getDOM().getGlobalEventTarget(this._doc, 'window').addEventListener('hashchange', fn, false);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = function BrowserPlatformLocation_Factory(t) { return new (t || BrowserPlatformLocation)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nBrowserPlatformLocation.ɵprov = ɵɵdefineInjectable({ factory: createBrowserPlatformLocation, token: BrowserPlatformLocation, providedIn: \"platform\" });\nBrowserPlatformLocation.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BrowserPlatformLocation, [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\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/**\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 * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\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 * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n}\nLocationStrategy.ɵfac = function LocationStrategy_Factory(t) { return new (t || LocationStrategy)(); };\nLocationStrategy.ɵprov = ɵɵdefineInjectable({ factory: provideLocationStrategy, token: LocationStrategy, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LocationStrategy, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }], null, null); })();\nfunction provideLocationStrategy(platformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(ɵɵinject(PlatformLocation), location && location.origin || '');\n}\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(`No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n this._baseHref = href;\n }\n onPopState(fn) {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n}\nPathLocationStrategy.ɵfac = function PathLocationStrategy_Factory(t) { return new (t || PathLocationStrategy)(ɵngcc0.ɵɵinject(PlatformLocation), ɵngcc0.ɵɵinject(APP_BASE_HREF, 8)); };\nPathLocationStrategy.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: PathLocationStrategy, factory: PathLocationStrategy.ɵfac });\nPathLocationStrategy.ctorParameters = () => [\n { type: PlatformLocation },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PathLocationStrategy, [{\n type: Injectable\n }], function () { return [{ type: PlatformLocation }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; }, 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/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n onPopState(fn) {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n}\nHashLocationStrategy.ɵfac = function HashLocationStrategy_Factory(t) { return new (t || HashLocationStrategy)(ɵngcc0.ɵɵinject(PlatformLocation), ɵngcc0.ɵɵinject(APP_BASE_HREF, 8)); };\nHashLocationStrategy.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: HashLocationStrategy, factory: HashLocationStrategy.ɵfac });\nHashLocationStrategy.ctorParameters = () => [\n { type: PlatformLocation },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HashLocationStrategy, [{\n type: Injectable\n }], function () { return [{ type: PlatformLocation }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; }, 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/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router#navigate` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(platformStrategy, platformLocation) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._platformLocation.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._platformStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._platformStrategy.back();\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\nLocation.ɵfac = function Location_Factory(t) { return new (t || Location)(ɵngcc0.ɵɵinject(LocationStrategy), ɵngcc0.ɵɵinject(PlatformLocation)); };\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵprov = ɵɵdefineInjectable({ factory: createLocation, token: Location, providedIn: \"root\" });\nLocation.ctorParameters = () => [\n { type: LocationStrategy },\n { type: PlatformLocation }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Location, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation\n }]\n }], function () { return [{ type: LocationStrategy }, { type: PlatformLocation }]; }, null); })();\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy), ɵɵinject(PlatformLocation));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\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/**\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/** @internal */\nconst CURRENCIES_EN = {\n 'ADP': [undefined, undefined, 0],\n 'AFN': [undefined, undefined, 0],\n 'ALL': [undefined, undefined, 0],\n 'AMD': [undefined, undefined, 2],\n 'AOA': [undefined, 'Kz'],\n 'ARS': [undefined, '$'],\n 'AUD': ['A$', '$'],\n 'BAM': [undefined, 'KM'],\n 'BBD': [undefined, '$'],\n 'BDT': [undefined, '৳'],\n 'BHD': [undefined, undefined, 3],\n 'BIF': [undefined, undefined, 0],\n 'BMD': [undefined, '$'],\n 'BND': [undefined, '$'],\n 'BOB': [undefined, 'Bs'],\n 'BRL': ['R$'],\n 'BSD': [undefined, '$'],\n 'BWP': [undefined, 'P'],\n 'BYN': [undefined, 'р.', 2],\n 'BYR': [undefined, undefined, 0],\n 'BZD': [undefined, '$'],\n 'CAD': ['CA$', '$', 2],\n 'CHF': [undefined, undefined, 2],\n 'CLF': [undefined, undefined, 4],\n 'CLP': [undefined, '$', 0],\n 'CNY': ['CN¥', '¥'],\n 'COP': [undefined, '$', 2],\n 'CRC': [undefined, '₡', 2],\n 'CUC': [undefined, '$'],\n 'CUP': [undefined, '$'],\n 'CZK': [undefined, 'Kč', 2],\n 'DJF': [undefined, undefined, 0],\n 'DKK': [undefined, 'kr', 2],\n 'DOP': [undefined, '$'],\n 'EGP': [undefined, 'E£'],\n 'ESP': [undefined, '₧', 0],\n 'EUR': ['€'],\n 'FJD': [undefined, '$'],\n 'FKP': [undefined, '£'],\n 'GBP': ['£'],\n 'GEL': [undefined, '₾'],\n 'GIP': [undefined, '£'],\n 'GNF': [undefined, 'FG', 0],\n 'GTQ': [undefined, 'Q'],\n 'GYD': [undefined, '$', 2],\n 'HKD': ['HK$', '$'],\n 'HNL': [undefined, 'L'],\n 'HRK': [undefined, 'kn'],\n 'HUF': [undefined, 'Ft', 2],\n 'IDR': [undefined, 'Rp', 2],\n 'ILS': ['₪'],\n 'INR': ['₹'],\n 'IQD': [undefined, undefined, 0],\n 'IRR': [undefined, undefined, 0],\n 'ISK': [undefined, 'kr', 0],\n 'ITL': [undefined, undefined, 0],\n 'JMD': [undefined, '$'],\n 'JOD': [undefined, undefined, 3],\n 'JPY': ['¥', undefined, 0],\n 'KHR': [undefined, '៛'],\n 'KMF': [undefined, 'CF', 0],\n 'KPW': [undefined, '₩', 0],\n 'KRW': ['₩', undefined, 0],\n 'KWD': [undefined, undefined, 3],\n 'KYD': [undefined, '$'],\n 'KZT': [undefined, '₸'],\n 'LAK': [undefined, '₭', 0],\n 'LBP': [undefined, 'L£', 0],\n 'LKR': [undefined, 'Rs'],\n 'LRD': [undefined, '$'],\n 'LTL': [undefined, 'Lt'],\n 'LUF': [undefined, undefined, 0],\n 'LVL': [undefined, 'Ls'],\n 'LYD': [undefined, undefined, 3],\n 'MGA': [undefined, 'Ar', 0],\n 'MGF': [undefined, undefined, 0],\n 'MMK': [undefined, 'K', 0],\n 'MNT': [undefined, '₮', 2],\n 'MRO': [undefined, undefined, 0],\n 'MUR': [undefined, 'Rs', 2],\n 'MXN': ['MX$', '$'],\n 'MYR': [undefined, 'RM'],\n 'NAD': [undefined, '$'],\n 'NGN': [undefined, '₦'],\n 'NIO': [undefined, 'C$'],\n 'NOK': [undefined, 'kr', 2],\n 'NPR': [undefined, 'Rs'],\n 'NZD': ['NZ$', '$'],\n 'OMR': [undefined, undefined, 3],\n 'PHP': [undefined, '₱'],\n 'PKR': [undefined, 'Rs', 2],\n 'PLN': [undefined, 'zł'],\n 'PYG': [undefined, '₲', 0],\n 'RON': [undefined, 'lei'],\n 'RSD': [undefined, undefined, 0],\n 'RUB': [undefined, '₽'],\n 'RUR': [undefined, 'р.'],\n 'RWF': [undefined, 'RF', 0],\n 'SBD': [undefined, '$'],\n 'SEK': [undefined, 'kr', 2],\n 'SGD': [undefined, '$'],\n 'SHP': [undefined, '£'],\n 'SLL': [undefined, undefined, 0],\n 'SOS': [undefined, undefined, 0],\n 'SRD': [undefined, '$'],\n 'SSP': [undefined, '£'],\n 'STD': [undefined, undefined, 0],\n 'STN': [undefined, 'Db'],\n 'SYP': [undefined, '£', 0],\n 'THB': [undefined, '฿'],\n 'TMM': [undefined, undefined, 0],\n 'TND': [undefined, undefined, 3],\n 'TOP': [undefined, 'T$'],\n 'TRL': [undefined, undefined, 0],\n 'TRY': [undefined, '₺'],\n 'TTD': [undefined, '$'],\n 'TWD': ['NT$', '$', 2],\n 'TZS': [undefined, undefined, 2],\n 'UAH': [undefined, '₴'],\n 'UGX': [undefined, undefined, 0],\n 'USD': ['$'],\n 'UYI': [undefined, undefined, 0],\n 'UYU': [undefined, '$'],\n 'UYW': [undefined, undefined, 4],\n 'UZS': [undefined, undefined, 2],\n 'VEF': [undefined, 'Bs', 2],\n 'VND': ['₫', undefined, 0],\n 'VUV': [undefined, undefined, 0],\n 'XAF': ['FCFA', undefined, 0],\n 'XCD': ['EC$', '$'],\n 'XOF': ['CFA', undefined, 0],\n 'XPF': ['CFPF', undefined, 0],\n 'XXX': ['¤'],\n 'YER': [undefined, undefined, 0],\n 'ZAR': [undefined, 'R'],\n 'ZMK': [undefined, undefined, 0],\n 'ZMW': [undefined, 'ZK'],\n 'ZWD': [undefined, undefined, 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/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n#i18n-pipes).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n#i18n-pipes).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\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 ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^GyYMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: Y, U, Q, D, F, e, c, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\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 NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\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 * @publicApi\n */\nclass NgLocalization {\n}\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = function NgLocaleLocalization_Factory(t) { return new (t || NgLocaleLocalization)(ɵngcc0.ɵɵinject(LOCALE_ID)); };\nNgLocaleLocalization.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgLocaleLocalization, factory: NgLocaleLocalization.ɵfac });\nNgLocaleLocalization.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgLocaleLocalization, [{\n type: Injectable\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, 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/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n#i18n-pipes) to know how to import additional locale data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\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 parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\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 * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = function NgClass_Factory(t) { return new (t || NgClass)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgClass.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgClass, selectors: [[\"\", \"ngClass\", \"\"]], inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" } });\nNgClass.ctorParameters = () => [\n { type: IterableDiffers },\n { type: KeyValueDiffers },\n { type: ElementRef },\n { type: Renderer2 }\n];\nNgClass.propDecorators = {\n klass: [{ type: Input, args: ['class',] }],\n ngClass: [{ type: Input, args: ['ngClass',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgClass, [{\n type: Directive,\n args: [{ selector: '[ngClass]' }]\n }], function () { return [{ type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }]; }, { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\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 * Instantiates a single {@link Component} type and inserts its Host View into current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will get destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow dynamically loading other\n * module, then load a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._componentRef = null;\n this._moduleRef = null;\n }\n ngOnChanges(changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n }\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = function NgComponentOutlet_Factory(t) { return new (t || NgComponentOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgComponentOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgComponentOutlet, selectors: [[\"\", \"ngComponentOutlet\", \"\"]], inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgComponentOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\nNgComponentOutlet.propDecorators = {\n ngComponentOutlet: [{ type: Input }],\n ngComponentOutletInjector: [{ type: Input }],\n ngComponentOutletContent: [{ type: Input }],\n ngComponentOutletNgModuleFactory: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgComponentOutlet, [{\n type: Directive,\n args: [{ selector: '[ngComponentOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\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 * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/built-in-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/built-in-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * A function that defines how to track changes for items in the iterable.\n *\n * When items are added, moved, or removed in the iterable,\n * the directive must re-render the appropriate DOM nodes.\n * To minimize churn in the DOM, only nodes that have changed\n * are re-rendered.\n *\n * By default, the change detector assumes that\n * the object instance identifies the node in the iterable.\n * When this function is supplied, the directive uses\n * the result of calling this function to identify the item node,\n * rather than the identity of the object itself.\n *\n * The function receives two inputs,\n * the iteration index and the associated node data.\n */\n set ngForTrackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch (_a) {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const insertTuples = [];\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n const view = this._viewContainer.createEmbeddedView(this._template, new NgForOfContext(null, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n else if (currentIndex == null) {\n this._viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = this._viewContainer.get(adjustedPreviousIndex);\n this._viewContainer.move(view, currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n });\n for (let i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n for (let i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n const viewRef = this._viewContainer.get(i);\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n viewRef.context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = this._viewContainer.get(record.currentIndex);\n viewRef.context.$implicit = record.item;\n });\n }\n _perViewChange(view, record) {\n view.context.$implicit = record.item;\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = function NgForOf_Factory(t) { return new (t || NgForOf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers)); };\nNgForOf.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgForOf, selectors: [[\"\", \"ngFor\", \"\", \"ngForOf\", \"\"]], inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" } });\nNgForOf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: IterableDiffers }\n];\nNgForOf.propDecorators = {\n ngForOf: [{ type: Input }],\n ngForTrackBy: [{ type: Input }],\n ngForTemplate: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgForOf, [{\n type: Directive,\n args: [{ selector: '[ngFor][ngForOf]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }]; }, { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] }); })();\nclass RecordViewTuple {\n constructor(record, view) {\n this.record = record;\n this.view = view;\n }\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\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 structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](https://angular.io/guide/built-in-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = function NgIf_Factory(t) { return new (t || NgIf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgIf.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgIf, selectors: [[\"\", \"ngIf\", \"\"]], inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" } });\nNgIf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef }\n];\nNgIf.propDecorators = {\n ngIf: [{ type: Input }],\n ngIfThen: [{ type: Input }],\n ngIfElse: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgIf, [{\n type: Directive,\n args: [{ selector: '[ngIf]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }]; }, { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] }); })();\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\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 SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = function NgSwitch_Factory(t) { return new (t || NgSwitch)(); };\nNgSwitch.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgSwitch, selectors: [[\"\", \"ngSwitch\", \"\"]], inputs: { ngSwitch: \"ngSwitch\" } });\nNgSwitch.propDecorators = {\n ngSwitch: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitch, [{\n type: Directive,\n args: [{ selector: '[ngSwitch]' }]\n }], function () { return []; }, { ngSwitch: [{\n type: Input\n }] }); })();\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = function NgSwitchCase_Factory(t) { return new (t || NgSwitchCase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(NgSwitch, 9)); };\nNgSwitchCase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgSwitchCase, selectors: [[\"\", \"ngSwitchCase\", \"\"]], inputs: { ngSwitchCase: \"ngSwitchCase\" } });\nNgSwitchCase.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: NgSwitch, decorators: [{ type: Optional }, { type: Host }] }\n];\nNgSwitchCase.propDecorators = {\n ngSwitchCase: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitchCase, [{\n type: Directive,\n args: [{ selector: '[ngSwitchCase]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, { ngSwitchCase: [{\n type: Input\n }] }); })();\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = function NgSwitchDefault_Factory(t) { return new (t || NgSwitchDefault)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(NgSwitch, 9)); };\nNgSwitchDefault.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgSwitchDefault, selectors: [[\"\", \"ngSwitchDefault\", \"\"]] });\nNgSwitchDefault.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: NgSwitch, decorators: [{ type: Optional }, { type: Host }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitchDefault, [{\n type: Directive,\n args: [{ selector: '[ngSwitchDefault]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, null); })();\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(\"305\" /* TEMPLATE_STRUCTURE_ERROR */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\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 * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = function NgPlural_Factory(t) { return new (t || NgPlural)(ɵngcc0.ɵɵdirectiveInject(NgLocalization)); };\nNgPlural.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgPlural, selectors: [[\"\", \"ngPlural\", \"\"]], inputs: { ngPlural: \"ngPlural\" } });\nNgPlural.ctorParameters = () => [\n { type: NgLocalization }\n];\nNgPlural.propDecorators = {\n ngPlural: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgPlural, [{\n type: Directive,\n args: [{ selector: '[ngPlural]' }]\n }], function () { return [{ type: NgLocalization }]; }, { ngPlural: [{\n type: Input\n }] }); })();\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = function NgPluralCase_Factory(t) { return new (t || NgPluralCase)(ɵngcc0.ɵɵinjectAttribute('ngPluralCase'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(NgPlural, 1)); };\nNgPluralCase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgPluralCase, selectors: [[\"\", \"ngPluralCase\", \"\"]] });\nNgPluralCase.ctorParameters = () => [\n { type: String, decorators: [{ type: Attribute, args: ['ngPluralCase',] }] },\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: NgPlural, decorators: [{ type: Host }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgPluralCase, [{\n type: Directive,\n args: [{ selector: '[ngPluralCase]' }]\n }], function () { return [{ type: String, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; }, 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/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = function NgStyle_Factory(t) { return new (t || NgStyle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgStyle.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgStyle, selectors: [[\"\", \"ngStyle\", \"\"]], inputs: { ngStyle: \"ngStyle\" } });\nNgStyle.ctorParameters = () => [\n { type: ElementRef },\n { type: KeyValueDiffers },\n { type: Renderer2 }\n];\nNgStyle.propDecorators = {\n ngStyle: [{ type: Input, args: ['ngStyle',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgStyle, [{\n type: Directive,\n args: [{ selector: '[ngStyle]' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.Renderer2 }]; }, { ngStyle: [{\n type: Input,\n args: ['ngStyle']\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 * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n }\n ngOnChanges(changes) {\n const recreateView = this._shouldRecreateView(changes);\n if (recreateView) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n }\n else if (this._viewRef && this.ngTemplateOutletContext) {\n this._updateExistingContext(this.ngTemplateOutletContext);\n }\n }\n /**\n * We need to re-create existing embedded view if:\n * - templateRef has changed\n * - context has changes\n *\n * We mark context object as changed when the corresponding object\n * shape changes (new properties are added or existing properties are removed).\n * In other words we consider context with the same properties as \"the same\" even\n * if object reference changes (see https://github.com/angular/angular/issues/13407).\n */\n _shouldRecreateView(changes) {\n const ctxChange = changes['ngTemplateOutletContext'];\n return !!changes['ngTemplateOutlet'] || (ctxChange && this._hasContextShapeChanged(ctxChange));\n }\n _hasContextShapeChanged(ctxChange) {\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\n if (prevCtxKeys.length === currCtxKeys.length) {\n for (let propName of currCtxKeys) {\n if (prevCtxKeys.indexOf(propName) === -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n }\n _updateExistingContext(ctx) {\n for (let propName of Object.keys(ctx)) {\n this._viewRef.context[propName] = this.ngTemplateOutletContext[propName];\n }\n }\n}\nNgTemplateOutlet.ɵfac = function NgTemplateOutlet_Factory(t) { return new (t || NgTemplateOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgTemplateOutlet.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgTemplateOutlet, selectors: [[\"\", \"ngTemplateOutlet\", \"\"]], inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgTemplateOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\nNgTemplateOutlet.propDecorators = {\n ngTemplateOutletContext: [{ type: Input }],\n ngTemplateOutlet: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgTemplateOutlet, [{\n type: Directive,\n args: [{ selector: '[ngTemplateOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\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 collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\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 invalidPipeArgumentError(type, value) {\n return Error(`InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'`);\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 SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n onDestroy(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n onDestroy(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(_ref) {\n this._ref = _ref;\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = function AsyncPipe_Factory(t) { return new (t || AsyncPipe)(ɵngcc0.ɵɵinjectPipeChangeDetectorRef()); };\nAsyncPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"async\", type: AsyncPipe, pure: false });\nAsyncPipe.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AsyncPipe, [{\n type: Pipe,\n args: [{ name: 'async', pure: false }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }]; }, 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/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = function LowerCasePipe_Factory(t) { return new (t || LowerCasePipe)(); };\nLowerCasePipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"lowercase\", type: LowerCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LowerCasePipe, [{\n type: Pipe,\n args: [{ name: 'lowercase' }]\n }], null, null); })();\n//\n// Regex below matches any Unicode word and compatible with ES5. In ES2018 the same result\n// can be achieved by using /\\p{L}\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+/%5Cp%7BL%7D/u%3B&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = function TitleCasePipe_Factory(t) { return new (t || TitleCasePipe)(); };\nTitleCasePipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"titlecase\", type: TitleCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TitleCasePipe, [{\n type: Pipe,\n args: [{ name: 'titlecase' }]\n }], null, null); })();\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = function UpperCasePipe_Factory(t) { return new (t || UpperCasePipe)(); };\nUpperCasePipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"uppercase\", type: UpperCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UpperCasePipe, [{\n type: Pipe,\n args: [{ name: 'uppercase' }]\n }], null, 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// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n#i18n-pipes) for more information.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |--------------------|-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year| Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale) {\n this.locale = locale;\n }\n transform(value, format = 'mediumDate', timezone, locale) {\n if (value == null || value === '' || value !== value)\n return null;\n try {\n return formatDate(value, format, locale || this.locale, timezone);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = function DatePipe_Factory(t) { return new (t || DatePipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID)); };\nDatePipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"date\", type: DatePipe, pure: true });\nDatePipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DatePipe, [{\n type: Pipe,\n args: [{ name: 'date', pure: true }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, 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 */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = function I18nPluralPipe_Factory(t) { return new (t || I18nPluralPipe)(ɵngcc0.ɵɵdirectiveInject(NgLocalization)); };\nI18nPluralPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"i18nPlural\", type: I18nPluralPipe, pure: true });\nI18nPluralPipe.ctorParameters = () => [\n { type: NgLocalization }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(I18nPluralPipe, [{\n type: Pipe,\n args: [{ name: 'i18nPlural', pure: true }]\n }], function () { return [{ type: NgLocalization }]; }, 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/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = function I18nSelectPipe_Factory(t) { return new (t || I18nSelectPipe)(); };\nI18nSelectPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"i18nSelect\", type: I18nSelectPipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(I18nSelectPipe, [{\n type: Pipe,\n args: [{ name: 'i18nSelect', pure: true }]\n }], null, 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/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = function JsonPipe_Factory(t) { return new (t || JsonPipe)(); };\nJsonPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"json\", type: JsonPipe, pure: false });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(JsonPipe, [{\n type: Pipe,\n args: [{ name: 'json', pure: false }]\n }], null, 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 */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n this.keyValues.sort(compareFn);\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = function KeyValuePipe_Factory(t) { return new (t || KeyValuePipe)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers)); };\nKeyValuePipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"keyvalue\", type: KeyValuePipe, pure: false });\nKeyValuePipe.ctorParameters = () => [\n { type: KeyValueDiffers }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(KeyValuePipe, [{\n type: Pipe,\n args: [{ name: 'keyvalue', pure: false }]\n }], function () { return [{ type: ɵngcc0.KeyValueDiffers }]; }, null); })();\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -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 */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = function DecimalPipe_Factory(t) { return new (t || DecimalPipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID)); };\nDecimalPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"number\", type: DecimalPipe, pure: true });\nDecimalPipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DecimalPipe, [{\n type: Pipe,\n args: [{ name: 'number' }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = function PercentPipe_Factory(t) { return new (t || PercentPipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID)); };\nPercentPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"percent\", type: PercentPipe, pure: true });\nPercentPipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PercentPipe, [{\n type: Pipe,\n args: [{ name: 'percent' }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n#setting-up-the-locale-of-your-app) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n transform(value, currencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = function CurrencyPipe_Factory(t) { return new (t || CurrencyPipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID), ɵngcc0.ɵɵdirectiveInject(DEFAULT_CURRENCY_CODE)); };\nCurrencyPipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"currency\", type: CurrencyPipe, pure: true });\nCurrencyPipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },\n { type: String, decorators: [{ type: Inject, args: [DEFAULT_CURRENCY_CODE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CurrencyPipe, [{\n type: Pipe,\n args: [{ name: 'currency' }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: String, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; }, null); })();\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return 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 */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = function SlicePipe_Factory(t) { return new (t || SlicePipe)(); };\nSlicePipe.ɵpipe = ɵngcc0.ɵɵdefinePipe({ name: \"slice\", type: SlicePipe, pure: false });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SlicePipe, [{\n type: Pipe,\n args: [{ name: 'slice', pure: false }]\n }], null, 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/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\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// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = function CommonModule_Factory(t) { return new (t || CommonModule)(); };\nCommonModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: CommonModule });\nCommonModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CommonModule, { declarations: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CommonModule, [{\n type: NgModule,\n args: [{\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ]\n }]\n }], null, 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 */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\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 * @publicApi\n */\nconst VERSION = new Version('11.2.14');\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 * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n // TODO(atscott): The correct behavior for `getElementsByName` would be to also verify that the\n // element is an anchor. However, this could be considered a breaking change and should be\n // done in a major version.\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n this.attemptFocus(elSelected);\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * Calls `focus` on the `focusTarget` and returns `true` if the element was focused successfully.\n *\n * If `false`, further steps may be necessary to determine a valid substitute to be focused\n * instead.\n *\n * @see https://html.spec.whatwg.org/#get-the-focusable-area\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n * @see https://html.spec.whatwg.org/#focusable-area\n */\n attemptFocus(focusTarget) {\n focusTarget.focus();\n return this.document.activeElement === focusTarget;\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch (_a) {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch (_a) {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\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/**\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// This file only reexports content of the `src` folder. Keep it that way.\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, useBrowserPlatformLocation as ɵangular_packages_common_common_a, createBrowserPlatformLocation as ɵangular_packages_common_common_b, createLocation as ɵangular_packages_common_common_c, provideLocationStrategy as ɵangular_packages_common_common_d, COMMON_DIRECTIVES as ɵangular_packages_common_common_e, COMMON_PIPES as ɵangular_packages_common_common_f, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n\n//# sourceMappingURL=common.js.map","/**\n * @license Angular v11.2.14\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, Injector, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\nimport { DOCUMENT, ɵparseCookieValue } from '@angular/common';\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 * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nimport * as ɵngcc0 from '@angular/core';\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\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 * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or overide for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(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 * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\nfunction standardEncoding(v) {\n return encodeURIComponent(v)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/');\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n this.map.set(key, Array.isArray(value) ? value : [value]);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(update.value);\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(update.value);\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\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 */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n reportProgress,\n responseType,\n withCredentials,\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 */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\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 * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilites of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = function HttpClient_Factory(t) { return new (t || HttpClient)(ɵngcc0.ɵɵinject(HttpHandler)); };\nHttpClient.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: HttpClient, factory: HttpClient.ɵfac });\nHttpClient.ctorParameters = () => [\n { type: HttpHandler }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HttpClient, [{\n type: Injectable\n }], function () { return [{ type: HttpHandler }]; }, 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/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nclass HttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\nclass NoopInterceptor {\n intercept(req, next) {\n return next.handle(req);\n }\n}\nNoopInterceptor.ɵfac = function NoopInterceptor_Factory(t) { return new (t || NoopInterceptor)(); };\nNoopInterceptor.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NoopInterceptor, factory: NoopInterceptor.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoopInterceptor, [{\n type: Injectable\n }], null, 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// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n// Error text given when a JSONP script is injected, but doesn't invoke the callback\n// passed in its URL.\nconst JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\n// Error text given when a request is passed to the JsonpClientBackend that doesn't\n// have a request method JSONP.\nconst JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.';\nconst JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.';\n/**\n * DI token/abstract type representing a map of JSONP callbacks.\n *\n * In the browser, this should always be the `window` object.\n *\n *\n */\nclass JsonpCallbackContext {\n}\n/**\n * Processes an `HttpRequest` with the JSONP method,\n * by performing JSONP style requests.\n * @see `HttpHandler`\n * @see `HttpXhrBackend`\n *\n * @publicApi\n */\nclass JsonpClientBackend {\n constructor(callbackMap, document) {\n this.callbackMap = callbackMap;\n this.document = document;\n /**\n * A resolved promise that can be used to schedule microtasks in the event handlers.\n */\n this.resolvedPromise = Promise.resolve();\n }\n /**\n * Get the name of the next callback method, by incrementing the global `nextRequestId`.\n */\n nextCallback() {\n return `ng_jsonp_callback_${nextRequestId++}`;\n }\n /**\n * Processes a JSONP request and returns an event stream of the results.\n * @param req The request object.\n * @returns An observable of the response events.\n *\n */\n handle(req) {\n // Firstly, check both the method and response type. If either doesn't match\n // then the request was improperly routed here and cannot be handled.\n if (req.method !== 'JSONP') {\n throw new Error(JSONP_ERR_WRONG_METHOD);\n }\n else if (req.responseType !== 'json') {\n throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE);\n }\n // Everything else happens inside the Observable boundary.\n return new Observable((observer) => {\n // The first step to make a request is to generate the callback name, and replace the\n // callback placeholder in the URL with the name. Care has to be taken here to ensure\n // a trailing &, if matched, gets inserted back into the URL in the correct place.\n const callback = this.nextCallback();\n const url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, `=${callback}$1`);\n // Construct the
    \n {{headerText}}\n \n {{dataAccessor(data, name)}}\n