{"version":3,"sources":["./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../../src/internal/operators/repeat.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","../../../src/internal/operators/concatAll.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/internal/operators/sampleTime.ts","@ng-bootstrap/ng-bootstrap/util/util.ts","@ng-bootstrap/ng-bootstrap/accordion/accordion-config.ts","@ng-bootstrap/ng-bootstrap/accordion/accordion.ts","@ng-bootstrap/ng-bootstrap/accordion/accordion.module.ts","@ng-bootstrap/ng-bootstrap/alert/alert-config.ts","@ng-bootstrap/ng-bootstrap/alert/alert.ts","@ng-bootstrap/ng-bootstrap/alert/alert.module.ts","@ng-bootstrap/ng-bootstrap/buttons/label.ts","@ng-bootstrap/ng-bootstrap/buttons/checkbox.ts","@ng-bootstrap/ng-bootstrap/buttons/radio.ts","@ng-bootstrap/ng-bootstrap/buttons/buttons.module.ts","@ng-bootstrap/ng-bootstrap/carousel/carousel-config.ts","@ng-bootstrap/ng-bootstrap/carousel/carousel.ts","@ng-bootstrap/ng-bootstrap/carousel/carousel.module.ts","@ng-bootstrap/ng-bootstrap/collapse/collapse.ts","@ng-bootstrap/ng-bootstrap/collapse/collapse.module.ts","@ng-bootstrap/ng-bootstrap/datepicker/ngb-date.ts","@ng-bootstrap/ng-bootstrap/datepicker/ngb-calendar.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-tools.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-i18n.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-service.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-view-model.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-config.ts","@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-adapter.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker.ts","@ng-bootstrap/ng-bootstrap/util/key.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-keyboard-service.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-month.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.ts","@ng-bootstrap/ng-bootstrap/util/autoclose.ts","@ng-bootstrap/ng-bootstrap/util/focus-trap.ts","@ng-bootstrap/ng-bootstrap/util/positioning.ts","@ng-bootstrap/ng-bootstrap/datepicker/ngb-date-parser-formatter.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input-config.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-input.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-day-view.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.ts","@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-hijri.ts","@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-islamic-civil.ts","@ng-bootstrap/ng-bootstrap/datepicker/hijri/ngb-calendar-islamic-umalqura.ts","@ng-bootstrap/ng-bootstrap/datepicker/jalali/jalali.ts","@ng-bootstrap/ng-bootstrap/datepicker/jalali/ngb-calendar-persian.ts","@ng-bootstrap/ng-bootstrap/datepicker/hebrew/hebrew.ts","@ng-bootstrap/ng-bootstrap/datepicker/hebrew/ngb-calendar-hebrew.ts","@ng-bootstrap/ng-bootstrap/datepicker/hebrew/datepicker-i18n-hebrew.ts","@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-native-adapter.ts","@ng-bootstrap/ng-bootstrap/datepicker/adapters/ngb-date-native-utc-adapter.ts","@ng-bootstrap/ng-bootstrap/datepicker/datepicker.module.ts","@ng-bootstrap/ng-bootstrap/dropdown/dropdown-config.ts","@ng-bootstrap/ng-bootstrap/dropdown/dropdown.ts","@ng-bootstrap/ng-bootstrap/dropdown/dropdown.module.ts","@ng-bootstrap/ng-bootstrap/modal/modal-config.ts","@ng-bootstrap/ng-bootstrap/util/popup.ts","@ng-bootstrap/ng-bootstrap/util/scrollbar.ts","@ng-bootstrap/ng-bootstrap/modal/modal-backdrop.ts","@ng-bootstrap/ng-bootstrap/modal/modal-ref.ts","@ng-bootstrap/ng-bootstrap/modal/modal-dismiss-reasons.ts","@ng-bootstrap/ng-bootstrap/modal/modal-window.ts","@ng-bootstrap/ng-bootstrap/modal/modal-stack.ts","@ng-bootstrap/ng-bootstrap/modal/modal.ts","@ng-bootstrap/ng-bootstrap/modal/modal.module.ts","@ng-bootstrap/ng-bootstrap/nav/nav-config.ts","@ng-bootstrap/ng-bootstrap/nav/nav.ts","@ng-bootstrap/ng-bootstrap/nav/nav-outlet.ts","@ng-bootstrap/ng-bootstrap/nav/nav.module.ts","@ng-bootstrap/ng-bootstrap/pagination/pagination-config.ts","@ng-bootstrap/ng-bootstrap/pagination/pagination.ts","@ng-bootstrap/ng-bootstrap/pagination/pagination.module.ts","@ng-bootstrap/ng-bootstrap/util/triggers.ts","@ng-bootstrap/ng-bootstrap/popover/popover-config.ts","@ng-bootstrap/ng-bootstrap/popover/popover.ts","@ng-bootstrap/ng-bootstrap/popover/popover.module.ts","@ng-bootstrap/ng-bootstrap/progressbar/progressbar-config.ts","@ng-bootstrap/ng-bootstrap/progressbar/progressbar.ts","@ng-bootstrap/ng-bootstrap/progressbar/progressbar.module.ts","@ng-bootstrap/ng-bootstrap/rating/rating-config.ts","@ng-bootstrap/ng-bootstrap/rating/rating.ts","@ng-bootstrap/ng-bootstrap/rating/rating.module.ts","@ng-bootstrap/ng-bootstrap/tabset/tabset-config.ts","@ng-bootstrap/ng-bootstrap/tabset/tabset.ts","@ng-bootstrap/ng-bootstrap/tabset/tabset.module.ts","@ng-bootstrap/ng-bootstrap/timepicker/ngb-time.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker-config.ts","@ng-bootstrap/ng-bootstrap/timepicker/ngb-time-adapter.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker-i18n.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker.ts","@ng-bootstrap/ng-bootstrap/timepicker/timepicker.module.ts","@ng-bootstrap/ng-bootstrap/toast/toast-config.ts","@ng-bootstrap/ng-bootstrap/toast/toast.ts","@ng-bootstrap/ng-bootstrap/toast/toast.module.ts","@ng-bootstrap/ng-bootstrap/tooltip/tooltip-config.ts","@ng-bootstrap/ng-bootstrap/tooltip/tooltip.ts","@ng-bootstrap/ng-bootstrap/tooltip/tooltip.module.ts","@ng-bootstrap/ng-bootstrap/typeahead/highlight.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead-window.ts","@ng-bootstrap/ng-bootstrap/util/accessibility/live.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead-config.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead.ts","@ng-bootstrap/ng-bootstrap/typeahead/typeahead.module.ts","@ng-bootstrap/ng-bootstrap/index.ts","@ng-bootstrap/ng-bootstrap/ng-bootstrap.ts","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","../../src/internal/BehaviorSubject.ts","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../src/internal/config.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/delay.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../../../../packages/forms/forms.ts","../../../src/internal/operators/auditTime.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/observable/never.ts","../../../src/internal/operators/debounce.ts","./node_modules/nouislider/distribute/nouislider.js","../../../src/internal/util/isObservable.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","../../src/internal/Subscriber.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/operators/bufferCount.ts","./node_modules/aos/dist/aos.js","../../../src/internal/operators/elementAt.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/operators/partition.ts","../src/compat/operator/filter.ts","../../../src/internal/operators/takeLast.ts","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/util/isArray.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/empty.ts","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","../../src/internal/Observable.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/catchError.ts","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","./node_modules/@babel/runtime/helpers/esm/inherits.js","../../../src/internal/operators/zipAll.ts","../../../src/internal/operators/findIndex.ts","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/operators/retryWhen.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/defer.ts","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/bufferTime.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/util/isInteropObservable.ts","../../../src/internal/observable/using.ts","../../../src/internal/observable/bindCallback.ts","./node_modules/@babel/runtime/helpers/esm/construct.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/@babel/runtime/helpers/esm/get.js","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","../../../src/internal/observable/merge.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","../../../src/internal/util/toSubscriber.ts","../../../src/internal/operators/throwIfEmpty.ts","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../src/internal/util/isObject.ts","../../../src/internal/operators/exhaustMap.ts","../../src/internal/Scheduler.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../packages/platform-browser-dynamic/src/compiler_reflector.ts","../../../../../../packages/platform-browser-dynamic/src/compiler_factory.ts","../../../../../../packages/platform-browser-dynamic/src/platform_core_dynamic.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts","../../../../../../packages/platform-browser-dynamic/src/platform_providers.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts","../../../../../../packages/platform-browser-dynamic/src/private_export.ts","../../../../../../packages/platform-browser-dynamic/src/version.ts","../../../../../../packages/platform-browser-dynamic/src/platform-browser-dynamic.ts","../../../../../../packages/platform-browser-dynamic/public_api.ts","../../../../../../packages/platform-browser-dynamic/index.ts","../../../../../../packages/platform-browser-dynamic/platform-browser-dynamic.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/operators/find.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/operators/concat.ts","../../../src/internal/operators/combineLatest.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","../../src/add/operator/filter.ts","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../src/internal/Observer.ts","../../../src/internal/operators/throttleTime.ts","./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../src/internal/observable/pairs.ts","../../src/compat/add/operator/filter.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../src/internal/observable/combineLatest.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/src/platform-browser.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","../../src/internal/ReplaySubject.ts","./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../src/internal/symbol/observable.ts","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","../../../src/internal/operators/map.ts","../../../src/internal/operators/windowCount.ts","../../../src/internal/operators/isEmpty.ts","../../../src/internal/util/pipe.ts","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","./node_modules/tslib/tslib.es6.js","../../../src/internal/util/isFunction.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/util/subscribeToArray.ts","../../../src/internal/operators/multicast.ts","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../../../../packages/common/common.ts","../../../src/internal/operators/buffer.ts","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/index.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/scheduler/queue.ts","../../src/internal/Subscription.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/operators/timeoutWith.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/subscribeOn.ts","../../../src/internal/operators/audit.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/private_export.ts","../../../../../../packages/router/src/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","../../../src/internal/operators/share.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","jw-bootstrap-switch-ng2/lib/jw-bootstrap-switch-ng2.component.ts","jw-bootstrap-switch-ng2/lib/jw-bootstrap-switch-ng2.module.ts","../../../src/internal/operators/throttle.ts","ts/src/ng2-nouislider.component.ts","ts/src/ng2-nouislider.module.ts","ts/src/ng2-nouislider.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/operators/skip.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/exhaust.ts","../../src/internal/innerSubscribe.ts"],"names":["nextId","NGB_DATEPICKER_VALUE_ACCESSOR","mod","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","TagContentType","splitNsName","elementName","colonIndex","indexOf","Error","slice","isNgContainer","tagName","isNgContent","isNgTemplate","getNsPrefix","fullName","mergeNsAndName","prefix","localName","NAMED_ENTITIES","NGSP_UNICODE","HtmlTagDefinition","closedByChildren","implicitNamespacePrefix","contentType","PARSABLE_DATA","closedByParent","isVoid","ignoreFirstLf","preventNamespaceInheritance","canSelfClose","length","forEach","name","toLowerCase","_DEFAULT_TAG_DEFINITION","TAG_DEFINITIONS","getHtmlTagDefinition","_a","_b","RAW_TEXT","ESCAPABLE_RAW_TEXT","_SELECTOR_REGEXP","RegExp","CssSelector","element","classNames","attrs","notSelectors","hasElementSelector","classAttr","join","i","attrName","attrValue","result","push","concat","value","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","match","current","inNot","lastIndex","exec","tag","addAttribute","substr","addClassName","setElement","attribute","SelectorMatcher","_elementMap","Map","_elementPartialMap","_classMap","_classPartialMap","_attrValueMap","_attrValuePartialMap","_listContexts","cssSelectors","callbackCtxt","listContext","SelectorListContext","_addSelectable","matcher","selectable","SelectorContext","isTerminal","_addTerminal","_addPartial","className","terminalMap","terminalValuesMap","get","set","partialMap","partialValuesMap","map","terminalList","matchedCallback","alreadyMatched","_matchTerminal","_matchPartial","selectables","starSelectables","finalize","nestedSelector","notMatcher","addSelectables","selectors","cbContext","callback","createNotMatcher","createInject","makeMetadataFactory","token","createInjectionToken","desc","_desc","ɵprov","undefined","createAttribute","attributeName","createContentChildren","data","Object","assign","first","isViewQuery","descendants","createContentChild","createViewChildren","createViewChild","createDirective","dir","ViewEncapsulation","ChangeDetectionStrategy","createComponent","c","changeDetection","Default","createPipe","p","pure","createInput","bindingPropertyName","createOutput","createHostBinding","hostPropertyName","createHostListener","eventName","args","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","props","factory","values","ngMetadataName","isTypeOf","obj","parserSelectorToSimpleSelector","classes","parserSelectorToNegativeSelector","parserSelectorToR3Selector","positive","negative","parseSelectorToR3Selector","parse","core","freeze","__proto__","TypeModifier","Type$1","modifiers","modifier","BuiltinTypeName","BuiltinType","visitor","context","visitBuiltinType","ExpressionType","typeParams","visitExpressionType","ArrayType","of","visitArrayType","MapType","valueType","visitMapType","DYNAMIC_TYPE","Dynamic","INFERRED_TYPE","Inferred","BOOL_TYPE","Bool","INT_TYPE","Int","NUMBER_TYPE","Number","STRING_TYPE","String","FUNCTION_TYPE","NONE_TYPE","None","UnaryOperator","BinaryOperator","nullSafeIsEquivalent","base","other","isEquivalent","areAllEquivalent","len","Expression","type","sourceSpan","ReadPropExpr","index","ReadKeyExpr","params","InvokeMethodExpr","InvokeFunctionExpr","InstantiateExpr","trueCase","falseCase","ConditionalExpr","rhs","BinaryOperatorExpr","Equals","NotEquals","Identical","NotIdentical","Minus","Plus","Divide","Multiply","Modulo","And","parens","BitwiseAnd","Or","Lower","LowerEquals","Bigger","BiggerEquals","equals","TYPED_NULL_EXPR","CastExpr","ExpressionStatement","BuiltinVar","ReadVarExpr","builtin","e","visitReadVarExpr","WriteVarExpr","TypeofExpr","expr","visitTypeofExpr","isConstant","WrappedNodeExpr","node","visitWrappedNodeExpr","visitWriteVarExpr","DeclareVarStmt","toDeclStmt","StmtModifier","Final","WriteKeyExpr","receiver","visitWriteKeyExpr","WritePropExpr","visitWritePropExpr","BuiltinMethod","method","visitInvokeMethodExpr","fn","visitInvokeFunctionExpr","classExpr","visitInstantiateExpr","LiteralExpr","visitLiteralExpr","MessagePiece","text","LiteralPiece","PlaceholderPiece","LocalizedString","metaBlock","messageParts","placeHolderNames","expressions","visitLocalizedString","MEANING_SEPARATOR","ID_SEPARATOR","LEGACY_ID_INDICATOR","description","meaning","customId","legacyIds","legacyId","createCookedRawString","getMessagePartSourceSpan","_c","_d","partIndex","placeholderName","messagePart","escapeSlashes","str","replace","escapeStartingColon","escapeColons","escapeForMessagePart","range","cooked","raw","ExternalExpr","moduleName","runtime","visitExternalExpr","ExternalReference","condition","visitConditionalExpr","NotExpr","visitNotExpr","AssertNotNull","visitAssertNotNullExpr","visitCastExpr","FnParam","param","FunctionExpr","statements","visitFunctionExpr","DeclareFunctionStmt","UnaryOperatorExpr","operator","visitUnaryOperatorExpr","lhs","visitBinaryOperatorExpr","visitReadPropExpr","visitReadKeyExpr","LiteralArrayExpr","entries","every","visitLiteralArrayExpr","LiteralMapEntry","key","quoted","LiteralMapExpr","visitLiteralMapExpr","CommaExpr","parts","visitCommaExpr","THIS_EXPR","This","SUPER_EXPR","Super","CATCH_ERROR_VAR","CatchError","CATCH_STACK_VAR","CatchStack","NULL_EXPR","LeadingComment","multiline","trailingNewline","JSDocComment","tags","serializeTags","Statement","leadingComments","leadingComment","stmt","visitDeclareVarStmt","visitDeclareFunctionStmt","visitExpressionStmt","ReturnStatement","visitReturnStmt","AbstractClassPart","ClassField","initializer","f","ClassMethod","body","m","ClassGetter","ClassStmt","parent","fields","getters","constructorMethod","methods","visitDeclareClassStmt","IfStmt","visitIfStmt","TryCatchStmt","bodyStmts","catchStmts","visitTryCatchStmt","ThrowStmt","error","visitThrowStmt","AstTransformer","ast","transformExpr","visitExpression","visitAllExpressions","visitAllStatements","entry","mapType","exprs","transformStmt","getter","ctorMethod","stmts","visitStatement","RecursiveAstVisitor","visitType","findReadVarNames","_ReadVarVisitor","varNames","arguments","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","create","constructor","prototype","keys","prop","_clone","jsDocComment","variable","importExpr","id","importType","typeModifiers","expressionType","typeofExpr","literalArr","literalMap","unary","not","assertNotNull","ifStmt","thenClause","elseClause","literal","localizedString","placeholderNames","isNull","exp","tagToString","out","DASH_CASE_REGEXP","dashCaseToCamelCase","input","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","Array","isArray","visitArray","isStrictStringMap","visitStringMap","visitPrimitive","visitOther","isDefined","val","noUndefined","ValueTransformer","arr","SyncAsync","assertSync","isPromise","then","cb","all","syncAsyncValues","some","Promise","msg","syntaxError","parseErrors","ERROR_SYNTAX_ERROR","ERROR_PARSE_ERRORS","isSyntaxError","getParseErrors","escapeRegExp","s","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","charCodeAt","low","stringify","overriddenName","toString","newLineIndex","substring","resolveForwardRef","hasOwnProperty","Version","full","splits","split","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","newArray","size","list","partitionArray","conditionFn","truthy","falsy","item","CONSTANT_PREFIX","UNKNOWN_VALUE_KEY","KEY_CONTEXT","POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS","FixupExpression","resolved","original","expression","shared","ConstantPool","isClosureCompilerEnabled","literals","literalFactories","injectorDefinitions","directiveDefinitions","componentDefinitions","pipeDefinitions","nextNameIndex","forceShared","isLongStringLiteral","keyOf","fixup","newValue","freshName","definition","usage","callFn","kind","ctx","definitions","definitionsOf","property","propertyNameOf","argumentsForKey","_getLiteralFactory","expressionForKey","resultMap","literalFactory","literalFactoryArguments","filter","resultExpressions","getConstLiteral","parameters","isVariable","pureFunctionDeclaration","uniqueName","KeyVisitor","invalid","mapKey","quote","mapEntry","arg","CORE","Identifiers","ANALYZE_FOR_ENTRY_COMPONENTS","ElementRef","NgModuleRef","ViewContainerRef","ChangeDetectorRef","QueryList","TemplateRef","Renderer2","CodegenComponentFactoryResolver","ComponentFactoryResolver","ComponentFactory","ComponentRef","NgModuleFactory","createModuleFactory","moduleDef","moduleProviderDef","RegisterModuleFactoryFn","inject","directiveInject","INJECTOR","Injector","ɵɵdefineInjectable","InjectableDef","LOCALE_ID","TRANSLATIONS_FORMAT","inlineInterpolate","interpolate","EMPTY_ARRAY","EMPTY_MAP","Renderer","viewDef","elementDef","anchorDef","textDef","directiveDef","providerDef","queryDef","pureArrayDef","pureObjectDef","purePipeDef","pipeDef","nodeValue","ngContentDef","unwrapValue","createRendererType2","RendererType2","ViewDefinition","createComponentFactory","setClassMetadata","createTokenForReference","reference","identifier","createTokenForExternalReference","reflector","resolveExternalReference","StaticSymbol","filePath","members","JSON","StaticSymbolCache","cache","declarationFile","memberSuffix","HOST_REG_EXP","sanitizeIdentifier","_anonymousTypeIndex","identifierName","compileIdentifier","ref","identifierModuleUrl","viewClassName","compType","embeddedTemplateIndex","rendererTypeName","hostViewClassName","componentFactoryName","CompileSummaryKind","tokenName","tokenReference","CompileStylesheetMetadata","moduleUrl","styles","styleUrls","_normalizeArray","CompileTemplateMetadata","encapsulation","template","templateUrl","htmlAst","externalStylesheets","animations","ngContentSelectors","interpolation","isInline","preserveWhitespaces","flatten","CompileDirectiveMetadata","isHost","isComponent","exportAs","inputs","outputs","hostListeners","hostProperties","hostAttributes","providers","viewProviders","queries","guards","viewQueries","entryComponents","componentViewType","rendererType","componentFactory","summaryKind","Directive","toSummary","host","matches","inputsMap","bindConfig","outputsMap","CompilePipeMetadata","Pipe","CompileShallowModuleMetadata","CompileNgModuleMetadata","declaredDirectives","exportedDirectives","declaredPipes","exportedPipes","bootstrapComponents","importedModules","exportedModules","schemas","transitiveModule","module","NgModule","modules","TransitiveCompileNgModuleMetadata","directivesSet","directives","exportedDirectivesSet","pipesSet","pipes","exportedPipesSet","modulesSet","entryComponentsSet","provider","has","ec","componentType","ProviderMeta","useClass","useValue","useExisting","useFactory","deps","multi","dependencies","reduce","flat","flatItem","jitSourceUrl","url","templateSourceUrl","ngModuleType","compMeta","templateMeta","sharedStylesheetJitUrl","meta","pathParts","baseName","ngModuleJitUrl","moduleMeta","templateJitUrl","CORE$1","Identifiers$1","NEW_METHOD","TRANSFORM_METHOD","PATCH_DEPS","namespaceHTML","namespaceMathML","namespaceSVG","elementStart","elementEnd","advance","syntheticHostProperty","syntheticHostListener","attributeInterpolate1","attributeInterpolate2","attributeInterpolate3","attributeInterpolate4","attributeInterpolate5","attributeInterpolate6","attributeInterpolate7","attributeInterpolate8","attributeInterpolateV","classProp","elementContainerStart","elementContainerEnd","elementContainer","styleMap","styleMapInterpolate1","styleMapInterpolate2","styleMapInterpolate3","styleMapInterpolate4","styleMapInterpolate5","styleMapInterpolate6","styleMapInterpolate7","styleMapInterpolate8","styleMapInterpolateV","classMap","classMapInterpolate1","classMapInterpolate2","classMapInterpolate3","classMapInterpolate4","classMapInterpolate5","classMapInterpolate6","classMapInterpolate7","classMapInterpolate8","classMapInterpolateV","styleProp","stylePropInterpolate1","stylePropInterpolate2","stylePropInterpolate3","stylePropInterpolate4","stylePropInterpolate5","stylePropInterpolate6","stylePropInterpolate7","stylePropInterpolate8","stylePropInterpolateV","nextContext","templateCreate","enableBindings","disableBindings","getCurrentView","textInterpolate","textInterpolate1","textInterpolate2","textInterpolate3","textInterpolate4","textInterpolate5","textInterpolate6","textInterpolate7","textInterpolate8","textInterpolateV","restoreView","pureFunction0","pureFunction1","pureFunction2","pureFunction3","pureFunction4","pureFunction5","pureFunction6","pureFunction7","pureFunction8","pureFunctionV","pipeBind1","pipeBind2","pipeBind3","pipeBind4","pipeBindV","hostProperty","propertyInterpolate","propertyInterpolate1","propertyInterpolate2","propertyInterpolate3","propertyInterpolate4","propertyInterpolate5","propertyInterpolate6","propertyInterpolate7","propertyInterpolate8","propertyInterpolateV","i18n","i18nAttributes","i18nExp","i18nStart","i18nEnd","i18nApply","i18nPostprocess","pipe","projection","projectionDef","injectAttribute","injectPipeChangeDetectorRef","invalidFactory","invalidFactoryDep","templateRefExtractor","resolveWindow","resolveDocument","resolveBody","defineComponent","setComponentScope","ComponentDefWithMeta","FactoryDef","defineDirective","DirectiveDefWithMeta","InjectorDef","defineInjector","NgModuleDefWithMeta","ModuleWithProviders","defineNgModule","setNgModuleScope","PipeDefWithMeta","definePipe","queryRefresh","viewQuery","staticViewQuery","staticContentQuery","loadQuery","contentQuery","NgOnChangesFeature","InheritDefinitionFeature","CopyDefinitionFeature","ProvidersFeature","listener","getFactoryOf","getInheritedFactory","sanitizeHtml","sanitizeStyle","sanitizeResourceUrl","sanitizeScript","sanitizeUrl","sanitizeUrlOrResourceUrl","trustConstantHtml","trustConstantScript","trustConstantResourceUrl","mapToMapExpression","convertMetaToOutput","typeWithParameters","numParams","ANIMATE_SYMBOL_PREFIX","prepareSyntheticPropertyName","prepareSyntheticListenerName","phase","isSyntheticPropertyOrListener","charAt","getSyntheticPropertyName","prepareSyntheticListenerFunctionName","jitOnlyGuardedExpression","ngJitMode","jitFlagNotDefined","jitFlagUndefinedOrTrue","wrapReference","wrapped","Text","visitText","BoundText","visitBoundText","TextAttribute","valueSpan","visitTextAttribute","BoundAttribute","securityContext","unit","keySpan","visitBoundAttribute","BoundEvent","handler","target","handlerSpan","visitBoundEvent","event","targetOrPhase","Element","attributes","children","references","startSourceSpan","endSourceSpan","visitElement","Template","templateAttrs","variables","visitTemplate","Content","visitContent","Variable","visitVariable","Reference","visitReference","Icu","vars","placeholders","visitIcu","NullVisitor","content","icu","RecursiveVisitor","visitAll","TransformVisitor","newAttributes","transformAll","newInputs","newOutputs","newChildren","newReferences","newTemplateAttrs","newVariables","nodes","visit","newNode","changed","Message","placeholderToMessage","sources","start","file","startLine","line","startCol","col","endLine","end","endCol","Text$1","Container","visitContainer","Icu$1","cases","TagPlaceholder","startName","closeName","visitTagPlaceholder","Placeholder","visitPlaceholder","IcuPlaceholder","visitIcuPlaceholder","CloneVisitor","container","n","expressionPlaceholder","ph","RecurseVisitor","child","k","BigInteger","digits","addToSelf","maxNrOfDigits","Math","max","carry","digitSum","BigIntForMultiplication","powerOfTwos","num","product","zero","multiplyByAndAddTo","exponent","getMultipliedByPowerOfTwo","previousPower","BigIntExponentiation","exponents","one","multiplyBy","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","a","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","bytesToWords32","Endian","Big","w","b","d","h0","h1","h2","h3","h4","j","rol32","fkVal","fk","temp","add32","bytesToHexString","words32ToByteString","fingerprint","hi","hash32","lo","msgFingerprint","meaningFingerprint","add64","rol64","wordsToDecimalString","bytes","wordAt","Little","mix","sub32","add32to64","high","ah","al","bh","bl","l","h","count","endian","byteAt","word","word32ToByteString","hex","base256","decimal","toThePowerOf","Serializer","SimplePlaceholderMapper","mapName","internalToPublic","publicToNextId","publicToInternal","internalName","publicName","visitPlaceholderName","_Visitor","strAttrs","_serializeAttributes","strChildren","decl","doctype","rootTag","dtd","_visitor","serialize","Declaration","unescapedAttrs","escapeXml","visitDeclaration","Doctype","visitDoctype","Tag","visitTag","Text$2","unescapedValue","CR","ws","_ESCAPED_CHARS","_MESSAGES_TAG","_MESSAGE_TAG","_PLACEHOLDER_TAG","_EXAMPLE_TAG","_SOURCE_TAG","_DOCTYPE","Xmb","messages","locale","exampleVisitor","ExampleVisitor","_Visitor$1","rootNode","sourceTags","source","version","encoding","addDefaultExamples","digest$1","toPublicName","startTagAsText","startEx","startTagPh","closeTagAsText","closeEx","closeTagPh","interpolationAsText","exTag","icuExpression","icuType","icuCases","icuAsText","exText","CLOSURE_TRANSLATION_VAR_PREFIX","TRANSLATION_VAR_PREFIX","I18N_ATTR","I18N_ATTR_PREFIX","I18N_ICU_VAR_PREFIX","I18N_ICU_MAPPING_PREFIX","I18N_PLACEHOLDER_SYMBOL","isI18nAttribute","startsWith","isI18nRootNode","isSingleI18nIcu","hasI18nMeta","hasI18nAttrs","attr","icuFromI18nMessage","wrapI18nPlaceholder","contextId","blockId","assembleI18nBoundString","strings","bindingStartIndex","acc","lastIdx","getSeqNumberGenerator","startsAt","placeholdersToParams","updatePlaceholderMap","assembleBoundTextPlaceholders","startIdx","find","idx","i18nFormatPlaceholderNames","useCamelCase","_params","formatI18nPlaceholderName","chunks","postfix","test","pop","shift","getTranslationConstPrefix","extra","declareI18nVariable","UNSAFE_OBJECT_KEY_NAME_REGEXP","TEMPORARY_NAME","CONTEXT_NAME","RENDER_FLAGS","REFERENCE_PREFIX","IMPLICIT_REFERENCE","NON_BINDABLE_ATTR","temporaryAllocator","unsupported","feature","invalid$1","asLiteral","conditionallyCreateMapObjectLiteral","keepDeclared","getOwnPropertyNames","mapToExpression","declaredName","minifiedName","trimTrailingNulls","getQueryPredicate","query","constantPool","predicate","DefinitionMap","getAttrsForDirectiveMatching","elOrTpl","attributesMap","o","chainedInstruction","calls","span","getInterpolationArgsLength","R3FactoryDelegateType","R3FactoryTarget","R3ResolvedDependencyType","compileFactoryFunction","t","ctorDepsType","typeForCtor","isDelegatedMetadata","internalType","ctorExpr","injectDependencies","injectFn","createCtorDepsType","baseFactory","baseFactoryStmt","Exported","ctorExprFinal","retExpr","makeConditionalFactory","nonCtorExpr","r","ctorStmt","toStmt","delegateType","Factory","delegateFactory","delegate","delegateFactoryStmt","delegateArgs","delegateDeps","factoryExpr","Class","isExpressionFactoryMetadata","typeArgumentCount","isPipe","dep","compileInjectDependency","Token","flags","skipSelf","optional","flagsParam","injectArgs","Attribute","Invalid","hasTypes","attributeTypes","createCtorDepType","dependenciesFromGlobalMetadata","outputCtx","injectorRef","diDeps","dependency","tokenRef","isAttribute","isOptional","isSelf","isSkipSelf","compileInjectable","factoryMeta","Injectable","useClassOnSelf","userDeps","delegateToFactory","injectableProps","providedIn","callMethod","assertArrayOfStrings","UNUSABLE_INTERPOLATION_REGEXPS","assertInterpolationSymbols","regexp","InterpolationConfig","markers","DEFAULT_INTERPOLATION_CONFIG","VERSION","JS_B64_PREFIX","SourceMapGenerator","sourcesContent","lines","lastCol0","hasMappings","col0","sourceUrl","sourceLine0","sourceCol0","currentLine","sourcesIndex","from","mappings","lastSourceIndex","lastSourceLine0","lastSourceCol0","segments","segment","segAsStr","toBase64VLQ","toBase64String","b64","i1","i2","i3","toBase64Digit","digit","B64_DIGITS","_SINGLE_QUOTE_ESCAPE_STRING_RE","_LEGAL_IDENTIFIER_RE","_INDENT_WITH","CATCH_ERROR_VAR$1","CATCH_STACK_VAR$1","_EmittedLine","indent","partsLength","srcSpans","EmitterVisitorContext","_indent","_classes","_preambleLineCount","_lines","lastPart","print","_currentLine","part","newLine","lineIsEmpty","clazz","sourceLines","_createIndent","genFilePath","startsAtLine","firstOffsetMapped","mapFirstOffsetIfNeeded","addSource","addMapping","addLine","lineIdx","spans","spanIdx","sourceLine","sourceCol","column","emittedLine","columnsLeft","AbstractEmitterVisitor","_escapeDollarInStrings","comment","println","printLeadingComments","hasElseCase","removeEmptyLastLine","incIndent","decIndent","lineWasEmpty","getBuiltinMethodName","varName","escapeIdentifier","head","serializeI18nHead","serializeI18nTemplatePart","opStr","visitAllObjects","separator","incrementedIndent","lineLength","escapeDollar","alwaysQuote","requiresQuotes","AbstractJsEmitterVisitor","pushClass","_visitClassConstructor","_visitClassGetter","_visitClassMethod","popClass","_visitParams","fnExpr","currentClass","ConcatArray","SubscribeObservable","Bind","JitEvaluator","createSourceMaps","converter","JitEmitterVisitor","createRoot","isUseStrictStatement","createReturnStmt","evaluateCode","getArgs","createSourceMap","fnBody","toSource","fnArgNames","fnArgValues","argName","emptyFn","headerLines","toSourceMapGenerator","toJsComment","executeFunction","_evalArgNames","_evalArgValues","_evalExportedVars","resultVar","_emitReferenceToExternal","hasModifier","statement","$EOF","$BSPACE","$TAB","$LF","$VTAB","$FF","$CR","$SPACE","$BANG","$DQ","$HASH","$$","$PERCENT","$AMPERSAND","$SQ","$LPAREN","$RPAREN","$STAR","$PLUS","$COMMA","$MINUS","$PERIOD","$SLASH","$COLON","$SEMICOLON","$LT","$EQ","$GT","$QUESTION","$0","$7","$9","$A","$E","$F","$X","$Z","$LBRACKET","$BACKSLASH","$RBRACKET","$CARET","$_","$a","$b","$e","$f","$n","$r","$t","$u","$v","$x","$z","$LBRACE","$BAR","$RBRACE","$NBSP","$PIPE","$TILDA","$AT","$BT","isWhitespace","code","isDigit","isAsciiLetter","isAsciiHexDigit","isNewLine","isOctalDigit","ParseLocation","offset","delta","ch","priorLine","lastIndexOf","fromCharCode","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","after","ParseSourceFile","ParseSourceSpan","fullStart","details","ParseErrorLevel","ParseError","level","ERROR","getContext","contextualMessage","typeSourceSpan","sourceFileName","sourceFile","r3JitTypeSourceSpan","typeName","R3JitReflector","typeOrFunc","lcProperty","cmpMetadata","mapLiteral","compileNgModule","moduleType","bootstrap","declarations","imports","exports","containsForwardDecls","emitInline","additionalStatements","definitionMap","refsToArray","setNgModuleScopeCall","generateSetNgModuleScopeCall","tupleTypeOf","adjacentType","scopeMap","fnCall","guardedCall","iife","iifeCall","compileInjector","compileNgModuleFromRender2","injectableCompiler","rawImports","rawExports","injectorDefArg","factoryFor","symbol","rawProviders","injectorDef","Static","accessExportScope","selectorScope","types","refs","shouldForwardDeclare","compilePipeFromMetadata","metadata","definitionMapValues","pipeName","compilePipeFromRender2","factoryRes","definitionField","ngFactoryDefStatement","pipeDefStatement","ParserError","errLocation","ctxLocation","ParseSpan","absoluteOffset","AbsoluteSourceSpan","AST","ASTWithName","nameSpan","Quote","uninterpretedExpression","location","visitQuote","EmptyExpr","ImplicitReceiver","visitImplicitReceiver","ThisReceiver","visitThisReceiver","call","Chain","visitChain","Conditional","trueExp","falseExp","visitConditional","PropertyRead","visitPropertyRead","PropertyWrite","visitPropertyWrite","SafePropertyRead","visitSafePropertyRead","KeyedRead","visitKeyedRead","KeyedWrite","visitKeyedWrite","BindingPipe","visitPipe","LiteralPrimitive","visitLiteralPrimitive","LiteralArray","visitLiteralArray","LiteralMap","visitLiteralMap","Interpolation","visitInterpolation","Binary","operation","left","right","visitBinary","Unary","binaryOp","binaryLeft","binaryRight","visitUnary","PrefixNot","visitPrefixNot","NonNullAssert","visitNonNullAssert","MethodCall","visitMethodCall","SafeMethodCall","visitSafeMethodCall","FunctionCall","visitFunctionCall","ASTWithSource","errors","visitASTWithSource","VariableBinding","ExpressionBinding","RecursiveAstVisitor$1","asts","AstTransformer$1","createPlus","createMinus","AstMemoryEfficientTransformer","modified","ParsedProperty","isLiteral","ParsedPropertyType","LITERAL_ATTR","isAnimation","ANIMATION","ParsedEvent","ParsedVariable","BoundElementProperty","EventHandlerVars","ConvertActionBindingResult","allowDefault","render3Stmts","convertActionBinding","localResolver","implicitReceiver","action","bindingId","interpolationFunction","baseSourceSpan","implicitReceiverAccesses","globals","DefaultLocalResolver","actionWithoutBuiltins","convertPropertyBindingBuiltins","createLiteralArrayConverter","argCount","createLiteralMapConverter","createPipeConverter","_AstToIrVisitor","actionStmts","flattenStatements","_Mode","prependTemporaryDecls","temporaryCount","usesImplicitReceiver","notifyImplicitReceiverUse","preventDefaultVar","lastStatement","returnExpr","convertStmtIntoExpression","createPreventDefaultVar","cast","notIdentical","converterFactory","convertBuiltins","ConvertPropertyBindingResult","currValExpr","BindingForm","convertPropertyBinding","expressionWithoutBuiltins","form","outputExpr","getStatementsFromVisitor","TrySimple","createCurrValueExpr","convertUpdateArguments","contextVariableExpression","expressionWithArgumentsToExtract","temporaryDeclaration","_BuiltinAstConverter","temporaryName","temporaryNumber","unshift","ensureStatementMode","mode","ensureExpressionMode","convertToStatementIfNeeded","_converterFactory","BuiltinFunctionCall","_localResolver","_implicitReceiver","_nodeMap","_resultMap","_currentTemporary","op","_visit","convertSourceSpan","conditional","convertedArgs","fnResult","leftMostSafe","leftMostSafeNode","convertSafeAccess","getLocal","prevUsesImplicitReceiver","varExpr","_getLocal","addImplicitReceiverAccess","localExpr","guardedExpression","temporary","needsTemporary","allocateTemporary","isBlank","access","delete","releaseTemporary","visitSome","tempNumber","moveBy","output","ShadowCss","strictStyling","cssText","hostSelector","commentsWithHash","extractCommentsWithHash","stripComments","_insertDirectives","scopedCssText","_scopeCssText","_insertPolyfillDirectivesInCssText","_insertPolyfillRulesInCssText","_cssContentNextSelectorRe","_cssContentRuleRe","rule","scopeSelector","unscopedRules","_extractUnscopedRulesFromCssText","_insertPolyfillHostInCssText","_convertColonHost","_convertColonHostContext","_convertShadowDOMSelectors","_scopeSelectors","_cssContentUnscopedRuleRe","_convertColonRule","_cssColonHostRe","_colonHostPartReplacer","_cssColonHostContextRe","_colonHostContextPartReplacer","regExp","partReplacer","_polyfillHostNoCombinator","suffix","_polyfillHost","_shadowDOMSelectorsRe","pattern","processRules","_scopeSelector","CssRule","strict","_shadowDeepSelectors","deepParts","shallowPart","otherParts","applyScope","_selectorNeedsScoping","_applyStrictSelectorScope","_applySelectorScope","re","_makeScopeMatcher","lre","rre","_selectorReSuffix","_applySimpleSelectorScope","_polyfillHostRe","replaceBy","_polyfillHostNoCombinatorRe","hnc","_","colon","isRe","_scopeSelectorPart","scopedP","safeContent","SafeSelector","scopedSelector","startIndex","sep","hasHost","shouldScope","scopedPart","restore","_colonHostContextRe","_polyfillHostContext","_colonHostRe","keep","_content","pseudo","_parenSuffix","_commentRe","_commentWithHashRe","BLOCK_PLACEHOLDER","QUOTE_PLACEHOLDER","_ruleRe","_quotedRe","CONTENT_PAIRS","QUOTE_PAIRS","ruleCallback","inputWithEscapedQuotes","escapeBlocks","inputWithEscapedBlocks","escapedString","nextBlockIndex","nextQuoteIndex","contentPrefix","blocks","StringWithEscapedBlocks","charPairs","placeholder","resultParts","escapedBlocks","openCharCount","nonBlockStartIndex","blockStartIndex","openChar","closeChar","char","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","StylesCompileDependency","setValue","CompiledStylesheet","stylesVar","isShimmed","StyleCompiler","_urlResolver","_shadowCss","comp","_compileStyles","needsStyleShim","stylesheet","shim","Emulated","isComponentStylesheet","styleExpressions","plainStyle","_shimIfNeeded","styleUrl","exprIndex","getStylesVarName","Const","style","shimCssText","component","AstPath","path","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","apply","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","options","tokenizer","_Tokenizer","mergeTextTokens","_CR_OR_CRLF_REGEXP","_unexpectedCharacterErrorMsg","charCode","_unknownEntityErrorMsg","entitySrc","_unparsableEntityErrorMsg","entityStr","CharacterReferenceType","_ControlFlowError","_file","_getTagDefinition","_currentTokenStart","_currentTokenType","_expansionCaseStack","_inInterpolation","_tokenizeIcu","tokenizeExpansionForms","_interpolationConfig","interpolationConfig","_leadingTriviaCodePoints","leadingTriviaChars","codePointAt","endPos","startPos","_cursor","EscapedCharacterCursor","PlainCharacterCursor","_preserveLineEndings","preserveLineEndings","_escapedString","_i18nNormalizeLineEndingsInICUs","i18nNormalizeLineEndingsInICUs","init","handleError","peek","_attemptCharCode","_consumeCdata","_consumeComment","_consumeDocType","_consumeTagClose","_consumeTagOpen","_tokenizeExpansionForm","_consumeText","_beginToken","EOF","_endToken","isExpansionFormStart","_consumeExpansionFormStart","isExpansionCaseStart","_isInExpansionForm","_consumeExpansionCaseStart","_isInExpansionCase","_consumeExpansionCaseEnd","_consumeExpansionFormEnd","getSpan","CursorError","_createError","cursor","compareCharCodeCaseInsensitive","chars","charsLeft","initialPosition","_attemptCharCodeCaseInsensitive","_attemptStr","_attemptCharCodeUntilFn","diff","decodeEntities","_decodeEntity","fromCodePoint","isHex","codeStart","isDigitEntityEnd","entityType","HEX","DEC","getChars","strNum","parseInt","nameStart","isNamedEntityEnd","endMarkerPredicate","tagCloseStart","foundEndMarker","_readChar","_processCarriageReturns","COMMENT_START","_requireCharCode","_consumeRawText","COMMENT_END","_requireStr","CDATA_START","CDATA_END","DOC_TYPE","contentStart","_attemptUntilChar","nameOrPrefixStart","isPrefixEnd","_requireCharCodeUntilFn","isNameEnd","openTagToken","_consumeTagOpenStart","isNotWhitespace","_consumeAttributeName","_consumeAttributeValue","_consumeTagOpenEnd","INCOMPLETE_TAG_OPEN","TEXT","contentTokenType","_consumeRawTextWithTagClose","textToken","_attemptStrCaseInsensitive","TAG_CLOSE","TAG_OPEN_START","_consumePrefixAndName","attrNameStart","ATTR_NAME","prefixAndName","ATTR_QUOTE","quoteChar","ATTR_VALUE","valueStart","TAG_OPEN_END_VOID","TAG_OPEN_END","EXPANSION_FORM_START","_readUntil","normalizedCondition","conditionToken","EXPANSION_CASE_VALUE","EXPANSION_CASE_EXP_START","EXPANSION_CASE_EXP_END","EXPANSION_FORM_END","_isTextEnd","isInterpolation","code1","code2","toUpperCaseCharCode","srcTokens","dstTokens","lastDstToken","fileOrCursor","state","advanceState","updatePeek","leadingTriviaCodePoints","startLocation","locationFromCursor","endLocation","fullStartLocation","pos","currentChar","internalState","processEscapeSequence","digitStart","decodeHexDigits","octal","previous","isNaN","TreeError","ParseTreeResult","rootNodes","Parser","tokenizeResult","parser","_TreeBuilder","build","_index","_elementStack","_advance","_peek","_consumeStartTag","_consumeEndTag","_closeVoidElement","_consumeExpansion","prev","_startToken","_advanceIf","_addToParent","expCase","_parseExpansionCase","_collectExpansionExpTokens","expansionCaseParser","expansionFormStack","lastOnStack","_getParentElement","el","startTagToken","_consumeAttr","_getElementFullName","selfClosing","tagDef","startSpan","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","stack","HtmlParser","PRESERVE_WS_ATTR_NAME","SKIP_WS_TRIM_TAGS","WS_CHARS","NO_WS_REGEXP","WS_REPLACE_REGEXP","hasPreserveWhitespacesAttr","replaceNgsp","WhitespaceVisitor","visitAllWithSiblings","isNotBlank","hasExpansionSibling","next","expansion","expansionCase","removeWhitespaces","htmlAstWithErrors","PLURAL_CASES","expandNodes","expander","_Expander","ExpansionResult","isExpanded","expanded","ExpansionError","_expandPluralForm","_expandDefaultForm","icuCase","expansionResult","switchAttr","TextAst","ngContentIndex","BoundTextAst","AttrAst","visitAttr","BoundPropertyMapping","BoundElementPropertyAst","visitElementProperty","BoundEventAst","calcFullName","visitEvent","ReferenceAst","originalValue","VariableAst","v","ElementAst","hasViewContainer","queryMatches","EmbeddedTemplateAst","visitEmbeddedTemplate","BoundDirectivePropertyAst","directiveName","templateName","visitDirectiveProperty","DirectiveAst","directive","hostEvents","contentQueryStartId","visitDirective","ProviderAst","multiProvider","eager","providerType","lifecycleHooks","isModule","ProviderAstType","NgContentAst","visitNgContent","NullTemplateVisitor","RecursiveTemplateAstVisitor","templateVisitAll","ProviderError","ProviderViewContext","_getViewQueries","ProviderElementContext","viewContext","_parent","_isViewRoot","_directiveAsts","isTemplate","_sourceSpan","_transformedProviders","_seenProviders","_queriedTokens","transformedHasViewContainer","_attrs","attrAst","directivesMeta","directiveAst","_allProviders","_resolveProvidersFromDirectives","_contentQueries","_getContentQueries","_addQueryReadsTo","templateRefId","refAst","defaultQueryValue","_getOrCreateLocalProvider","lazyProviders","eagerProviders","sortedProviderTypes","transformProviders","sortedDirectives","sort","dir1","dir2","allMatches","defaultValue","queryReadTokens","_getQueriesFor","queryValue","read","queryId","currentEl","distance","requestingProviderType","resolvedProvider","PublicService","PrivateService","Builtin","transformedProviderAst","transformedProviders","transformedUseValue","transformedUseExisting","transformedDeps","existingDiDep","_getDependency","_transformProvider","_transformProviderAst","isValue","Component","currElement","currEager","_getLocalDependency","prevElement","NgModuleProviderAnalyzer","extraProviders","_errors","ngModuleProvider","_resolveProviders","errorString","requestorSourceSpan","foundLocal","targetErrors","providersByToken","dirProvider","directivesWithComponentFirst","targetProvidersByToken","isUseValue","viewQueryId","_addQueryToTokenMap","contentQueryId","contentQueries","directiveIndex","StyleWithImports","isStyleUrlResolvable","schemeMatch","URL_WITH_SCHEMA_REGEXP","extractStyleUrls","resolver","baseUrl","foundUrls","modifiedCssText","CSS_STRIPPABLE_COMMENT_REGEXP","CSS_IMPORT_REGEXP","resolve","PROPERTY_PARTS_SEPARATOR","ATTRIBUTE_PREFIX","CLASS_PREFIX","STYLE_PREFIX","TEMPLATE_ATTR_PREFIX","ANIMATE_PROP_PREFIX","BindingParser","_exprParser","_schemaRegistry","pipesByName","_usedPipes","dirMeta","boundProps","propName","parsePropertyBinding","_reportError","elementSelector","createBoundHostProperties","createBoundElementProperty","targetEvents","parseEvent","sourceInfo","parseInterpolation","_reportExpressionParserErrors","_checkPipes","wrapLiteralPrimitive","parseInterpolationExpression","tplKey","tplValue","absoluteValueOffset","targetMatchableAttrs","targetProps","targetVars","isIvyAst","absoluteKeyOffset","bindings","_parseTemplateBindings","binding","bindingSpan","moveParseSourceSpan","srcSpan","_parsePropertyAst","parseLiteralAttr","bindingsResult","parseTemplateBindings","templateBindings","warnings","warning","WARNING","isAnimationLabel","_parseAnimation","isAnimationProp","_parseBinding","DEFAULT","isHostBinding","parseSimpleBinding","parseBinding","boundProp","skipValidation","mapPropertyName","NONE","bindingType","boundPropertyName","securityContexts","_validatePropertyOrAttributeName","calcPossibleSecurityContexts","nsSeparatorIdx","ns","STYLE","mappedPropName","getMappedPropName","_parseAnimationEvent","_parseRegularEvent","_parseAction","parseAction","collector","PipeCollector","pipeMeta","isAttr","report","validateAttribute","validateProperty","registry","ctxs","elementNames","allKnownElementNames","notElementNames","isElementSelector","possibleElementNames","absoluteSpan","startDiff","endDiff","NG_CONTENT_SELECT_ATTR","LINK_ELEMENT","LINK_STYLE_REL_ATTR","LINK_STYLE_HREF_ATTR","LINK_STYLE_REL_VALUE","STYLE_ELEMENT","SCRIPT_ELEMENT","NG_NON_BINDABLE_ATTR","NG_PROJECT_AS","preparseElement","selectAttr","hrefAttr","relAttr","nonBindable","projectAs","lcAttrName","normalizeNgContentSelect","nodeName","PreparsedElementType","OTHER","NG_CONTENT","SCRIPT","STYLESHEET","PreparsedElement","BIND_NAME_REGEXP","KW_BIND_IDX","KW_LET_IDX","KW_REF_IDX","KW_ON_IDX","KW_BINDON_IDX","KW_AT_IDX","IDENT_KW_IDX","IDENT_BANANA_BOX_IDX","IDENT_PROPERTY_IDX","IDENT_EVENT_IDX","TEMPLATE_ATTR_PREFIX$1","CLASS_ATTR","_TEXT_CSS_SELECTOR","TEXT_CSS_SELECTOR","TemplateParseError","TemplateParseResult","templateAst","usedPipes","TemplateParser","_config","_reflector","_htmlParser","_console","transforms","tryParse","warn","htmlParseResult","getInterpolationConfig","tryParseHtml","expandHtml","uniqDirectives","removeSummaryDuplicates","uniqPipes","providerViewContext","bindingParser","parseVisitor","TemplateParseVisitor","EMPTY_ELEMENT_CONTEXT","getUsedPipes","_assertNoReferenceDuplicationOnTemplate","transform","forced","expandedHtmlAst","fromArray","existingReferences","config","_bindingParser","_schemas","_targetErrors","selectorMatcher","directivesIndex","ngContentCount","findNgContentIndex","valueNoNgsp","queryStartIndex","elName","preparsedElement","matchableAttrs","elementOrDirectiveProps","elementOrDirectiveRefs","elementVars","events","templateElementOrDirectiveProps","templateMatchableAttrs","templateElementVars","hasInlineTemplates","isTemplateElement","parsedVariables","hasBinding","_parseAttr","fromParsedVariable","templateValue","templateKey","normalizedName","_normalizeAttributeName","hasTemplateBinding","parseInlineTemplateBinding","elementCssSelector","createElementCssSelector","_parseDirectives","directiveMetas","matchElement","boundDirectivePropNames","directiveAsts","_createDirectiveAsts","elementProps","_createElementPropertyAsts","isViewRoot","providerContext","NON_BINDABLE_VISITOR","ElementContext","afterElement","projectionSelector","parsedElement","_isEmptyTextNode","_assertAllEventsPublishedByDirectives","_assertNoComponentsNorElementBindingsOnTemplate","transformedDirectiveAsts","_assertElementExists","_assertOnlyOneComponent","templateQueryStartIndex","templateSelector","templateBoundDirectivePropNames","templateDirectiveAsts","templateElementProps","templateProviderContext","targetRefs","boundEvents","bindParts","_parseVariable","_parseReference","_parseAssignmentEvent","parsePropertyInterpolation","fromParsedEvent","ElementOrDirectiveRef","elementSourceSpan","targetReferences","targetBoundDirectivePropNames","matchedReferences","directiveProperties","boundProperties","createDirectiveHostPropertyAsts","fromBoundProperty","_checkPropertiesInSchema","parsedEvents","createDirectiveHostEventAsts","_createDirectivePropertyAsts","elOrDirRef","isReferenceToDirective","refToken","targetBoundDirectiveProps","boundPropsByName","prevValue","dirProp","elProp","isEmptyExpression","boundElementProps","_findComponentDirectives","componentTypeNames","_findComponentDirectiveNames","hasElement","allDirectiveEvents","hasProperty","NonBindableVisitor","attrNameAndValues","splitExportAs","splitClasses","classAttrValue","_ngContentIndexMatcher","_wildcardNgContentIndex","ngContentIndices","wildcardNgContentIndex","elNameNoNs","attrNameNoNs","items","parenDepth","propStart","currentProp","valueHasQuotes","hyphenate","styleVal","stripUnnecessaryQuotes","qS","qE","tempValue","IMPORTANT_FLAG","MIN_STYLING_BINDING_SLOTS_REQUIRED","StylingBuilder","_directiveExpr","_hasInitialValues","hasBindings","hasBindingsWithPipes","_classMapInput","_styleMapInput","_singleStyleInputs","_singleClassInputs","_lastStylingInput","_firstStylingInput","_stylesIndex","_classesIndex","_initialStyleValues","_initialClassValues","registerInputBasedOnName","registerStyleInput","registerClassInput","isStyle","isClass","isMapBased","normalizePropName","parseProperty","hasOverrideFlag","bindingSuffix","registerIntoMap","_checkForPipes","populateInitialStylingAttrs","valueConverter","_buildMapBasedInstruction","isClassBased","stylingInput","totalBindingSlotsRequired","mapValue","getClassMapInterpolationExpression","getStyleMapInterpolationExpression","supportsInterpolation","allocateBindingSlots","convertFn","convertResult","getInterpolationExpressionFn","instructions","previousInstruction","referenceForCall","_buildSingleInputs","getStylePropInterpolationExpression","styleMapInstruction","buildStyleMapInstruction","classMapInstruction","buildClassMapInstruction","_buildStyleInputs","_buildClassInputs","overrideIndex","unitIndex","TokenType$1","KEYWORDS","Lexer","scanner","_Scanner","scanToken","Token$1","numValue","strValue","Character","Operator","Identifier","Keyword","newCharacterToken","newIdentifierToken","newKeywordToken","newOperatorToken","newStringToken","newNumberToken","newErrorToken","isIdentifierStart","scanIdentifier","scanNumber","scanCharacter","scanString","scanOperator","scanComplexOperator","twoCode","two","threeCode","three","isIdentifierPart","simple","isExponentStart","isExponentSign","parseIntAutoRadix","parseFloat","buffer","marker","unescapedCode","unescape","last","isIdentifier","isQuote","SplitInterpolation","offsets","TemplateBindingParseResult","defaultInterpolateRegExp","_createInterpolateRegExp","_getInterpolateRegExp","Parser$1","_lexer","simpleExpressionChecker","SimpleExpressionChecker","_checkNoInterpolation","sourceToLex","_stripComments","_ParseAST","parseChain","_parseBindingAst","checker","checkSimpleExpression","_parseQuote","prefixSeparatorIndex","toAbsolute","splitInterpolation","expressionNodes","expressionText","createInterpolationAst","atInterpolation","extendLastString","interpStart","interpEnd","exprStart","exprEnd","fullEnd","piece","_commentStart","outerQuote","nextChar","_findInterpolationErrorColumn","partInErrIdx","IvyParser","IvySimpleExpressionChecker","ParseContextFlags","inputLength","rparensExpected","rbracketsExpected","rbracesExpected","sourceSpanCache","atEOF","currentEndIndex","curToken","inputIndex","serial","ret","isCharacter","isKeywordLet","isKeywordAs","consumeOptionalCharacter","isOperator","consumeOptionalOperator","tok","isKeyword","prettyPrintToken","isString","parsePipe","parseExpression","expectIdentifierOrKeyword","parseConditional","parseLogicalOr","yes","no","parseLogicalAnd","parseEquality","parseRelational","parseAdditive","parseMultiplicative","parsePrefix","parseCallChain","parsePrimary","resultStart","parseAccessMemberOrMethodCall","withContext","Writable","expectCharacter","parseCallArguments","isKeywordNull","isKeywordUndefined","isKeywordTrue","isKeywordFalse","isKeywordThis","elements","parseExpressionList","parseLiteralMap","isNumber","toNumber","literalValue","terminator","expectIdentifierOrKeywordOrString","isSafe","positionals","operatorFound","currentAbsoluteOffset","parseDirectiveKeywordBindings","letBinding","parseLetBinding","expectTemplateBindingKey","parseAsBinding","consumeStatementTerminator","getDirectiveBoundTarget","spanEnd","asBinding","peekKeywordAs","peekKeywordLet","spanStart","locationText","skip","isError","_SECURITY_SCHEMA","SECURITY_SCHEMA","registerContext","HTML","URL","RESOURCE_URL","specs","spec","ElementSchemaRegistry","BOOLEAN","NUMBER","STRING","OBJECT","SCHEMA","_ATTR_TO_PROP","DomElementSchemaRegistry","_schema","encodedType","strType","strProperties","properties","typeNames","superName","superType","schemaMetas","schema","elementProperties","camelCaseProp","userProvidedProp","strVal","_isPixelDimensionStyle","valAndSuffixMatch","BIND_NAME_REGEXP$1","KW_BIND_IDX$1","KW_LET_IDX$1","KW_REF_IDX$1","KW_ON_IDX$1","KW_BINDON_IDX$1","KW_AT_IDX$1","IDENT_KW_IDX$1","IDENT_BANANA_BOX_IDX$1","IDENT_PROPERTY_IDX$1","IDENT_EVENT_IDX$1","TEMPLATE_ATTR_PREFIX$2","htmlAstToRender3Ast","htmlNodes","HtmlAstToIvyAst","ivyNodes","allErrors","inI18nBlock","isI18nRootElement","reportError","contents","textContents","parsedProperties","i18nAttrsMeta","templateParsedProperties","templateVariables","elementHasInlineTemplate","normalizeAttributeName","isTemplateBinding","parseAttribute","NON_BINDABLE_VISITOR$1","isEmptyTextNode","isCommentNode","extractAttributes","bound","hoistedAttrs","_visitTextWithInterpolation","formattedKey","i18nPropsMeta","bep","fromBoundElementProperty","matchableAttributes","createKeySpan","normalizationAdjustment","keySpanStart","keySpanEnd","parseVariable","parseReference","addEvents","parseAssignmentEvent","NonBindableVisitor$1","TagType","setupRegistry","getUniqueId","icus","I18nContext","templateIndex","isEmitted","_unresolvedCtxCount","_registry","closed","serializePlaceholderValue","phs","appendTag","TEMPLATE","ELEMENT","findTemplateFn","childPhs","tmplIdx","findIndex","isCloseTag","isTemplateTag","endsWith","tmpl","wrap","wrapTag","IcuSerializerVisitor","formatPh","serializer","serializeIcuNode","TAG_TO_PLACEHOLDER_NAMES","PlaceholderRegistry","_placeHolderNameCounts","_signatureToName","signature","_hashTag","upperTag","_generateUniqueName","_hashClosingTag","upperName","seen","_expParser","createI18nMessageFactory","_I18nVisitor","visitNodeFn","toI18nMessage","noopVisitNodeFn","_html","_expressionParser","isIcu","icuDepth","placeholderRegistry","placeholderToContent","i18nodes","startPhName","getStartTagPlaceholderName","closePhName","getCloseTagPlaceholderName","i18nIcuCases","i18nIcu","caze","expPh","getUniquePlaceholder","phName","getPlaceholderName","_icuCase","_context","previousI18n","_addText","_addPlaceholder","reusePreviousSourceSpans","textPiece","interpolationSpan","stringSpan","getOffsetSourceSpan","extractPlaceholderName","assertSingleContainerMessage","assertEquivalentNodes","previousNodes","_CUSTOM_PH_EXP","setI18nRefs","htmlNode","i18nNode","previousMessage","I18nMetaVisitor","keepI18nAttrs","enableI18nLegacyMessageIdFormat","_createI18nMessage","_parseMetadata","_setMessageId","_setLegacyIds","attrsMeta","_generateI18nMessage","currentMessage","parseI18nMeta","I18N_MEANING_SEPARATOR","I18N_ID_SEPARATOR","idIndex","descIndex","meaningAndDesc","i18nMetaToJSDoc","GOOG_GET_MSG","createGoogleGetMsgStatements","variable$1","closureVar","messageString","serializeI18nMessageForGetMsg","googGetMsgStmt","toConstDecl","metaComment","addLeadingComment","i18nAssignmentStmt","GetMsgSerializerVisitor","serializerVisitor$1","createLocalizeStatements","serializeI18nMessageForLocalize","placeHolders","getSourceSpan","localizedString$1","variableInitialization","LocalizeSerializerVisitor","createPlaceholderPiece","serializerVisitor$2","pieces","processMessagePieces","startNode","endNode","createEmptyMessagePart","NG_CONTENT_SELECT_ATTR$1","NG_PROJECT_AS_ATTR_NAME","EVENT_BINDING_SCOPE_GLOBALS","GLOBAL_TARGET_RESOLVERS","LEADING_TRIVIA_CHARS","renderFlagCheckIfStmt","bitwiseAnd","prepareEventListenerParameters","eventAst","handlerName","scope","eventArgumentName","implicitReceiverExpr","bindingLevel","getOrCreateSharedContextVar","bindingExpr","restoreViewStatement","variableDeclarations","fnName","fnArgs","handlerFn","createComponentDefConsts","prepareStatements","constExpressions","TemplateDefinitionBuilder","parentBindingScope","contextName","i18nContext","directiveMatcher","pipeTypeByName","_namespace","relativeContextFilePath","i18nUseExternalIds","_constants","_dataIndex","_bindingContext","_prefixCode","_creationCodeFns","_updateCodeFns","_currentIndex","_tempVariables","_nestedTemplateFns","_unsupported","_pureFunctionSlots","_bindingSlots","_ngContentReservedSlots","_ngContentSelectorsOffset","_implicitReceiverExpr","_bindingScope","nestedScope","fileBasedI18nSuffix","_valueConverter","ValueConverter","allocateDataSlot","numSlots","allocatePureFunctionSlots","slot","pipeType","creationInstruction","ngContentSelectorsOffset","registerContextVariables","initI18nContext","isSingleElementTemplate","selfClosingI18nInstruction","hasTextChildrenOnly","updatePipeSlotOffsets","buildTemplateFn","r3ReservedSlots","creationStatements","updateStatements","creationVariables","viewSnapshotStatements","updateVariables","creationBlock","updateBlock","transformFn","_ref","i18nGenerateMainBlockVar","i18nGenerateClosureVar","getTranslationDeclStmts","scopedName","freshReferenceName","retrievalLevel","relativeLevel","sharedCtxVar","getSharedContextName","generateNextContextExpr","appendBinding","label","i18nAppendBindings","messageId","uniqueSuffix","isRoot","isResolved","getSerializedPlaceholders","icuMapping","needsPostprocessing","instruction","i18nTranslate","forkChildContext","addToConsts","reconcileChildContext","i18nUpdateRef","chainBindings","updateInstructionChainWithAdvance","getConstCount","updateInstruction","nodeIndex","i18nAttrArgs","converted","constIndex","namespaceKey","nsInstruction","elementIndex","updateInstructionWithAdvance","getUpdateInstructionArguments","ngContent","projectionSlotIdx","nonContentSelectAttributes","getAttributeExpressions","appendProjection","stylingBuilder","isNonBindableMode","outputAttrs","isNgContainer$1","registerStyleAttr","registerClassAttr","matchDirectives","allOtherInputs","boundI18nAttrs","stylingInputWasSet","registerBoundInput","addAttrsToConsts","prepareRefsArray","wasInNamespace","currentNamespace","getNamespaceInstruction","addNamespaceInstruction","appendElement","hasChildren","createSelfClosingInstruction","createSelfClosingI18nInstruction","i18nAttributesInstruction","listeners","outputAst","prepareListenerParameter","creationInstructionChain","stylingInstructions","buildUpdateLevelInstructions","limit","processStylingUpdateInstruction","emptyValueBindInstruction","propertyBindings","attributeBindings","inputType","hasValue","attrNamespace","isAttributeBinding","sanitizationRef","resolveSanitizationFn","namespaceLiteral","interpolatedUpdateInstruction","getPropertyInterpolationExpression","getAttributeInterpolationExpression","boundValue","NG_TEMPLATE_TAG_NAME","appendTemplate","attrsExprs","templateVisitor","templateFunctionExpr","buildTemplateFunction","getVarCount","templatePropertyBindings","i18nInputs","appendBoundText","getTextInterpolationExpression","initWasInvoked","i18nBindProps","formatted","appendIcu","fns","paramsOrFn","prepend","instructionFn","addAdvanceInstructionIfNecessary","fnParams","updateInstructionChain","originalSlots","convertedPropertyBinding","getImplicitReceiverExpr","bindingContext","valExpr","createCssSelector","staticType","renderAttributes","alreadySeen","attrExprs","ngProjectAsAttr","getAttributeNameLiterals","trustedConstAttribute","getNgProjectAsLiteral","addAttrExpr","attrsLengthBeforeInputs","consts","refsParam","variableName","nextContextStmt","refExpr","bindingFnName","allocateSlot","_pipeBindExprs","slotPseudoLocal","pureFunctionSlot","pipeBindingCallInfo","isVarLength","pipeBindExpr","bindingSlots","slotOffset","array","getLiteralFactory","pipeBindingIdentifiers","pureFunctionIdentifiers","pureFunctionCallInfo","relativeLevelDiff","literal$1","allocateSlots","startSlot","attributeNamespace","nameLiteral","SHARED_CONTEXT_KEY","BindingScope","referenceNameIndex","restoreViewVariable","declareLocalCallback","declare","priority","localRef","maybeGenerateSharedContextVar","maybeRestoreView","getComponentProperty","newScope","generateSharedContextVar","bindingKey","sharedCtxObj","componentValue","localRefLookup","isListenerScope","getCurrentViewInstruction","currentContextLevel","levelDiff","currStmts","elementNameNoNs","nameNoNs","parsedR3Selector","parseTemplate","makeBindingParser","htmlParser","parseResult","i18nMetaVisitor","elementRegistry","isTextNode","NG_I18N_CLOSURE_MODE","createClosureModeGuard","and","ATTR_REGEX","baseDirectiveFields","createContentQueriesFunction","createViewQueriesFunction","createHostBindingsFunction","addFeatures","features","usesInheritance","fullInheritance","lifecycle","usesOnChanges","compileDirectiveFromMetadata","toLiteralMap","createDirectiveTypeParams","compileComponentFromMetadata","firstSelector","selectorAttributes","getAttrs","templateTypeName","directivesUsed","pipesUsed","templateBuilder","createRootScope","templateFunctionExpression","getNgContentSelectors","getConsts","constsExpr","directivesExpr","wrapDirectivesAndPipesInClosure","pipesExpr","styleValues","compileStyles","stringArrayAsType","compileDirectiveFromRender2","directiveMetadataFromGlobalMetadata","directiveDefStatement","compileComponentFromRender2","render3Ast","directiveTypeBySel","summary","typeMapToExpressionMap","queriesFromGlobalMetadata","componentDefStatement","propertyName","selectorsFromGlobalMetadata","static","selectorStrings","prepareQueryParams","convertAttributesToExpressions","createStatements","tempAllocator","queryInstruction","getQueryList","refresh","updateDirective","contentQueriesFnName","stringAsType","stringMapAsType","mapValues","selectorForType","q","queryDefinition","viewQueryFnName","hostBindingsMetadata","styleBuilder","specialAttributes","styleAttr","hostBindingSourceSpan","directiveSummary","metadataAsSummary","eventBindings","createHostListeners","allOtherBindings","totalHostVarsCount","getValueConverter","hostVarsCountFn","originalVarsCount","syntheticHostBindings","bindingFn","getBindingNameAndInstruction","bindingName","sanitizerFn","instructionParams","hostAttrs","assignHostAttrs","convertStylingCall","hostBindingsFnName","implicit","attrMatches","syntheticListeners","HOST_REG_EXP$1","parseHostBindings","verifyHostBindings","shadowCss","ResourceLoader","CompilerFacadeImpl","jitEvaluator","elementSchemaRegistry","angularCoreEnv","sourceMapUrl","facade","wrapReference$1","convertR3DependencyMetadataArray","jitExpression","computeProvidedIn","wrapExpression","USE_CLASS","USE_FACTORY","USE_VALUE","USE_EXISTING","convertDirectiveFacadeToMetadata","err","getDefaultComponentElementName","jitExpressionSourceMap","def","preStatements","evaluateStatements","convertToR3QueryMetadata","inputsFromMetadata","parseInputOutputs","outputsFromMetadata","propMetadata","inputsFromType","outputsFromType","field","ann","isInput","isOutput","extractHostBindings","convertR3DependencyMetadata","tokenExpr","facades","isHostListener","publishFacade","ng","ɵcompilerFacade","VERSION$1","CompilerConfig","defaultEncapsulation","useJit","jitDevMode","missingTranslation","strictInjectionParameters","preserveWhitespacesDefault","preserveWhitespacesOption","defaultSetting","DirectiveNormalizer","_resourceLoader","_resourceLoaderCache","clear","normalizedDirective","prenormData","_preParseTemplate","preparsedTemplate","_normalizeTemplateMetadata","prenomData","_fetch","_preparseLoadedTemplate","templateAbsUrl","rootNodesAndErrors","templateMetadataStyles","_normalizeStylesheet","TemplatePreparseVisitor","templateStyles","inlineStyleUrls","_loadMissingExternalStylesheets","_normalizeLoadedTemplateMetadata","stylesheets","_inlineStyles","targetStyles","loadedStylesheets","loadedStyle","allStyleUrls","allStyles","styleWithImports","ngNonBindableStackCount","textContent","QUERY_METADATA_IDENTIFIERS","DirectiveResolver","typeMetadata","annotations","isDirectiveMetadata","throwIfNotFound","findLast","propertyMetadata","_mergeWithPropertyMetadata","dm","directiveType","hostBindings","hostBinding","startWith","hostListener","_merge","names","publicNames","reversedResult","_extractPublicName","reverse","mergedInputs","_dedupeBindings","mergedOutputs","mergedHost","mergedQueries","moduleId","I18nError","_I18N_ATTR","_I18N_ATTR_PREFIX","_I18N_COMMENT_PREFIX_REGEXP","i18nCommentsWarned","extractMessages","implicitTags","implicitAttrs","_Visitor$2","extract","mergeTranslations","translations","merge","ExtractionResult","_VisitorMode","_implicitTags","_implicitAttrs","_init","Extract","_inI18nBlock","_messages","Merge","_translations","wrapper","translatedNode","_mode","_mayBeAddBlockChildren","wasInIcu","_inIcu","_isInTranslatableSection","_addMessage","isOpening","_isOpeningComment","isClosing","_isClosingComment","_inI18nNode","console","_blockStartDepth","_depth","_blockChildren","_blockMeaningAndDesc","_openTranslatableSection","_closeTranslatableSection","_translateMessage","wasInI18nNode","wasInImplicitNode","_inImplicitNode","childNodes","translatedChildNodes","i18nAttr","_getI18nAttr","i18nMeta","isImplicit","isTopLevelImplicit","isTranslatable","visitNodes","visited","_visitAttributesOf","translatedAttrs","_translateAttributes","_msgCountAtSectionStart","explicitAttrNameToValue","implicitAttrNames","msgMeta","_parseMessageMeta","i18nParsedMessageMeta","translatedAttributes","directChildren","significantChildren","XmlTagDefinition","currentParent","_TAG_DEFINITION","getXmlTagDefinition","XmlParser","_VERSION","_XMLNS","_DEFAULT_SOURCE_LANG","_PLACEHOLDER_TAG$1","_MARKER_TAG","_FILE_TAG","_SOURCE_TAG$1","_SEGMENT_SOURCE_TAG","_ALT_TRANS_TAG","_TARGET_TAG","_UNIT_TAG","_CONTEXT_GROUP_TAG","_CONTEXT_TAG","Xliff","_WriteVisitor","transUnits","contextTags","contextGroupTag","purpose","transUnit","datatype","xliff","xmlns","xliffParser","XliffParser","msgIdToHtml","i18nNodesByMsgId","XmlToI18n","msgId","convert","i18nNodes","ctype","getCtypeForTag","equivText","_locale","_unitMlString","_msgIdToHtml","xml","idAttr","_addError","innerTextStart","innerTextEnd","innerText","localeAttr","xmlIcu","nameAttr","caseMap","_VERSION$1","_XMLNS$1","_DEFAULT_SOURCE_LANG$1","_PLACEHOLDER_TAG$2","_PLACEHOLDER_SPANNING_TAG","_MARKER_TAG$1","_XLIFF_TAG","_SOURCE_TAG$2","_TARGET_TAG$1","_UNIT_TAG$1","Xliff2","_WriteVisitor$1","units","notes","category","srcLang","xliff2Parser","Xliff2Parser","XmlToI18n$1","getTypeForTag","tagPh","_nextPlaceholderId","equiv","disp","tagPc","equivStart","equivEnd","dispStart","dispEnd","idStr","versionAttr","startAttr","endAttr","startId","endId","_TRANSLATIONS_TAG","_TRANSLATION_TAG","_PLACEHOLDER_TAG$3","Xtb","xtbParser","XtbParser","XmlToI18n$2","valueFn","createLazyProperty","defineProperty","configurable","enumerable","xtb","_bundleDepth","langAttr","TranslationBundle","_i18nNodesByMsgId","mapperFactory","missingTranslationStrategy","Warning","_i18nToHtml","I18nToHtmlVisitor","srcMsg","html","load","digestFn","createNameMapper","_digest","_mapperFactory","_missingTranslationStrategy","_contextStack","_convertToText","_srcMsg","_mapper","mapper","toInternalName","I18NHtmlParser","translationsFormat","createSerializer","_translationBundle","format","QUOTED_KEYS","convertValueToOutputAst","_ValueOutputAstTransformer","quotedSet","mapEntry$1","InjectableCompiler","alwaysGenerateDef","tokenInjector","retValue","depsArray","depArgs","injectableDef","STRIP_SRC_FILE_SUFFIXES","GENERATED_FILE","JIT_SUMMARY_FILE","JIT_SUMMARY_NAME","ngfactoryFilePath","forceSourceFile","urlWithSuffix","splitTypescriptSuffix","normalizeGenFileSuffix","stripGeneratedFileSuffix","isGeneratedFile","lastDot","srcFileSuffix","summaryFileName","fileName","fileNameWithoutSuffix","summaryForJitFileName","stripSummaryForJitFileSuffix","summaryForJitName","symbolName","stripSummaryForJitNameSuffix","LOWERED_SYMBOL","isLoweredSymbol","createLoweredSymbol","LifecycleHooks","LIFECYCLE_HOOKS_VALUES","OnInit","OnDestroy","DoCheck","OnChanges","AfterContentInit","AfterContentChecked","AfterViewInit","AfterViewChecked","hasLifecycleHook","hook","getHookName","getAllLifecycleHooks","unexpected","ERROR_COMPONENT_TYPE","CompileMetadataResolver","_ngModuleResolver","_directiveResolver","_pipeResolver","_summaryResolver","_directiveNormalizer","_staticSymbolCache","_errorCollector","_nonNormalizedDirectiveCache","_directiveCache","_summaryCache","_pipeCache","_ngModuleCache","_ngModuleOfTypes","_shallowModuleCache","clearCacheFor","clearCache","baseType","proxyClass","setDelegate","dirType","_createProxyClass","getGeneratedClass","hostView","getHostComponentViewClass","typeSummary","resolveSummary","hostViewType","hostType","getHostComponentType","getMatchingElementTemplate","isSync","getNonNormalizedDirectiveMetadata","annotation","createDirectiveMetadata","templateMetadata","normalizedDirMeta","initComponentFactory","normalizeTemplate","componentModuleUrl","componentStillLoadingError","cacheEntry","nonNormalizedTemplateMetadata","changeDetectionStrategy","entryComponentMetadata","_getProvidersMetadata","stringifyType","flattenAndDedupeArray","_getEntryComponentMetadata","_getQueriesMetadata","_getTypeMetadata","getComponentViewClass","getRendererType","getComponentFactory","dirSummary","_loadSummary","isDirective","isNgModule","alreadyCollecting","moduleSummary","getNgModuleMetadata","loading","promise","loadDirectiveMetadata","_loadPipeMetadata","compileMeta","ngModuleMeta","shallowAnnotations","exportedNonModuleIdentifiers","importedType","importedModuleType","isValidType","moduleWithProviders","_checkSelfImport","_getTypeDescriptor","importedModuleSummary","getNgModuleSummary","exportedType","exportedModuleSummary","_getIdentifierMetadata","_getTransitiveNgModuleMetadata","declaredType","declaredIdentifier","isAbstractDirective","addDirective","_addTypeToModule","addPipe","exportedId","addExportedDirective","addExportedPipe","addEntryComponent","addProvider","addModule","provide","oldModule","modulesByToken","modSummary","addedTokens","prevModules","moduleRef","tryAnnotations","throwOnUnknownDeps","_getDependenciesMetadata","pipeSummary","pipeAnnotation","hasUnknownDeps","dependenciesMetadata","paramEntry","_getTokenMetadata","depsTokens","compileToken","targetEntryComponents","debugInfo","compileProviders","providerIdx","providerMeta","_validateProvider","providersInfo","soFar","seenProvider","seenProviderIdx","_getEntryComponentsFromProvider","getProviderMetadata","components","collectedIdentifiers","extractIdentifiers","compileDeps","compileTypeMetadata","compileFactoryMetadata","_getInjectableTypeMetadata","_getFactoryMetadata","_getQueryMetadata","_queryVarBindings","otherType","flattenArray","tree","dedupeArray","targetIdentifiers","_CompileValueConverter","providerAst","lifecycleHook","lifecycleHookToNodeFlag","multiProviderDef","singleProviderDef","providerExpr","providerFlags","depsExpr","allDepDefs","allParams","providerIndex","depExprs","convertDeps","instantiate","depIndex","paramName","depDef","tokenMeta","nodeFlag","componentFactoryResolverProviderDef","entryComponentFactories","entryComponent","classMeta","NgModuleCompileResult","ngModuleFactoryVar","LOG_VAR","NgModuleCompiler","providerParser","providerDefs","ngModuleDef","ngModuleDefFactory","_createNgModuleFactory","registerFactoryStmt","ngModuleReference","ngModuleFactoryStmt","NgModuleResolver","debugOutputAstAsTypeScript","_TsEmitterVisitor","TypeScriptEmitter","preamble","emitSourceMaps","referenceFilter","importFilter","preambleLines","reexports","exportedModuleName","reexportsCode","reexport","as","importsWithPrefixes","importedModuleName","sm","setPreambleLineCount","sourceText","emitStatementsAndContext","typeExpression","defaultType","_visitIdentifier","_printColonType","_visitClassField","Private","typeStr","suppliedParameters","PipeResolver","metas","TypeCheckCompiler","componentId","externalReferenceVars","embeddedViewCount","viewBuilderFactory","embeddedViewIndex","ViewBuilder","DYNAMIC_VAR_NAME","TypeCheckLocalResolver","defaultResolver","isHostComponent","refOutputVars","updates","actions","guard","useIf","astNodes","targetStatements","viewStmts","bindingCount","preprocessUpdateExpression","nameResolver","getOutputVar","General","guardExpression","guardClause","viewName","viewFactory","astWithSource","inter","visitElementOrTemplate","fullTemplateTypeCheck","getTypeGuardExpressions","childVisitor","inputDefs","updateRendererExpressions","outputDefs","inputAst","dirAst","outputVarType","hostEventAst","currBuilder","varAst","pipeExpr","pipeOutputVar","CLASS_ATTR$1","STYLE_ATTR","IMPLICIT_TEMPLATE_VAR","ViewCompileResult","viewClassVar","rendererTypeVar","ViewCompiler","renderComponentVarName","customRenderData","renderComponentVar","ViewBuilder$1","LOG_VAR$1","VIEW_VAR","CHECK_VAR","COMP_VAR","EVENT_NAME_VAR","ALLOW_DEFAULT_VAR","purePipeNodeIndices","refNodeIndices","_createPipe","queryIndex","calcStaticDynamicQueryFlags","nodeFlags","nodeDef","needsAdditionalRootNode","_createNodeExpressions","updateRendererStmts","updateDirectivesStmts","nodeDefExprs","updateRendererFn","_createUpdateFn","updateDirectivesFn","viewFlags","OnPush","updateStmts","updateFn","preStmts","checkIndex","bindingIndex","_preprocessUpdateExpression","updateRenderer","_visitElementOrTemplate","queryMatchesExpr","childCount","_createElementHandleEventFn","usedEvents","dirHostBindings","elementBindingDef","compAst","compRendererType","compView","fixedAttrsDef","elementEventNameAndTarget","elementEventFullName","_visitComponentFactoryResolverProvider","localDirAst","_visitDirective","dirHostEvents","_visitProvider","queryMatchExprs","_visitProviderOrDirective","updateDirectiveExpressions","dirContextExpr","updateDirectives","_addProviderNode","componentDirMeta","currViewExpr","refNodeIndex","varValue","valueExpr","callCheckStmt","compViewExpr","compBuilder","pipeNodeIndex","pipeValueExpr","callUnwrapValue","nodeValueExpr","diDep","_createLiteralArrayConverter","_createLiteralMapConverter","_createPipeConverter","updateBindingCount","createUpdateStatements","logWithNodeDef","allowEmptyExprs","handlers","handleEventStmts","handleEventBindingCount","trueStmts","eventTarget","fullEventName","identical","handleEventFn","lastAstNode","elementAst","mapResult","mergeAttributeValue","attrValue1","attrValue2","bindingIdx","MessageBundle","htmlParserResult","i18nParserResult","filterSources","mapperVisitor","MapPlaceholderNames","msgList","src","transformedMessage","write","GeneratedFile","srcFileUrl","genFileUrl","sourceOrStmts","toTypeScript","emitStatements","listLazyRoutes","allLazyRoutes","ROUTES","loadChildren","_collectLoadChildren","route","parseLazyRoute","routes","routePath","routeName","referencedModule","TS","ResolvedStaticSymbol","SUPPORTED_SCHEMA_VERSION","StaticSymbolResolver","staticSymbolCache","summaryResolver","errorRecorder","metadataCache","resolvedSymbols","importAs","symbolResourcePaths","symbolFromFile","knownFileNameToModuleNames","staticSymbol","_resolveSymbolMembers","resultFromSummary","_resolveSymbolFromSummary","resultFromCache","_createSymbolsOf","useSummaries","baseSymbol","getStaticSymbol","baseImportAs","getImportAs","summarizedFileName","summarizedName","resolvedSymbol","unwrapResolvedMetadata","resolveSymbol","arity","sourceSymbol","targetSymbol","assertNoMembers","symbols","recorder","baseResolvedSymbol","baseMetadata","__symbolic","statics","getModuleMetadata","metadataKey","decorators","summarySymbols","getSymbolsOf","moduleExport","export","exportSymbol","unescapeIdentifier","symName","resolvedModule","resolveModule","createExport","nestedExports","topLevelSymbolNames","origins","symbolMeta","origin","originFilePath","getOutputName","createResolvedSymbol","uniqueSymbols","topLevelPath","isTsFile","isLibraryFile","transformedMeta","_originalFileMemo","getOriginalName","ReferenceTransformer","functionParams","symbolic","oldLen","getMetadataFor","unwrappedTransformedMeta","moduleMetadata","moduleMetadatas","maxVersion","md","errorMessage","containingFile","moduleNameToFileName","serializeSummaries","srcFileName","forJitCtx","symbolResolver","createExternalSymbolReexports","toJsonSerializer","ToJsonSerializer","addSummary","json","forJitSerializer","ForJitSerializer","addSourceType","unprocessedSymbolSummariesBySymbol","addLibType","deserializeSummaries","symbolCache","libraryFileName","deserializer","FromJsonDeserializer","deserialize","createForJitStub","createSummaryForJitFunction","indexBySymbol","reexportedBy","processedSummaryBySymbol","processedSummaries","getKnownModuleName","unprocessedSummary","processedSummary","processValue","isCall","isFunctionCall","isMethodCallOnVariable","declarationSymbol","ngModuleSummary","summaries","reexportSymbol","__symbol","toSummaryFileName","visitStaticSymbol","loadSummary","isLibrary","exportAsArr","exportAsBySymbol","ngModuleSymbols","serializeSummaryWithDeps","ngModuleSymbol","jitExportAsName","serializeSummaryRef","serializeSummary","typeSymbol","jitImportedSymbol","Transformer","allImportAs","serializedSymbol","fromSummaryFileName","AotCompiler","_options","_host","_metadataResolver","_templateParser","_styleCompiler","_viewCompiler","_typeCheckCompiler","_ngModuleCompiler","_injectableCompiler","_outputEmitter","_symbolResolver","_templateAstCache","_analyzedFiles","_analyzedFilesForInjectables","rootFiles","analyzeResult","analyzeAndValidateNgModules","ngModules","loadNgModuleDirectiveAndPipeMetadata","analyzedFile","analyzeFile","analyzeFileForInjectables","genFileNames","_analyzeFile","allowEmptyCodegenFiles","injectables","exportsNonSourceFiles","enableSummariesForJit","fileSuffix","dirSymbol","normalizedUrl","resourceNameToFileName","needsShim","_stylesModuleUrl","genFileName","originalFileName","_createOutputContext","originalFile","_createNgFactoryStub","_createEmptyStub","_codegenSourceModule","fileNames","tsFiles","files","loadingPromises","analyzedInjectables","tsFile","_analyzeFileForInjectables","analyzedModules","mergeAndValidateNgFiles","emitFlags","ngModuleIndex","createStub","_externalIdentifierReferences","typeIndex","dirId","getDirectiveMetadata","_createTypeCheckBlock","getHostComponentMetadata","_parseTemplate","parsedTemplate","compileComponent","messageBundle","compMetas","updateFromTemplate","r3Files","ngModuleByPipeOrDirective","contextMap","_compilePartialModule","_compileShallowModules","shallowModules","schemaRegistry","hostBindingParser","expressionParser","directiveMetadata","getDirectiveSummary","getPipeSummary","pipeMetadata","getPipeMetadata","compile","_emitPartialModule2","sourceModules","_compileImplFile","generatedFiles","_createSummary","_compileModule","componentStylesheet","stylesheetMeta","_codegenStyles","compViewVars","_compileComponent","_compileComponentFactory","srcModule","ngFactoryCtx","symbolSummaries","typeData","getInjectableSummary","forJitOutputCtx","createExternalSymbolFactoryReexports","summaryJson","normalizedLocale","i18nFormat","hostMeta","hostViewFactoryVar","compFactoryVar","inputsExprs","outputsExprs","directiveIdentifiers","componentStyles","stylesExpr","viewResult","_resolveStyleStatements","importExpr$1","getTypeArity","importModule","_fileNameToModuleName","selfReference","suppliedTypeParams","missingTypeParamsCount","allTypeParams","memberName","importedFilePath","containingFilePath","fileNameToModuleName","stylesheetMetadata","compiledStylesheet","entryRoute","visitLazyRoute","lazyRoutes","lazyRoute","seenRoutes","compileResult","stylesheetUrl","analyzeNgModules","staticSymbolResolver","metadataResolver","_analyzeFilesIncludingNonProgramFiles","mergeAnalyzedFiles","validateAnalyzedModules","symbolsMissingModule","seenFiles","visitFile","isSourceFile","modMeta","abstractDirectives","hasDecorators","isDeclarationFile","isNgSymbol","isInjectable","getInjectableMetadata","isValueExportingNonSourceFile","getShallowModuleMetadata","Visitor","analyzedFiles","allNgModules","allPipesAndDirectives","af","FORMATTED_MESSAGE","indentStr","half","floor","formatChain","chain","kid","formattedError","isFormattedError","ANGULAR_CORE","ANGULAR_ROUTER","HIDDEN_KEY","IGNORE","USE_VALUE$1","PROVIDE","REFERENCE_SET","TYPEGUARD_POSTFIX","USE_IF","shouldIgnore","StaticReflector","knownMetadataClasses","knownMetadataFunctions","annotationCache","shallowAnnotationCache","propertyCache","parameterCache","methodCache","staticCache","conversionMap","resolvedExternalReferences","annotationForParentClassWithSummaryKind","initializeConversionMap","kc","_registerDecoratorOrConstructor","kf","_registerFunction","findSymbolDeclaration","getResourcePath","refSymbol","getSymbolByModule","recordModuleNameForFileName","recordImportAs","ignoreErrorsFor","findDeclaration","resolvedMetadata","originalRecorder","_annotations","simplify","classMetadata","getTypeMetadata","parentType","findParentType","parentAnnotations","ownAnnotations","requiredAnnotationTypes","typeHasRequiredAnnotation","requiredType","formatMetadataError","metadataError","parentPropMetadata","parentProp","propData","ctorData","rawParameterTypes","parameterDecorators","rawParamType","nestedResult","paramType","trySimplify","methodNames","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","depth","resolveReferenceValue","simplifyEagerly","simplifyLazily","simplifyNested","nestedContext","isMetadataError","summaryMsg","errorSummary","advise","simplifyCall","functionSymbol","targetFunction","targetExpression","defaults","functionScope","define","oldScope","done","FUNCTION_CALL_NOT_SUPPORTED","isPrimitive","spreadArray","spreadItem","declarationValue","operand","indexTarget","member","selectContext","selectTarget","localValue","missing","argExpressions","mapStringMap","reportingContext","METADATA_ERROR","REFERENCE_TO_NONEXPORTED_CLASS","VARIABLE_NOT_INITIALIZED","DESTRUCTURE_NOT_SUPPORTED","COULD_NOT_RESOLVE_TYPE","REFERENCE_TO_LOCAL_SYMBOL","LAMBDA_NOT_SUPPORTED","expandedMessage","messageAdvise","PopulatedScope","formatMetadataMessageChain","nesting","AotSummaryResolver","summaryCache","loadedFilePaths","referringSrcFileName","referringLibFileName","rootSymbol","_loadSummaryFile","hasSummary","summaryFilePath","createAotUrlResolver","basePath","createAotCompiler","compilerHost","errorCollector","urlResolver","staticReflector","enableIvy","normalizer","loadResource","tmplParser","viewCompiler","typeCheckCompiler","compiler","SummaryResolver","JitSummaryResolver","_summaries","interpretStatements","_ExecutionContext","StatementInterpreter","exportName","_executeFunctionStatements","varValues","childCtx","createChildWihtLocalVars","instance","ReturnValue","createDynamicClass","_classStmt","_ctx","propertyDescriptors","instanceCtx","paramNames","writable","ctorParamNames","superClass","initialValue","currCtx","CATCH_ERROR_VAR$2","CATCH_STACK_VAR$2","subscribe","bind","_declareFn","JitCompiler","_jitEvaluator","_compilerConfig","getExtraNgModuleProviders","_compiledTemplateCache","_compiledHostTemplateCache","_compiledDirectiveWrapperCache","_compiledNgModuleCache","_sharedStylesheetCount","_addedAotSummaries","_compileModuleAndComponents","_compileModuleAndAllComponents","_addAotSummaries","ids","hasAotSummary","_loadModules","_compileComponents","componentFactories","ngModuleFactory","mainModule","mainNgModule","_filterJitIdentifiers","nestedNgModule","getOrLoadPipeMetadata","createOutputContext","_interpretOrJit","allComponentFactories","moduleByJitDirective","templates","transJitModules","localMod","localModuleMeta","dirRef","_createCompiledTemplate","_createCompiledHostTemplate","entryComponentType","_compileTemplate","compiledTemplate","assertComponent","viewDefFactory","CompiledTemplate","isCompiled","externalStylesheetsByModuleUrl","outputContext","_resolveStylesCompileResult","evalResult","viewClass","compiled","nestedCompileResult","nestedStylesArr","_resolveAndEvalStylesCompileResult","_viewClass","CompileReflector","createUrlResolverWithoutPackagePrefix","UrlResolver","createOfflineCompileUrlResolver","_packagePrefix","resolvedUrl","_resolveUrl","resolvedParts","_split","_ComponentIndex","Scheme","Path","getUrlScheme","_buildFromEncodedParts","opt_scheme","opt_userInfo","opt_domain","opt_port","opt_path","opt_queryData","opt_fragment","_splitRe","uri","_removeDotSegments","leadingSlash","trailingSlash","up","_joinAndCanonicalizePath","UserInfo","Domain","Port","QueryData","Fragment","encodeURI","baseParts","Extractor","extractor","R3TargetBinder","Scope","templateEntities","extractTemplateEntities","DirectiveBinder","TemplateBinder","nestingLevel","R3BoundTarget","parentScope","namedEntities","childScopes","ingest","maybeDeclare","thing","lookup","newRootScope","dirTarget","setAttributeBinding","ioType","hasBindingPropertyName","visitNode","childScope","getChildScope","binder","maybeMap","exprTargets","dirs","rootScope","entityMap","extractScopeEntities","currentEntities","scopesToProcess","entities","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","isValidFormatter","to","removeElement","removeChild","isSet","preventDefault","unique","closest","round","elem","orientation","rect","getBoundingClientRect","doc","ownerDocument","docElem","documentElement","pageOffset","getPageOffset","navigator","userAgent","x","top","y","clientTop","clientLeft","isNumeric","isFinite","addClassFor","duration","addClass","setTimeout","removeClass","min","asArray","countDecimals","numStr","classList","remove","hasClass","contains","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","scrollLeft","pageYOffset","scrollTop","getActions","pointerEnabled","move","msPointerEnabled","getSupportsPassive","supportsPassive","opts","addEventListener","getSupportsTouchActionNone","CSS","supports","subRangeRatio","pa","pb","fromPercentage","startRange","toPercentage","abs","isPercentage","getJ","toStepping","xVal","xPct","va","vb","fromStepping","getStep","xSteps","snap","handleEntryPoint","that","percentage","xHighestCompleteStep","handleStepPoint","totalSteps","xNumSteps","highestStep","ceil","toFixed","step","Spectrum","singleStep","ordered","getDistance","distances","getAbsoluteDistance","direction","xPct_index","start_factor","rest_factor","rest_rel_distance","range_pct","rel_range_distance","abs_distance_counter","range_counter","getDefaultStep","isDown","getNearbySteps","stepBefore","startValue","thisStep","stepAfter","countStepDecimals","stepDecimals","defaultFormatter","cssClasses","handle","handleLower","handleUpper","touchArea","horizontal","vertical","background","connect","connects","ltr","rtl","textDirectionLtr","textDirectionRtl","draggable","drag","tap","active","tooltip","pips","pipsHorizontal","pipsVertical","markerHorizontal","markerVertical","markerNormal","markerLarge","markerSub","valueHorizontal","valueVertical","valueNormal","valueLarge","valueSub","INTERNAL_EVENT_NS","tooltips","aria","validateFormat","testStep","parsed","testKeyboardPageMultiplier","keyboardPageMultiplier","testKeyboardDefaultStep","keyboardDefaultStep","testRange","spectrum","testStart","handles","testSnap","testAnimate","animate","testAnimationDuration","animationDuration","testConnect","testOrientation","ort","testMargin","margin","testLimit","testPadding","padding","totalPadding","firstValue","lastValue","testDirection","testBehaviour","fixed","hover","unconstrained","testTooltips","formatter","testAriaFormat","ariaFormat","testFormat","testKeyboardSupport","keyboardSupport","testDocumentElement","testCssPrefix","cssPrefix","testCssClasses","testOptions","tests","behaviour","document","createElement","msPrefix","msTransform","noPrefix","transformRule","originalOptions","supportsTouchActionNone","scope_Target","scope_Base","scope_Handles","scope_Connects","scope_Pips","scope_Tooltips","scope_Spectrum","scope_Values","scope_Locations","scope_HandleNumbers","scope_ActiveHandlesCount","scope_Events","scope_Self","scope_Document","scope_DocumentElement","scope_Body","PIPS_NONE","PIPS_NO_VALUE","PIPS_LARGE_VALUE","PIPS_SMALL_VALUE","scope_DirOffset","addNodeTo","addTarget","div","appendChild","addOrigin","handleNumber","setAttribute","eventKeydown","addConnect","addElements","connectOptions","connectBase","addSlider","textDirection","getComputedStyle","addTooltip","firstChild","isSliderDisabled","hasAttribute","isHandleDisabled","handleOrigin","removeTooltips","removeEvent","bindEvent","unencoded","formattedValue","innerHTML","positions","checkHandlePosition","now","getGroup","stepped","interval","spread","generateSpread","density","group","safeIncrement","increment","indexes","firstInRange","lastInRange","ignoreFirst","ignoreLast","prevPct","newPct","pctDifference","pctPos","steps","realSteps","stepSize","isSteps","addMarking","filterFunc","valueSizeClasses","markerSizeClasses","valueOrientationClasses","markerOrientationClasses","getClasses","orientationClasses","sizeClasses","addSpread","removePips","grid","baseSize","alt","width","height","attachEvent","fixEvent","doNotReject","buttons","calcPoint","points","passive","touch","mouse","pointer","touches","isTouchOnTarget","checkTouch","shadowRoot","targetTouches","pageX","pageY","targetTouch","changedTouches","clientX","clientY","calcPointToPercentage","proposal","getClosestHandle","clickedPosition","smallestDifference","handlePosition","differenceWithThisHandle","clickAtEdge","isCloser","isCloserAfter","documentLeave","relatedTarget","eventEnd","eventMove","appVersion","buttonsProperty","movement","startCalcPoint","moveHandles","locations","handleNumbers","removeEventListener","setZindex","fireEvent","eventStart","stopPropagation","moveEvent","endEvent","outEvent","eventTap","setHandle","eventHover","targetEvent","horizontalKeys","verticalKeys","largeStepKeys","edgeKeys","isLargeDown","isLargeUp","isUp","isMin","isMax","multiplier","getNextStepsForHandle","bindSliderEvents","handleBefore","handleAfter","eventHolders","eventHolder","namespacedEvent","isInternalNamespace","namespace","tEvent","tNamespace","eventType","lookBackward","lookForward","getValue","inRuleOrder","upward","proposals","transformDirection","updateHandlePosition","translation","translateRule","updateConnect","zIndex","exactInput","connectWidth","scaleRule","resolveToValue","valueSet","fireSetEvent","isInit","valueReset","valueSetHandle","valueGet","destroy","noUiSlider","nearbySteps","decrement","getNextSteps","updateOptions","optionsToUpdate","updateAble","newOptions","setupSlider","on","off","reset","__moveHandles","getTooltips","getOrigins","initialize","api","__spectrum","loaded","__esModule","default","u","g","delay","easing","disable","once","startEvent","throttleDelay","debounceDelay","disableMutationObserver","O","M","removeAttribute","S","mobile","phone","tablet","atob","isSupported","info","querySelector","readyState","ready","refreshHard","clearTimeout","TypeError","leading","maxWait","trailing","cancel","flush","valueOf","Symbol","iterator","NaN","Date","dataset","aos","MutationObserver","WebKitMutationObserver","MozMutationObserver","observe","childList","subtree","removedNodes","addedNodes","vendor","opera","getAttribute","innerHeight","anchor","anchorPlacement","querySelectorAll","offsetHeight","offsetLeft","offsetTop","offsetParent","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","isForwardRef","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertFunction","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","Node","assertIndexInRange","maxLen","assertOneOf","validValues","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","getInheritedInjectableDef","getTypeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵinj","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","Optional","assertInjectImplementationNotEqual","ngDevMode","noSideEffects","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","__globalThis","globalThis","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","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","hostVars","onPush","directiveDefs","pipeDefs","setInput","directiveTypes","pipeTypes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","transitiveCompileScopes","ɵɵsetNgModuleScope","getNgModuleDef","secondary","newLookup","minifiedKey","ɵɵdefineDirective","ɵɵdefinePipe","onDestroy","ngOnDestroy","throwNotFound","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","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","assertIndexInVarsRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertNodeInjector","injectorIndex","getFactoryDef","hasFactoryDef","RuntimeError","formatRuntimeError","fullCode","renderStringify","stringifyForError","throwCyclicDependencyError","depPath","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0","hostElement","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","view","getComponentLViewByIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","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","setBindingIndex","nextBindingIndex","incrementBindingIndex","isInI18nBlock","inI18n","setInI18nBlock","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","SkipSelf","parentTNode","parentLView","Host","allocLFrame","enterView","newView","newLFrame","selectedIndex","currentLFrame","childLFrame","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","isInitHook","callHook","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","toTNodeTypeAsString","tNodeType","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertTNodeType","expectedTypes","assertPureTNodeType","setUpAttributes","native","isProc","namespaceURI","attrVal","setAttributeNS","setProperty","isNameOnlyAttributeMarker","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","oldValue","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","bloomBit","mask","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","tViewType","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","notFoundValueOrThrow","lookupTokenUsingModuleInjector","Self","moduleInjector","previousInjectImplementation","getOrCreateInjectable","bloomHash","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","ɵɵgetFactoryOf","typeAny","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ɵɵinjectAttribute","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","CREATE_ATTRIBUTE_DECORATOR__PRE_R3__","CREATE_ATTRIBUTE_DECORATOR__POST_R3__","CREATE_ATTRIBUTE_DECORATOR_IMPL","InjectionToken","Query","ɵ0$1","ContentChildren","ɵ1","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","ViewEncapsulation$1","getCompilerFacade","globalNg","isType","addAllToArray","deepForEach","addToArray","removeFromArray","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","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","_ownAnnotations","propDecorators","ownPropMetadata","_ownPropMetadata","functionBody","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","ɵ0$2","Inject","getReflect","reflectDependencies","convertDependencies","reflectDependency","setTokenAndResolvedType","proto","__ChangeDetectorRef__","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","promises","styleOffset","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","response","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$3","_currentInjector","setCurrentInjector","injector","former","injectInjectorOnly","ɵɵinject","ɵɵinvalidFactoryDep","catchInjectorError","injectorErrorName","tokenPath","formatError","policy","getPolicy","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","trustedScriptFromString","script","trustedScriptURLFromString","newTrustedFunctionForDev","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","isDOMParserAvailable","DOMParserHelper","InertDocumentHelper","DOMParser","parseFromString","inertDocument","implementation","createHTMLDocument","inertHtml","inertBodyElement","templateEl","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attrib","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","traverseContent","startElement","TEXT_NODE","endElement","checkClobberedElement","parentNode","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","sanitize","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","ɵɵtrustConstantHtml","ɵɵtrustConstantScript","ɵɵtrustConstantResourceUrl","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_findOriginalError","_findContext","errorLogger","createNamedArrayType","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","ɵ0$4","requestAnimationFrame","defaultScheduler","ɵɵresolveWindow","defaultView","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwMultipleComponentError","throwErrorIfNoChangesMode","creationMode","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","RendererStyleFlags2","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","ensureIcuContainerVisitorLoaded","loader","unusedValueExportToPlacateAjd$5","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","unusedValueToPlacateAjd","applyToElementOrContainer","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","updateTextNode","createCommentNode","createComment","createElementNode","createElementNS","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","lViewOrLContainer","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","movedViews","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","insertionLContainer","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","processCleanups","tCleanup","cleanup","lCleanup","lastLCleanupIndex","idxOrTargetGetter","useCaptureOrSubIdx","unsubscribe","instanceCleanupFn","toCall","getParentRElement","getClosestRElement","isMove","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeParentNode","nativeNextSibling","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","anchorNode","getFirstNativeNode","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","nextRNode","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","parentRElement","isProjection","rawSlotValue","applyProjectionRecursive","projectionNext","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","applyStyling","isProcedural","DashCase","removeStyle","removeProperty","isImportant","Important","setStyle","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","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","ɵɵadvance","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","nameSuffix","embeddedArray","TViewConstructor","hostBindingOpCodes","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","insertBeforeIndex","directiveStylingLast","mergedAttrs","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","flags_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","prevIndex","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","indexWithinInitPhase","mapToHTML","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","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","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","fill","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","storeCleanupWithContext","cleanupFn","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","instantiateRootComponent","rootTNode","configureViewWithDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","setElementAttribute","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedLView","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","scheduleTick","nothingScheduled","clean","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","styleValue","detectChanges","markDirty","tick","INJECTOR$1","NullInjector","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$1","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","NULL","IDENT","ɵ0$6","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolveToken","depRecords","depRecord","childRecord","providerDeps","getComponent","assertDomElement","loadLContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","ɵ0$7","NULL_INJECTOR$1","renderComponent$1","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","interpolation2","i0","v1","interpolation3","v2","interpolation4","v3","interpolation5","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","ɵɵtemplate","adjustedIndex","ɵɵreference","angularCoreDiEnv","srcMeta","ngFactoryDef","compileFactory","ɵ0$8","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","ɵ0$9","USE_VALUE$2","EMPTY_ARRAY$2","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","reversed","tokenStrs","injectionError","constructResolvingMessage","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_constructionCounter","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","ɵɵdirectiveInject","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","ɵɵelementStart","ɵɵelementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","malformedStyleError","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","newIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","plural","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","unusedValueExportToPlacateAjd$6","setLocaleId","getLocaleId","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","update","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","createOpCodes","insertInFrontOf","isComment","COMMENT","appendNow","APPEND_EAGERLY","SHIFT","applyMutableOpCodes","mutableOpCodes","rootIdx","rootRNode","textNodeIndex","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","elementRNode","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","currentIndex","activeCaseIndex","getCaseIndex","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","bindingValue","resolvedCase","loadIcuContainerVisitor","_stack","_removes","icuContainerIteratorStart","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","i18nCreateOpCodesToString","opcodes","i18nUpdateOpCodesToString","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","hasMore","consumeNumber","consumeNumberOrString","opCodeText","icuCreateOpCodesToString","lastRef","consumeNumberStringOrMarker","i18nRemoveOpCodesToString","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","existingTNodeStack","getTranslationForTemplate","msgParts","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuContainerTNode","createTNodeAndAddOpCode","mainBinding","icuNodeIndex","icuStart","existingTNodes","isICU","i18nNodeIdx","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","destinationNode","maskIndex","sizeIndex","textParts","textValue","toMaskBit","isRootTemplateMessage","removeInnerTemplateTranslation","inTemplate","tagMatched","search","bindingMask","addUpdateIcuSwitch","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","prevPos","braceStack","braces","block","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","currentNode","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","replacements","templateIdsStack","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","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","projectableNodes","rootSelectorOrNode","noop","injectElementRef","createElementRef","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","SWITCH_ELEMENT_REF_FACTORY","Renderer2Interceptor","RendererFactory2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","injectRenderer2","SWITCH_RENDERER2_FACTORY__PRE_R3__","getOrCreateRenderer2","nodeAtIndex","Sanitizer","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$b","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","iterable","getTypeNameForDebugging","copied","KeyValueDiffers","kv","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","detach","vcRef","appRef","RootViewRef","_view","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","injectChangeDetectorRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY","createViewRef","isComponentView","hostComponentView","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","injectTemplateRef","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_TEMPLATE_REF_FACTORY","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","createTemplateRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","injectViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","previousTNode","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","viewRefs","getViewRefs","templateRef","viewRef","insert","ngModuleRef","contextInjector","parentInjector","componentRef","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","getOrCreateViewRefs","viewRefsArr","detachedView","wasDetached","commentNode","parentOfHostNative","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","nodeIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","isEmbeddedView","filterQueryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","visitProjectedRenderNodes","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","valueCount","constAndInterp","_toStringWithNull","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","providersByKey","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","providerInstance","targetsModule","moduleTransitivelyPresent","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","outputsArr","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","nonMinifiedName","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","destroyCbs","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","resultsTree","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","isStatic","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$c","jitOptions","setJitOptions","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","scopes","exported","importedScope","declared","declaredWithDefs","exportedScope","isModuleWithProviders","compilationDepth","ngComponentDef","addDirectiveFactoryDef","createParseSourceSpan","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","extractExportAs","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","isQueryAnn","queriesMeta","isInputAnnotation","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","ɵ0$d","ɵ1$2","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","Input","ɵ7","Output","ɵ8","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$e","ɵ1$3","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","reject","initialized","donePromise","rej","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","run","zone","task","scheduleEventTask","EMPTY_PAYLOAD","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","onInvokeTask","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_devMode","_runModeLocked","isDevMode","enableProdMode","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","PlatformRef_Factory","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_stable","componentTypes","_onMicrotaskEmptySubscription","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","merge$1","share","componentOrFactory","selectorOrNode","compRef","testabilityRegistry","registerApplication","unregisterApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","legacyOfflineMode","loadFactory","loadAndCompile","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","siblingIndex","refChild","newChild","refIndex","queryAll","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","NodePrototype","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","templateFactory","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute$1","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","getQueryValue","embeddedView","dvc","projectedView","queryValueType","appendNgContent","_pureExpressionDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","newParent","rootNodeFlags","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","elOrCompView","childDef","collectReferences","findHostElement","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","EmptyOutletComponent","applyRedirects","applyRedirectsFn","NoMatch","recognize","recognizeFn","noUiSlider.create"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;AAEA;AA2DM,SAAU,MAAV,GAAsC;AAAA,MAAlB,KAAkB,uEAAF,CAAC,CAAC;AAC1C,SAAO,UAAC,MAAD,EAA0B;AAC/B,QAAI,KAAK,KAAK,CAAd,EAAiB;AACf,aAAO,+DAAK,EAAZ;AACD,KAFD,MAEO,IAAI,KAAK,GAAG,CAAZ,EAAe;AACpB,aAAO,MAAM,CAAC,IAAP,CAAY,IAAI,cAAJ,CAAmB,CAAC,CAApB,EAAuB,MAAvB,CAAZ,CAAP;AACD,KAFM,MAEA;AACL,aAAO,MAAM,CAAC,IAAP,CAAY,IAAI,cAAJ,CAAmB,KAAK,GAAG,CAA3B,EAA8B,MAA9B,CAAZ,CAAP;AACD;AACF,GARD;AASD;;IAEK,c;AACJ,0BAAoB,KAApB,EACoB,MADpB,EACyC;AAAA;;AADrB;AACA;AACnB;;;;WACD,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,gBAAJ,CAAqB,UAArB,EAAiC,KAAK,KAAtC,EAA6C,KAAK,MAAlD,CAAjB,CAAP;AACD;;;;;;IAQG,gB;;;;;AACJ,4BAAY,WAAZ,EACoB,KADpB,EAEoB,MAFpB,EAEyC;AAAA;;AAAA;;AACvC,8BAAM,WAAN;AAFkB;AACA;AAAqB;AAExC;;;;WACD,oBAAQ;AACN,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,YAAQ,MAAR,GAA0B,IAA1B,CAAQ,MAAR;AAAA,YAAgB,KAAhB,GAA0B,IAA1B,CAAgB,KAAhB;;AACA,YAAI,KAAK,KAAK,CAAd,EAAiB;AACf;AACD,SAFD,MAEO,IAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACrB,eAAK,KAAL,GAAa,KAAK,GAAG,CAArB;AACD;;AACD,cAAM,CAAC,SAAP,CAAiB,KAAK,sBAAL,EAAjB;AACD;AACF;;;;EAhB+B,sD;;;;;;;;;;;;;;;;;;;;;;;ACvFlC;AA8DM,SAAU,oBAAV,CAAqC,OAArC,EAAwE,WAAxE,EAAiG;AACrG,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,4BAAJ,CAAuC,OAAvC,EAAgD,WAAhD,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,4B;AACJ,wCAAoB,OAApB,EACoB,WADpB,EAC4C;AAAA;;AADxB;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,8BAAJ,CAAmC,UAAnC,EAA+C,KAAK,OAApD,EAA6D,KAAK,WAAlE,CAAjB,CAAP;AACD;;;;;;IAQG,8B;;;;;AAIJ,0CAAY,WAAZ,EACY,OADZ,EAEoB,WAFpB,EAE4C;AAAA;;AAAA;;AAC1C,8BAAM,WAAN;AADkB;AAJZ,mBAAkB,KAAlB;;AAMN,QAAI,OAAO,OAAP,KAAmB,UAAvB,EAAmC;AACjC,YAAK,OAAL,GAAe,OAAf;AACD;;AAJyC;AAK3C;;;;WAEO,iBAAQ,CAAR,EAAgB,CAAhB,EAAsB;AAC5B,aAAO,CAAC,KAAK,CAAb;AACD;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,GAAJ;;AACA,UAAI;AACF,YAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;AACA,WAAG,GAAG,WAAW,GAAG,WAAW,CAAC,KAAD,CAAd,GAAwB,KAAzC;AACD,OAHD,CAGE,OAAO,GAAP,EAAY;AACZ,eAAO,KAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB,CAAP;AACD;;AACD,UAAI,MAAM,GAAG,KAAb;;AACA,UAAI,KAAK,MAAT,EAAiB;AACf,YAAI;AACF,cAAQ,OAAR,GAAoB,IAApB,CAAQ,OAAR;AACA,gBAAM,GAAG,OAAO,CAAC,KAAK,GAAN,EAAW,GAAX,CAAhB;AACD,SAHD,CAGE,OAAO,GAAP,EAAY;AACZ,iBAAO,KAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB,CAAP;AACD;AACF,OAPD,MAOO;AACL,aAAK,MAAL,GAAc,IAAd;AACD;;AACD,UAAI,CAAC,MAAL,EAAa;AACX,aAAK,GAAL,GAAW,GAAX;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;AACD;AACF;;;;EAxCgD,sD;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EnD;AA4DM,SAAU,QAAV,CAAyB,WAAzB,EACyB,OADzB,EACkD;AACtD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,CAAqB,WAArB,EAAkC,OAAlC,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,gB;AACJ,4BAAoB,WAApB,EAA2D,OAA3D,EAAoF;AAAA;;AAAhE;AAAuC;AAC1D;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,kBAAJ,CAAuB,UAAvB,EAAmC,KAAK,WAAxC,EAAqD,KAAK,OAA1D,CAAjB,CAAP;AACD;;;;;;AAQH,IAAa,kBAAb;AAAA;;AAAA;;AAGE,8BAAY,WAAZ,EAAgD,WAAhD,EAA+E,OAA/E,EAAwG;AAAA;;AAAA;;AACtG,8BAAM,WAAN;AAD8C;AAFxC,mBAAS,IAAI,GAAJ,EAAT;;AAKN,QAAI,OAAJ,EAAa;AACX,YAAK,GAAL,CAAS,sEAAc,CAAC,OAAD,EAAU,IAAI,qEAAJ,uKAAV,CAAvB;AACD;;AALqG;AAMvG;;AATH;AAAA;AAAA,WAWE,sBAAU;AACR,WAAK,MAAL,CAAY,KAAZ;AACD;AAbH;AAAA;AAAA,WAeE,qBAAY,KAAZ,EAAsB;AACpB,WAAK,MAAL,CAAY,KAAZ;AACD;AAjBH;AAAA;AAAA,WAmBY,eAAM,KAAN,EAAc;AACtB,UAAI,KAAK,WAAT,EAAsB;AACpB,aAAK,eAAL,CAAqB,KAArB;AACD,OAFD,MAEO;AACL,aAAK,aAAL,CAAmB,KAAnB,EAA0B,KAA1B;AACD;AACF;AAzBH;AAAA;AAAA,WA2BU,yBAAgB,KAAhB,EAAwB;AAC9B,UAAI,GAAJ;AACA,UAAQ,WAAR,GAAwB,IAAxB,CAAQ,WAAR;;AACA,UAAI;AACF,WAAG,GAAG,KAAK,WAAL,CAAkB,KAAlB,CAAN;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,mBAAW,CAAC,KAAZ,CAAmB,GAAnB;AACA;AACD;;AACD,WAAK,aAAL,CAAmB,GAAnB,EAAwB,KAAxB;AACD;AArCH;AAAA;AAAA,WAuCU,uBAAc,GAAd,EAAwB,KAAxB,EAAgC;AACtC,UAAQ,MAAR,GAAmB,IAAnB,CAAQ,MAAR;;AACA,UAAI,CAAC,MAAM,CAAC,GAAP,CAAc,GAAd,CAAL,EAAyB;AACvB,cAAM,CAAC,GAAP,CAAc,GAAd;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAuB,KAAvB;AACD;AACF;AA7CH;;AAAA;AAAA,EAA8C,qEAA9C,E;;;;;;;;;;;;;;;;;;;;ACnFA;AACA;AACA;AAEA;AAwIM,SAAU,gBAAV,CAA8B,UAA9B,EAC8B,aAD9B,EAE8B,cAF9B,EAEoE;AAExE,MAAI,cAAJ,EAAoB;AAElB,WAAO,gBAAgB,CAAI,UAAJ,EAAgB,aAAhB,CAAhB,CAA+C,IAA/C,CACL,0DAAG,CAAC,cAAI;AAAA,aAAI,6DAAO,CAAC,IAAD,CAAP,GAAgB,cAAc,MAAd,oKAAkB,IAAlB,EAAhB,GAA0C,cAAc,CAAC,IAAD,CAA5D;AAAA,KAAL,CADE,CAAP;AAGD;;AAED,SAAO,IAAI,sDAAJ,CAAwB,oBAAU,EAAG;AAC1C,QAAM,OAAO,GAAG,SAAV,OAAU;AAAA,wCAAI,CAAJ;AAAI,SAAJ;AAAA;;AAAA,aAAe,UAAU,CAAC,IAAX,CAAgB,CAAC,CAAC,MAAF,KAAa,CAAb,GAAiB,CAAC,CAAC,CAAD,CAAlB,GAAwB,CAAxC,CAAf;AAAA,KAAhB;;AAEA,QAAI,QAAJ;;AACA,QAAI;AACF,cAAQ,GAAG,UAAU,CAAC,OAAD,CAArB;AACD,KAFD,CAEE,OAAO,GAAP,EAAY;AACZ,gBAAU,CAAC,KAAX,CAAiB,GAAjB;AACA,aAAO,SAAP;AACD;;AAED,QAAI,CAAC,mEAAU,CAAC,aAAD,CAAf,EAAgC;AAC9B,aAAO,SAAP;AACD;;AAED,WAAO;AAAA,aAAM,aAAa,CAAC,OAAD,EAAU,QAAV,CAAnB;AAAA,KAAP;AACD,GAhBM,CAAP;AAiBD,C;;;;;;;;;;;;ACvKD;AAAA;AAAA;AAAA;AAAA;AACA;AASM,SAAU,aAAV,CAA8B,UAA9B,EAC8B,UAD9B,EAE8B,mBAF9B,EAG8B,SAH9B,EAGuD;AAE3D,MAAI,mBAAmB,IAAI,OAAO,mBAAP,KAA+B,UAA1D,EAAsE;AACpE,aAAS,GAAG,mBAAZ;AACD;;AAED,MAAM,QAAQ,GAAG,OAAO,mBAAP,KAA+B,UAA/B,GAA4C,mBAA5C,GAAkE,SAAnF;AACA,MAAM,OAAO,GAAG,IAAI,4DAAJ,CAAqB,UAArB,EAAiC,UAAjC,EAA6C,SAA7C,CAAhB;AAEA,SAAO,UAAC,MAAD;AAAA,WAA2B,4DAAS,CAAC;AAAA,aAAM,OAAN;AAAA,KAAD,EAAgB,QAAhB,CAAT,CAAmC,MAAnC,CAA3B;AAAA,GAAP;AACD,C;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAAA;AAgEM,SAAU,SAAV,GAAmB;AACvB,SAAO,0DAAQ,CAAI,CAAJ,CAAf;AACD,C;;;;;;;;;;;;AClED;AAAA;AAAA;AAAA;AAAA;AACA;AA8DM,SAAU,OAAV,GAAuD;AAAA,oCAA/B,KAA+B;AAA/B,SAA+B;AAAA;;AAC3D,SAAO,UAAC,MAAD;AAAA,WAA2B,iEAAM,CAAC,MAAD,EAAS,iDAAE,MAAF,SAAM,KAAN,CAAT,CAAjC;AAAA,GAAP;AACD,C;;;;;;;;;;;;ACjED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AA2DM,SAAU,MAAV,CAAuB,WAAvB,EAAqF,IAArF,EAAiG;AAMrG,MAAI,SAAS,CAAC,MAAV,IAAoB,CAAxB,EAA2B;AACzB,WAAO,SAAS,8BAAT,CAAwC,MAAxC,EAA6D;AAClE,aAAO,uDAAI,CAAC,kDAAI,CAAC,WAAD,EAAc,IAAd,CAAL,EAA0B,0DAAQ,CAAC,CAAD,CAAlC,EAAuC,sEAAc,CAAC,IAAD,CAArD,CAAJ,CAAiE,MAAjE,CAAP;AACD,KAFD;AAGD;;AACD,SAAO,SAAS,sBAAT,CAAgC,MAAhC,EAAqD;AAC1D,WAAO,uDAAI,CACT,kDAAI,CAAW,UAAC,GAAD,EAAM,KAAN,EAAa,KAAb;AAAA,aAAuB,WAAW,CAAC,GAAD,EAAM,KAAN,EAAa,KAAK,GAAG,CAArB,CAAlC;AAAA,KAAX,CADK,EAET,0DAAQ,CAAC,CAAD,CAFC,CAAJ,CAGL,MAHK,CAAP;AAID,GALD;AAMD,C;;;;;;;;;;;;;;;;;;;;;;;AC5ED;AA0CM,SAAU,SAAV,CAAuB,QAAvB,EAAgD;AACpD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,QAAtB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,iB;AACJ,6BAAoB,QAApB,EAA6C;AAAA;;AAAzB;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,UAAM,mBAAmB,GAAG,IAAI,mBAAJ,CAAwB,UAAxB,CAA5B;AACA,UAAM,oBAAoB,GAAG,sEAAc,CAAC,KAAK,QAAN,EAAgB,IAAI,qEAAJ,CAA0B,mBAA1B,CAAhB,CAA3C;;AACA,UAAI,oBAAoB,IAAI,CAAC,mBAAmB,CAAC,SAAjD,EAA4D;AAC1D,2BAAmB,CAAC,GAApB,CAAwB,oBAAxB;AACA,eAAO,MAAM,CAAC,SAAP,CAAiB,mBAAjB,CAAP;AACD;;AACD,aAAO,mBAAP;AACD;;;;;;IAQG,mB;;;;;AAGJ,+BAAY,WAAZ,EAAwC;AAAA;;AAAA;;AACtC,8BAAM,WAAN;AAHF,sBAAY,KAAZ;AAEwC;AAEvC;;;;WAED,sBAAU;AACR,WAAK,SAAL,GAAiB,IAAjB;AACA,WAAK,QAAL;AACD;;;WAED,0BAAc,CAEb;;;;EAdqC,qE;;;;;;;;;;;;ACvExC;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AA6CM,SAAU,UAAV,CAAwB,MAAxB,EAAwE;AAAA,MAAhC,SAAgC,uEAAL,sDAAK;AAC5E,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,kBAAJ,CAAuB,MAAvB,EAA+B,SAA/B,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,kB;AACJ,8BAAoB,MAApB,EACoB,SADpB,EAC4C;AAAA;;AADxB;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,oBAAJ,CAAyB,UAAzB,EAAqC,KAAK,MAA1C,EAAkD,KAAK,SAAvD,CAAjB,CAAP;AACD;;;;;;IAQG,oB;;;;;AAIJ,gCAAY,WAAZ,EACoB,MADpB,EAEoB,SAFpB,EAE4C;AAAA;;AAAA;;AAC1C,8BAAM,WAAN;AAFkB;AACA;AAJpB,qBAAoB,KAApB;;AAME,UAAK,GAAL,CAAS,SAAS,CAAC,QAAV,CAAmB,oBAAnB,EAAyC,MAAzC,EAAiD;AAAE,gBAAU,uKAAZ;AAAoB,YAAM,EAAN;AAApB,KAAjD,CAAT;;AAF0C;AAG3C;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,SAAL,GAAiB,KAAjB;AACA,WAAK,QAAL,GAAgB,IAAhB;AACD;;;WAED,sBAAU;AACR,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,QAAL,GAAgB,KAAhB;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,SAA3B;AACD;AACF;;;;EArBmC,sD;;AAwBtC,SAAS,oBAAT,CAA6D,KAA7D,EAAuE;AACrE,MAAM,UAAN,GAA6B,KAA7B,CAAM,UAAN;AAAA,MAAkB,MAAlB,GAA6B,KAA7B,CAAkB,MAAlB;AACA,YAAU,CAAC,UAAX;AACA,OAAK,QAAL,CAAc,KAAd,EAAqB,MAArB;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SC/Fe,S,CAAU,K,EAAU;AAClC,SAAO,QAAQ,WAAI,KAAJ,GAAa,EAAb,CAAf;AACD;;AACD,SACgB,QADhB,CACyB,KADzB,EACmC;AACjC,SAAQ,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAlC,aAA6C,KAA7C,IAAuD,EAA9D;AACD;;AACD,SACgB,eADhB,CACgC,KADhC,EAC+C,GAD/C,EACmE;AAAA,MAAP,GAAO,uEAAD,CAAC;AACjE,SAAO,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,GAAL,CAAS,KAAT,EAAgB,GAAhB,CAAT,EAA+B,GAA/B,CAAP;AACD;;AACD,SACgB,QADhB,CACyB,KADzB,EACmC;AACjC,SAAO,OAAO,KAAP,KAAiB,QAAxB;AACD;;AACD,SACgB,QADhB,CACyB,KADzB,EACmC;AACjC,SAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAD,CAAV,CAAb;AACD;;AACD,SACgB,SADhB,CAC0B,KAD1B,EACoC;AAClC,SAAO,OAAO,KAAP,KAAiB,QAAjB,IAA6B,QAAQ,CAAC,KAAD,CAArC,IAAgD,IAAI,CAAC,KAAL,CAAW,KAAX,MAAsB,KAA7E;AACD;;AACD,SACgB,SADhB,CAC0B,KAD1B,EACoC;AAClC,SAAO,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAxC;AACD;;AACD,SACgB,SADhB,CAC0B,KAD1B,EACuC;AACrC,MAAI,QAAQ,CAAC,KAAD,CAAZ,EAAqB;AACnB,WAAO,WAAI,KAAJ,EAAY,KAAZ,CAAkB,CAAC,CAAnB,CAAP;AACD,GAFD,MAEO;AACL,WAAO,EAAP;AACD;AACF;;AACD,SACgB,YADhB,CAC6B,IAD7B,EACiC;AAC/B,SAAO,IAAI,CAAC,OAAL,CAAa,0BAAb,EAAyC,MAAzC,CAAP;AACD;;AACD,SACgB,YADhB,CAC6B,OAD7B,EAC2C,SAD3C,EAC4D;AAC1D,SAAO,OAAO,IAAI,OAAO,CAAC,SAAnB,IAAgC,OAAO,CAAC,SAAR,CAAkB,KAAlD,IACH,OAAO,CAAC,SAAR,CAAkB,KAAlB,CAAwB,KAAxB,EAA+B,OAA/B,CAAuC,SAAvC,KAAqD,CADzD;AAED;;AAED,IAAI,OAAO,OAAP,KAAmB,WAAnB,IAAkC,CAAC,OAAO,CAAC,SAAR,CAAkB,OAAzD,EAAkE;AAClE;AAEE,MAAI,CAAC,OAAO,CAAC,SAAR,CAAkB,OAAvB,EAAgC;AAClC;AACI,WAAO,CAAC,SAAR,CAAkB,OAAlB,GAA6B,OAAO,CAAC,SAAR,CAA0B,iBAA1B,IAA+C,OAAO,CAAC,SAAR,CAAkB,qBAA9F;AACD;;AAED,SAAO,CAAC,SAAR,CAAkB,OAAlB,GAA4B,UAAS,CAAT,EAAkB;AAC5C,QAAI,EAAE,GAAG,IAAT;;AACA,QAAI,CAAC,QAAQ,CAAC,eAAT,CAAyB,QAAzB,CAAkC,EAAlC,CAAL,EAA4C;AAC1C,aAAO,IAAP;AACD;;AACD,OAAG;AACD,UAAI,EAAE,CAAC,OAAH,CAAW,CAAX,CAAJ,EAAmB;AACjB,eAAO,EAAP;AACD;;AACD,QAAE,GAAG,EAAE,CAAC,aAAH,IAAoB,EAAE,CAAC,UAA5B;AACD,KALD,QAKS,EAAE,KAAK,IAAP,IAAe,EAAE,CAAC,QAAH,KAAgB,CALxC;;AAMA,WAAO,IAAP;AACD,GAZD;AAaD;;AACD,SACgB,OADhB,CACwB,OADxB,EAC8C,QAD9C,EACsD;AACpD,MAAI,CAAC,QAAL,EAAe;AACb,WAAO,IAAP;AACD;;AAED,SAAO,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAP;AACF;ACxEA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAa,kBAAb;AAAA;;AACE,qBAAc,KAAd;AAED,CAHD;;;;AAGC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACMA,IAAI,MAAM,GAAG,CAAb;ADV+B;AAD9B;AC2BD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,cAAb,GACE,wBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;gDAEC,E;;;AACD;AAAA,UAEmC;AAAA,UAJD,0DAAW;AAIV,GAFnC;AAAA;AACA;AALC;AAOD;AAPmD;AASnD;;;AAEA,IAAa,aAAb,GACE,uBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;+CAEC,E;;;AACD;AAAA,UAEkC;AAAA,UAJA,0DAAW;AAIX,GAFlC;AAAA;AACA;AALC;AAOD;;;AAEA,IAAa,eATqC,GAUhD,yBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;iDAEC,E;;;AACD;AAAA,UAEoC;AAAA,UAJF,0DAAW;AAIT,GAFpC;AAAA;AACA;AALC;AAOD;;;AAEA,IAR4B,QAQ5B;AAAA;AAAA;;AAAgB;AAAY;AAEK;AAEtB,oBAAW,KAAX;AACX;AAEK;AAEC;AAAW;AAEA;;AAAN,kCAAkB,MAAM,EAAxB;AAET,kBAAS,KAAT;AAyCD;;AAtDD;AAAA;AAAA,WA6CE,iCAAqB;AACvB;AACI;AACI;AACI;AACR,WAAK,QAAL,GAAgB,KAAK,SAAL,CAAe,KAA/B;AACA,WAAK,SAAL,GAAiB,KAAK,UAAL,CAAgB,KAAjC;AACA,WAAK,UAAL,GAAkB,KAAK,WAAL,CAAiB,KAAnC;AACD;AArDH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsDC;;;;AAlDU,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAM6C,0DAArD,sEAAe,CAAC,aAAD,EAAgB;AAAC,aAAW,EAAE;AAAd,CAAhB,CAAsC;;AACC,0DAAtD,sEAAe,CAAC,cAAD,EAAiB;AAAC,aAAW,EAAE;AAAd,CAAjB,CAAuC;;AACC,0DAAvD,sEAAe,CAAC,eAAD,EAAkB;AAAC,aAAW,EAAE;AAAd,CAAlB,CAAwC;AAmC1D;AA/EC;AACoB;AAiFrB;AACA;AACA;;;AA4BA,IAAa,YAAb;AAsCE,wBAAY,MAAZ,EAAsC;AAAA;;AACxC;AAAY;AAKS;AAAW;AAE4B;AAGzD;AAxCQ,qBAAwC,EAAxC;AACX;AAEK;AAIF;;AAKQ,yBAAgB,IAAhB;AACX;AAEK;AAEsC;AAAW;AACX;;AAS/B,uBAAc,IAAI,2DAAJ,EAAd;AAGR,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,gBAAL,GAAwB,MAAM,CAAC,WAA/B;AACD;AACH;AAEC;AACE;;;AA7CH;AAAA;AAAA,WA8CE,oBAAW,OAAX,EAA0B;AAAa,aAAO,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,IAAkC,CAAC,CAA1C;AAA8C;AACvF;AAEC;AACE;AACE;AAEJ;;AArDD;AAAA;AAAA,WAqDE,gBAAO,OAAP,EAAsB;AAAU,WAAK,gBAAL,CAAsB,KAAK,cAAL,CAAoB,OAApB,CAAtB,EAAoD,IAApD;AAA4D;AAC9F;AAEC;AACE;AACE;AAEJ;;AA5DD;AAAA;AAAA,WA4DE,qBAAS;AAAA;;AACP,UAAI,KAAK,gBAAT,EAA2B;AACzB,YAAI,KAAK,SAAL,CAAe,MAAf,KAA0B,CAA1B,IAA+B,KAAK,MAAL,CAAY,MAA/C,EAAuD;AACrD,eAAK,gBAAL,CAAsB,KAAK,MAAL,CAAY,KAAlC,EAAyC,IAAzC;AACD;AACF,OAJD,MAIO;AACL,aAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AAAA,iBAAI,KAAI,CAAC,gBAAL,CAAsB,KAAtB,EAA6B,IAA7B,CAAJ;AAAA,SAAzB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;AA3ED;AAAA;AAAA,WA2EE,kBAAS,OAAT,EAAwB;AAAI,WAAK,gBAAL,CAAsB,KAAK,cAAL,CAAoB,OAApB,CAAtB,EAAoD,KAApD;AAA6D;AAC3F;AAEC;AACE;;AA/EH;AAAA;AAAA,WAgFE,uBAAW;AAAA;;AACT,WAAK,MAAL,CAAY,OAAZ,CAAoB,UAAC,KAAD,EAAM;AAAO,cAAI,CAAC,gBAAL,CAAsB,KAAtB,EAA6B,KAA7B;AAAsC,OAAvE;AACD;AACH;AAEC;AACE;AACE;AAEJ;;AAzFD;AAAA;AAAA,WAyFE,gBAAO,OAAP,EAAsB;AACpB,UAAM,KAAK,GAAG,KAAK,cAAL,CAAoB,OAApB,CAAd;;AACA,UAAI,KAAJ,EAAW;AACT,aAAK,gBAAL,CAAsB,KAAtB,EAA6B,CAAC,KAAK,CAAC,MAApC;AACD;AACF;AA9FH;AAAA;AAAA,WAgGE,iCAAqB;AAAA;;AACvB;AACI,UAAI,QAAQ,CAAC,KAAK,SAAN,CAAZ,EAA8B;AAC5B,aAAK,SAAL,GAAiB,KAAK,SAAL,CAAe,KAAf,CAAqB,SAArB,CAAjB;AACD,OAJkB,CAKvB;;;AAEI,WAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AAAA,eAAI,KAAK,CAAC,MAAN,GAAe,CAAC,KAAK,CAAC,QAAP,IAAmB,MAAI,CAAC,SAAL,CAAe,OAAf,CAAuB,KAAK,CAAC,EAA7B,IAAmC,CAAC,CAA1E;AAAA,OAAzB,EAPmB,CAQvB;;AAEI,UAAI,KAAK,SAAL,CAAe,MAAf,GAAwB,CAAxB,IAA6B,KAAK,gBAAtC,EAAwD;AACtD,aAAK,YAAL,CAAkB,KAAK,SAAL,CAAe,CAAf,CAAlB;;AACA,aAAK,gBAAL;AACD;AACF;AA9GH;AAAA;AAAA,WAgHU,0BAAiB,KAAjB,EAAkC,SAAlC,EAAoD;AAC1D,UAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAhB,IAA4B,KAAK,CAAC,MAAN,KAAiB,SAAjD,EAA4D;AAC1D,YAAI,gBAAgB,GAAG,KAAvB;AAEA,aAAK,WAAL,CAAiB,IAAjB,CACI;AAAC,iBAAO,EAAE,KAAK,CAAC,EAAhB;AAAoB,mBAAS,EAAE,SAA/B;AAA0C,wBAAc,EAAE;AAAQ,4BAAgB,GAAG,IAAnB;AAA0B;AAA5F,SADJ;;AAGA,YAAI,CAAC,gBAAL,EAAuB;AACrB,eAAK,CAAC,MAAN,GAAe,SAAf;;AAEA,cAAI,SAAS,IAAI,KAAK,gBAAtB,EAAwC;AACtC,iBAAK,YAAL,CAAkB,KAAK,CAAC,EAAxB;AACD;;AACD,eAAK,gBAAL;AACD;AACF;AACF;AAhIH;AAAA;AAAA,WAkIU,sBAAa,OAAb,EAA4B;AAClC,WAAK,MAAL,CAAY,OAAZ,CAAoB,eAAK;AACvB,YAAI,KAAK,CAAC,EAAN,KAAa,OAAjB,EAA0B;AACxB,eAAK,CAAC,MAAN,GAAe,KAAf;AACD;AACF,OAJD;AAKD;AAxIH;AAAA;AAAA,WA0IU,wBAAe,OAAf,EAA8B;AAAqB,aAAO,KAAK,MAAL,CAAY,IAAZ,CAAiB,WAAC;AAAA,eAAI,CAAC,CAAC,EAAF,KAAS,OAAb;AAAA,OAAlB,CAAP;AAAiD;AA1I9G;AAAA;AAAA,WA4IU,4BAAgB;AACtB,WAAK,SAAL,GAAiB,KAAK,MAAL,CAAY,MAAZ,CAAmB,eAAK;AAAA,eAAI,KAAK,CAAC,MAAN,IAAgB,CAAC,KAAK,CAAC,QAA3B;AAAA,OAAxB,EAA6D,GAA7D,CAAiE,eAAK;AAAA,eAAI,KAAK,CAAC,EAAV;AAAA,OAAtE,CAAjB;AACD;AA9IH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+IC;;;AACD;AAAA,UAEiC;AAAA,UA5GX;AA4GW,GAFjC;AAAA;;AA/I6B,0DAA1B,sEAAe,CAAC,QAAD,CAAW;;AAQlB,0DAAR,4DAAK,EAAG;;AAOa,0DAArB,4DAAK,CAAC,aAAD,CAAgB;;AAKb,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAOC,0DAAT,6DAAM,EAAG;AA6GZ;AA5KC;AA8KD;AA5KE;AA8KF;AA5KM;AA8KN;;;AAYA,IA1L6B,cAAmB;AAA+B,0BAkM1D,SAlM0D,EAAqB,KAArB,EAAsB;AAAA;;AAkMhF,SAjMX,SAiMW;AAAoD;AAAmB;;AAlM5C;AAAA;AAAA,SA4L9C,aAAmB,KAAnB,EAAkC;AAChC,UAAI,KAAJ,EAAW;AACT,aAAK,KAAL,GAAa,KAAb;AACD;AACF;AAhM6C;;AAAA;AAAA,GA0LhD;;;;;;;;;;;;;;;;;;;;;;;;;oBASC;;;;AACD;AAAA,UAAwC;AAAA,UAFR;AAEQ,GAAxC,EA/KG;AAAA,UAEU,QAFV;AAEsB,cA+IxB;AAAA,YA4B8C,uDAAQ;AA5BtD,OA4BsD;AAAA,YAAI,mDAAI;AAAR,KA5BtD;AAjJE,GA+KH;AAAA;;AARE,0DADC,4DAAK,EACN,GAAF,wBAAE,EAAF,gBAAE,EAAF,IAAE;;AAFW,cAAc,4DAAvB,CAXH,yDAAS,+DAmB6C,EAnBtD,CAWG,EAQuD,sDAlBjD,CAkBiD,6DAAI,EAAJ,CARvD,CAAuB,EAVS,cAUT,CAAd;AATX,IAAI,wBACM,GC7TR,CD6TgB,YC7ThB,ED8TA,QC9TA,ED8TY,aC9TZ,ED8T8B,eC9T9B,ED+TA,cC/TA,ED+TmB,cC/TnB,CD4TF;;ACzTF,ID4TwC,kBACpC;AAAA;AAAA,CC7TJ;;AD6T0C,kBC7TX,CD8T3B,IADsC,GACtC,gEC/TO;AAAA,MD+T2B;AC/T3B,CD+TP,CADsC;AAE3B,kBChU6C,KDgU7C,GAA4B,gEChUkD;AAAE,SAAC,WAAe,0BAAf,CAE/F,CAF+F,EAE/F;AAAA;AAAA,GAF4F;AAE5F;AAF4F,CDgUlD,CAA5B;AElVf;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,cAAb;AAAA;;AACE,qBAAc,IAAd;AACA,cAAO,SAAP;AACD,CAHD;;;;AAGC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACGA;ADRC;ACUD;ADT2B;ACW3B;;AAeA,IAAa,QAAb;AAqBE,oBAAY,MAAZ,EAA4C,SAA5C,EAA0E,QAA1E,EAA8F;AAAA;;AAAlD;AAA8B;AAAqB;AACxF;AAMA;;AATG,iBAAQ,IAAI,2DAAJ,EAAR;AAGR,SAAK,WAAL,GAAmB,MAAM,CAAC,WAA1B;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACD;;AAxBH;AAAA;AAAA,WA0BE,wBAAY;AAAK,WAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB;AAAwB;AA1B3C;AAAA;AAAA,WA4BE,qBAAY,OAAZ,EAAkC;AAChC,UAAM,UAAU,GAAG,OAAO,CAAC,MAAD,CAA1B;;AACA,UAAI,UAAU,IAAI,CAAC,UAAU,CAAC,WAA9B,EAA2C;AACzC,aAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,kBAAiE,UAAU,CAAC,aAA5E;;AACA,aAAK,SAAL,CAAe,QAAf,CAAwB,KAAK,QAAL,CAAc,aAAtC,kBAA8D,UAAU,CAAC,YAAzE;AACD;AACF;AAlCH;AAAA;AAAA,WAoCE,oBAAQ;AAAK,WAAK,SAAL,CAAe,QAAf,CAAwB,KAAK,QAAL,CAAc,aAAtC,kBAA8D,KAAK,IAAnE;AAA6E;AApC5F;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAqCC;;;AACD;AAAA,UAAkC;AAAA,UAjBZ;AAiBY,GAAlC,EAjBwC;AAAA,UAAiB,wDAAS;AAA1B,GAiBxC,EAjBsE;AAAA,UAAgB,yDAAU;AAA1B,GAiBtE;AAAA;;AA9BW,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAIC,0DAAT,6DAAM,EAAG;;AAmBV,IAtCmB,cAdpB;AAAA;AAAA,CAoDC;;AAnDQ,cCbiB,CDaJ,IAAb,GAAa,gEACN;AAAE;AAAF,CADM,CAAb;AACuC,cCfF,CDgB7C,IAD+C,GCfS,gEDgBxB;AAAC,SAAI,WACjC,sBADiC,CACb,CADa,ECfZ;ADgBM,WAAE,KAAS,mBAAT,GAAF;AAAW,GADV;AACqC,SAAE;AADvC,CChBwB,CDeT;;AAGvC,IAAE,cEnBZ;AAAA;AAAA,CFmBU;;AEnBG,cAAc,KAAd,GAAc,SAL1B,sBAK0B,CAJzB,CAIyB,EAJzB;AAAA,SAAU,2BAAV;AACI,CAGO;;AAFP,cAAC,CAAa,IAAd,GAAgB,iEAA0B;AAAA,MAAU,gBAAV;AAA4B,WAAE,GAAU,KF2BnF,gBE3BmF,EF2BnF,EE3BmF,CAAV,CAA9B;AAAoE,UAClH,GAD8C;AAEnC,gBAIZ,SFuBA,2BEvBA,CF6DA,EE7DA,EF6DA,GE7DA,EF6DA;AAAA;;;AE5DD;AAPgD,CAA1B,CAAhB;ACAN,IAAM,2BAA2B,GAAG;AAClC,SAAO,EAAE,iEADyB;AAElC,aAAW,EAAE,iEAAU,CAAC;AAAA,WAAM,WAAN;AAAA,GAAD,CAFW;AAGlC,OAAK,EAAE;AAH2B,CAApC;AAOA;AACA;AACA;AACA;AACA;AACA;;AAYA,IAAa,WAAb;AA4BE,uBAAoB,MAApB,EAAoD,GAApD,EAA0E;AAAA;;AAAtD;AAAgC;AAAuB;AAEtE;AACiC;;AAzB7B,oBAAW,KAAX;AACX;AAEK;AAEA;;AAAM,wBAAe,IAAf;AACX;AAEK;AAEA;;AAAM,0BAAiB,KAAjB;;AAET,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;AAS8E;;AA5BhF;AAAA;AAAA,SAqBE,aAAY,SAAZ,EAA8B;AAC5B,WAAK,MAAL,CAAY,OAAZ,GAAsB,SAAtB;;AACA,UAAI,CAAC,SAAL,EAAgB;AACd,aAAK,SAAL;AACD;AACF;AA1BH;AAAA;AAAA,WA8BE,uBAAc,MAAd,EAAoB;AAClB,UAAM,gBAAgB,GAAG,MAAM,CAAC,MAAP,CAAc,OAAd,GAAwB,KAAK,YAA7B,GAA4C,KAAK,cAA1E;AACA,WAAK,QAAL,CAAc,gBAAd;AACA,WAAK,SAAL;AACA,WAAK,UAAL,CAAgB,gBAAhB;AACD;AAnCH;AAAA;AAAA,WAqCE,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;AArCzE;AAAA;AAAA,WAuCE,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;AAvCjE;AAAA;AAAA,WAyCE,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,QAAL,GAAgB,UAAhB;AACA,WAAK,MAAL,CAAY,QAAZ,GAAuB,UAAvB;AACD;AA5CH;AAAA;AAAA,WA8CE,oBAAW,KAAX,EAAgB;AACd,WAAK,OAAL,GAAe,KAAK,KAAK,KAAK,YAA9B;AACA,WAAK,MAAL,CAAY,MAAZ,GAAqB,KAAK,OAA1B,CAFc,CAGlB;;AAEI,WAAK,GAAL,CAAS,YAAT;AACD;AApDH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAqDC,2B;;;AACD;AAAA,UAAqC;AAAA,UA1BP;AA0BO,GAArC,EA1BgD;AAAA,UAAW,gEAAiB;AAA5B,GA0BhD;AAAA;;AAhDW,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;ACxCX,IDwBwB,wBCxBM,GAAG;ADatB,SCZF,EDaP,iECd+B;AAE/B,aAAW,EDY2B,iECZf,CDavB;AAAA,WAAI,aAAJ;AAAA,GCbuB,CAFQ;AAG/B,OAAK,EDaQ;AChBkB,CAAjC;AAMA,IAAIA,QAAM,GAAG,CAAb;AAEA;ADSgB;ACPhB;ADQuC;AAGpC;AACsC;;ACPzC,IDQC,aACuB;ACTxB;AAAA;;AACU,mBAAyB,IAAI,GAAJ,EAAzB;AACA,kBAAS,IAAT;AACV;AAAY;AAGP;AAAW;AAGT;AAE2B;AAAW;AACS;;AAI3C,oCAAoBA,QAAM,EAA1B;;AAET,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;AA6BD;;ADvCuB;AAAA;AAAA,SCJtB,eAAY;AAAK,aAAO,KAAK,SAAZ;AAAwB,KDInB;AAAA,SCHtB,aAAa,UAAb,EAAgC;AAAI,WAAK,gBAAL,CAAsB,UAAtB;AAAoC;ADGlD;AAAA;AAAA,WCYtB,uBAAc,KAAd,EAA6B;AAC3B,WAAK,UAAL,CAAgB,KAAK,CAAC,KAAtB;AACA,WAAK,QAAL,CAAc,KAAK,CAAC,KAApB;AACD;ADfqB;AAAA;AAAA,WCiBtB,8BAAkB;AAAK,WAAK,kBAAL;AAA4B;ADjB7B;AAAA;AAAA,WCmBtB,kBAAS,KAAT,EAAwB;AAAI,WAAK,OAAL,CAAa,GAAb,CAAiB,KAAjB;AAA0B;ADnBhC;AAAA;AAAA,WCqBtB,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;ADrBjD;AAAA;AAAA,WCuBtB,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;ADvBzC;AAAA;AAAA,WCyBtB,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,GAAiB,UAAjB;;AACA,WAAK,qBAAL;AACD;AD5BqB;AAAA;AAAA,WC8BtB,oBAAW,KAAX,EAA0B;AAAI,WAAK,OAAL,CAAa,MAAb,CAAoB,KAApB;AAA6B;AD9BrC;AAAA;AAAA,WCgCtB,oBAAW,KAAX,EAAgB;AACd,WAAK,MAAL,GAAc,KAAd;;AACA,WAAK,kBAAL;AACD;ADnCqB;AAAA;AAAA,WCqCd,8BAAkB;AAAA;;AAAK,WAAK,OAAL,CAAa,OAAb,CAAqB,UAAC,KAAD;AAAA,eAAW,KAAK,CAAC,WAAN,CAAkB,MAAI,CAAC,MAAvB,CAAX;AAAA,OAArB;AAAkE;ADrC3E;AAAA;AAAA,WCsCd,iCAAqB;AAAK,WAAK,OAAL,CAAa,OAAb,CAAqB,UAAC,KAAD;AAAA,eAAW,KAAK,CAAC,cAAN,EAAX;AAAA,OAArB;AAA0D;ADtCtE;;AAAA;AAAA,GCTxB;;;;;;;;;;;;;gFAgDC,wB;;;AAhCU,0DAAR,4DAAK,EAAG;AAmCX;AApDC;AAAwC;AAuDzC;;;AAYA,IAnE4G,QAClF;AAoHxB,oBACY,MADZ,EAC2C,MAD3C,EAC2E,SAD3E,EAEY,QAFZ,EAE4D,GAF5D,EAEkF;AAAA;;AADtE;AAA+B;AAAgC;AAC/D;AAAgD;AAjDpD,kBAAc,IAAd;;AAkDN,SAAK,MAAL,CAAY,QAAZ,CAAqB,IAArB;;AACA,SAAK,cAAL;AACD;AACH;AACO;AAEiB;;;AA7HE;AAAA;AAAA,SAgHxB,eAAS;AAAK,aAAO,KAAK,MAAZ;AAAqB,KAhHX;AAAA,SAmFxB,aAAU,KAAV,EAAoB;AAClB,WAAK,MAAL,GAAc,KAAd;AACA,UAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC,QAAN,EAAH,GAAsB,EAA/C;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,QAAL,CAAc,aAAzC,EAAwD,OAAxD,EAAiE,WAAjE;;AACA,WAAK,MAAL,CAAY,kBAAZ;AACD;AACH;AAEC;AACE;;AA5FuB;AAAA;AAAA,SA8GxB,eAAY;AAAK,aAAO,KAAK,MAAL,CAAY,QAAZ,IAAwB,KAAK,SAApC;AAAgD,KA9GzC;AAAA,SA8FxB,aAAa,UAAb,EAAgC;AAC9B,WAAK,SAAL,GAAiB,UAAU,KAAK,KAAhC;AACA,WAAK,cAAL;AACD;AAjGuB;AAAA;AAAA,SAmGxB,aAAY,SAAZ,EAA8B;AAC5B,UAAI,KAAK,MAAT,EAAiB;AACf,aAAK,MAAL,CAAY,OAAZ,GAAsB,SAAtB;AACD;;AACD,UAAI,CAAC,SAAL,EAAgB;AACd,aAAK,MAAL,CAAY,SAAZ;AACD;AACF;AA1GuB;AAAA;AAAA,SA4GxB,eAAW;AAAK,aAAO,KAAK,QAAZ;AAAuB;AA5Gf;AAAA;AAAA,SAkHxB,eAAY;AAAK,aAAO,KAAK,IAAL,IAAa,KAAK,MAAL,CAAY,IAAhC;AAAuC;AAlHhC;AAAA;AAAA,WA2HxB,uBAAW;AAAK,WAAK,MAAL,CAAY,UAAZ,CAAuB,IAAvB;AAA+B;AA3HvB;AAAA;AAAA,WA6HxB,oBAAQ;AAAK,WAAK,MAAL,CAAY,aAAZ,CAA0B,IAA1B;AAAkC;AA7HvB;AAAA;AAAA,WA+HxB,qBAAY,KAAZ,EAAiB;AACnB;AACI,UAAI,KAAK,KAAL,KAAe,KAAnB,EAA0B;AACxB,aAAK,GAAL,CAAS,YAAT;AACD;;AAED,WAAK,QAAL,GAAgB,KAAK,KAAL,KAAe,KAA/B;AACA,WAAK,MAAL,CAAY,MAAZ,GAAqB,KAAK,QAA1B;AACD;AAvIuB;AAAA;AAAA,WAyIxB,0BAAc;AAAK,WAAK,MAAL,CAAY,QAAZ,GAAuB,KAAK,QAA5B;AAAuC;AAzIlC;;AAAA;AAAA,GAkE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwEC;;;;AACD;AAAA,UAAkC;AAAA,UAtBZ;AAsBY,GAAlC,EAtBuC;AAAA,UAAc;AAAd,GAsBvC,EAtBuE;AAAA,UAAiB,wDAAS;AAA1B,GAsBvE,EArBE;AAAA,UAAsB,yDAAU;AAAhC,GAqBF,EArBsC;AAAA,UAA6B,gEAAiB;AAA9C,GAqBtC;AAAA;;AA9DW,0DAAR,4DAAK,EAAG;;AAMT,0DADC,4DAAK,CAAC,OAAD,CACN,GAAF,kBAAE,EAAF,OAAE,EAAF,IAAE;;AAWA,0DADC,4DAAK,CAAC,UAAD,CACN,GAAF,kBAAE,EAAF,UAAE,EAAF,IAAE;;ACxGF,ID4EqB,qBC5EM,GAAG,CDiEpB,cCjEoB,EDkEpB,WClEoB,EAA8B,aAA9B,EDkEO,QClEP,CAA9B;;AAGA,IDgEE,gBACE;AAAA;AAAA,CCjEJ;;ADkEI,gBClEyB,CDkEb,IAAZ,GAAY,gEACZ;AAAA;AAAA,CADY,CAAZ;AAEA,gBCrEqD,CDqEzC,IAAZ,GAAY,gECpEH;ADqEA,SAAE,WAAgB,wBAAhB,CACH,CADG,EACD;AAAA,qBAAiB,gBAAjB;AAGD;ACzEA,CDoEG,CAAZ;AE/EJ;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,iBAAb;AAAA;;AACE,kBAAW,IAAX;AACA,cAAO,IAAP;AACA,kBAAW,IAAX;AACA,sBAAe,IAAf;AACA,8BAAuB,IAAvB;AACA,kCAA2B,IAA3B;AACD,CAPD;;;;AAOC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACUA,IAAIA,QAAM,GDlBoB,CCkB9B;AAEA;ADrBC;ACuBD;;AAEA,IDxB8B,QCwB9B,GAOE,kBAAmB,MAAnB,EAA2C;AAAA;;AAAxB;AAAyB;AAI7C;AAAiE;AAE5D;AAA4E;;AAPvE,gCAAkBA,QAAM,EAAxB;AACsC,CAPjD;;;;;;;;;;QAQC;;;;AACD;AAAA,UAE6B;AAAA,UAJA,0DAAW;AAIX,GAF7B;AAAA;;AAHW,0DAAR,4DAAK,EAAG;AAIX;AAXC;AAA4C;AAAE;AAe/C;;;AAiCA,IAAa,WAAb;AA8EE,uBACI,MADJ,EAC4D,WAD5D,EACiF,OADjF,EAEY,GAFZ,EAEkC;AAAA;;AAD0B;AAAqB;AACrE;AA5EL,+BAAsB,mBAAtB;AAEC,qBAAY,IAAI,6CAAJ,EAAZ;AACA,sBAAa,IAAI,qDAAJ,CAAoB,CAApB,CAAb;AACA,wBAAe,IAAI,qDAAJ,CAAoB,KAApB,CAAf;AACA,0BAAiB,IAAI,qDAAJ,CAAoB,KAApB,CAAjB;AACA,mBAAU,IAAI,qDAAJ,CAAoB,KAApB,CAAV;AACA,kBAAS,IAAI,qDAAJ,CAAoB,KAApB,CAAT;AACV;AAEK;AAEY;AAAW;AAET;;AA0DP,iBAAQ,IAAI,2DAAJ,EAAR;AAKR,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,oBAAL,GAA4B,MAAM,CAAC,oBAAnC;AACA,SAAK,wBAAL,GAAgC,MAAM,CAAC,wBAAvC;AACD;AACH;AACO;AAEa;;;AA3FpB;AAAA;AAAA,SA4BE,eAAY;AAAK,aAAO,KAAK,UAAL,CAAgB,KAAvB;AAA+B;AAClD;AAEC;AACE;AAhCH;AAAA,SAwBE,aAAa,KAAb,EAA0B;AACxB,WAAK,UAAL,CAAgB,IAAhB,CAAqB,KAArB;AACD;AA1BH;AAAA;AAAA,SAsCE,eAAQ;AAAK,aAAO,KAAK,MAAL,CAAY,KAAnB;AAA2B;AAC1C;AAEC;AAAiF;AAAO;AAElF;AA3CP;AAAA,SAkCE,aAAS,KAAT,EAAuB;AACrB,WAAK,MAAL,CAAY,IAAZ,CAAiB,KAAjB;AACD;AApCH;AAAA;AAAA,SAuDE,eAAgB;AAAK,aAAO,KAAK,cAAL,CAAoB,KAA3B;AAAmC,KAvD1D;AAAA,SAmDE,aAAiB,KAAjB,EAA+B;AAC7B,WAAK,cAAL,CAAoB,IAApB,CAAyB,KAAzB;AACD;AArDH;AAAA;AAAA,WA0FE,sBAAU;AACR,WAAK,YAAL,CAAkB,IAAlB,CAAuB,IAAvB;AACD;AA5FH;AAAA;AAAA,WA+FE,sBAAU;AACR,WAAK,YAAL,CAAkB,IAAlB,CAAuB,KAAvB;AACD;AAjGH;AAAA;AAAA,WAmGE,8BAAkB;AAAA;;AACpB;AACI;AACA,UAAI,0EAAiB,CAAC,KAAK,WAAN,CAArB,EAAyC;AACvC,aAAK,OAAL,CAAa,iBAAb,CAA+B;AAC7B,cAAM,aAAa,GAAG,2DAAa,CAAC,CACZ,MAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,2DAAG,CAAC,oBAAU;AAAA,mBAAI,UAAU,CAAC,OAAf;AAAA,WAAX,CAAnB,EAAuD,iEAAS,CAAC,MAAI,CAAC,QAAN,CAAhE,CADY,EAEZ,MAAI,CAAC,MAFO,EAEC,MAAI,CAAC,MAAL,CAAY,OAAZ,CAAoB,IAApB,CAAyB,iEAAS,CAAK,IAAL,CAAlC,CAFD,CAAD,CAAb,CAIK,IAJL,CAKQ,2DAAG,CAAC,gBAAuB;AAAA;AAAA,gBAArB,cAAqB;AAAA,gBAAL,IAAK;;AACzB,gBAAM,QAAQ,GAAG,MAAI,CAAC,MAAL,CAAY,OAAZ,EAAjB;;AACA,gBAAM,eAAe,GAAG,MAAI,CAAC,gBAAL,CAAsB,cAAtB,CAAxB;;AACA,mBAAO,IAAI,GAAG,QAAQ,CAAC,MAAT,GAAkB,CAArB,GAAyB,eAAe,GAAG,QAAQ,CAAC,MAAT,GAAkB,CAAxE;AACD,WAJE,CALX,EAUQ,4EAAoB,EAV5B,CAAtB;AAWA,qEAAa,CAAC,CAAC,MAAI,CAAC,OAAN,EAAe,MAAI,CAAC,cAApB,EAAoC,MAAI,CAAC,YAAzC,EAAuD,MAAI,CAAC,UAA5D,EAAwE,aAAxE,CAAD,CAAb,CACK,IADL,CAEQ,2DAAG,CAAC;AAAA;AAAA,gBAAE,KAAF;AAAA,gBAAS,YAAT;AAAA,gBAAuB,UAAvB;AAAA,gBAAmC,QAAnC;AAAA,gBAA6C,YAA7C;;AAAA,mBACM,KAAK,IAAK,YAAY,IAAI,UAA1B,IAAyC,CAAC,YAA3C,GAA2D,CAA3D,GAA+D,QADpE;AAAA,WAAD,CAFX,EAKQ,4EAAoB,EAL5B,EAKgC,iEAAS,CAAC,kBAAQ;AAAA,mBAAI,QAAQ,GAAG,CAAX,GAAe,mDAAK,CAAC,QAAD,EAAW,QAAX,CAApB,GAA2C,2CAA/C;AAAA,WAAT,CALzC,EAMQ,iEAAS,CAAC,MAAI,CAAC,SAAN,CANjB,EAOK,SAPL,CAOe;AAAA,mBAAM,MAAI,CAAC,OAAL,CAAa,GAAb,CAAiB;AAAA,qBAAM,MAAI,CAAC,IAAL,CAAU,mBAAmB,CAAC,KAA9B,CAAN;AAAA,aAAjB,CAAN;AAAA,WAPf;AAQD,SApBD;AAqBD;;AAED,WAAK,MAAL,CAAY,OAAZ,CAAoB,IAApB,CAAyB,iEAAS,CAAC,KAAK,SAAN,CAAlC,EAAoD,SAApD,CAA8D;AAAA,eAAM,MAAI,CAAC,GAAL,CAAS,YAAT,EAAN;AAAA,OAA9D;AACD;AA/HH;AAAA;AAAA,WAiIE,iCAAqB;AACnB,UAAI,WAAW,GAAG,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAlB;;AACA,WAAK,QAAL,GAAgB,WAAW,GAAG,WAAW,CAAC,EAAf,GAAqB,KAAK,MAAL,CAAY,MAAZ,GAAqB,KAAK,MAAL,CAAY,KAAZ,CAAkB,EAAvC,GAA4C,IAA5F;AACD;AApIH;AAAA;AAAA,WAsIE,uBAAW;AAAK,WAAK,SAAL,CAAe,IAAf;AAAwB;AAC1C;AAEC;AACE;;AA1IH;AAAA;AAAA,WA2IE,gBAAO,OAAP,EAAwB,MAAxB,EAAoD;AAClD,WAAK,gBAAL,CAAsB,OAAtB,EAA+B,KAAK,uBAAL,CAA6B,KAAK,QAAlC,EAA4C,OAA5C,CAA/B,EAAqF,MAArF;AACD;AACH;AAEC;AACE;;AAjJH;AAAA;AAAA,WAkJE,cAAK,MAAL,EAAiC;AAC/B,WAAK,gBAAL,CAAsB,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAtB,EAAyD,sBAAsB,CAAC,KAAhF,EAAuF,MAAvF;AACD;AACH;AAEC;AACE;;AAxJH;AAAA;AAAA,WAyJE,cAAK,MAAL,EAAiC;AAC/B,WAAK,gBAAL,CAAsB,KAAK,aAAL,CAAmB,KAAK,QAAxB,CAAtB,EAAyD,sBAAsB,CAAC,IAAhF,EAAsF,MAAtF;AACD;AACH;AAEC;AACE;;AA/JH;AAAA;AAAA,WAgKE,iBAAK;AAAK,WAAK,OAAL,CAAa,IAAb,CAAkB,IAAlB;AAA0B;AACtC;AAEC;AACE;;AApKH;AAAA;AAAA,WAqKE,iBAAK;AAAK,WAAK,OAAL,CAAa,IAAb,CAAkB,KAAlB;AAA2B;AArKvC;AAAA;AAAA,WAuKU,0BAAiB,QAAjB,EAAmC,SAAnC,EAAsE,MAAtE,EAAkG;AACxG,UAAI,aAAa,GAAG,KAAK,aAAL,CAAmB,QAAnB,CAApB;;AACA,UAAI,aAAa,IAAI,aAAa,CAAC,EAAd,KAAqB,KAAK,QAA/C,EAAyD;AACvD,aAAK,KAAL,CAAW,IAAX,CACI;AAAC,cAAI,EAAE,KAAK,QAAZ;AAAsB,iBAAO,EAAE,aAAa,CAAC,EAA7C;AAAiD,mBAAS,EAAE,SAA5D;AAAuE,gBAAM,EAAE,KAAK,OAAL,CAAa,KAA5F;AAAmG,gBAAM,EAAN;AAAnG,SADJ;AAEA,aAAK,QAAL,GAAgB,aAAa,CAAC,EAA9B;AACD,OANuG,CAO5G;;;AAEI,WAAK,GAAL,CAAS,YAAT;AACD;AAjLH;AAAA;AAAA,WAmLU,iCAAwB,oBAAxB,EAAsD,iBAAtD,EAA+E;AACrF,UAAM,qBAAqB,GAAG,KAAK,gBAAL,CAAsB,oBAAtB,CAA9B;;AACA,UAAM,kBAAkB,GAAG,KAAK,gBAAL,CAAsB,iBAAtB,CAA3B;;AAEA,aAAO,qBAAqB,GAAG,kBAAxB,GAA6C,sBAAsB,CAAC,KAApE,GAA4E,sBAAsB,CAAC,IAA1G;AACD;AAxLH;AAAA;AAAA,WA0LU,uBAAc,OAAd,EAA6B;AAAc,aAAO,KAAK,MAAL,CAAY,IAAZ,CAAiB,eAAK;AAAA,eAAI,KAAK,CAAC,EAAN,KAAa,OAAjB;AAAA,OAAtB,CAAP;AAAyD;AA1L9G;AAAA;AAAA,WA4LU,0BAAiB,OAAjB,EAAgC;AACtC,aAAO,KAAK,MAAL,CAAY,OAAZ,GAAsB,OAAtB,CAA8B,KAAK,aAAL,CAAmB,OAAnB,CAA9B,CAAP;AACD;AA9LH;AAAA;AAAA,WAgMU,uBAAc,cAAd,EAAoC;AAC1C,UAAM,QAAQ,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAjB;;AACA,UAAM,eAAe,GAAG,KAAK,gBAAL,CAAsB,cAAtB,CAAxB;;AACA,UAAM,WAAW,GAAG,eAAe,KAAK,QAAQ,CAAC,MAAT,GAAkB,CAA1D;AAEA,aAAO,WAAW,GAAI,KAAK,IAAL,GAAY,QAAQ,CAAC,CAAD,CAAR,CAAY,EAAxB,GAA6B,QAAQ,CAAC,QAAQ,CAAC,MAAT,GAAkB,CAAnB,CAAR,CAA8B,EAA/D,GACG,QAAQ,CAAC,eAAe,GAAG,CAAnB,CAAR,CAA8B,EADnD;AAED;AAvMH;AAAA;AAAA,WAyMU,uBAAc,cAAd,EAAoC;AAC1C,UAAM,QAAQ,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAjB;;AACA,UAAM,eAAe,GAAG,KAAK,gBAAL,CAAsB,cAAtB,CAAxB;;AACA,UAAM,YAAY,GAAG,eAAe,KAAK,CAAzC;AAEA,aAAO,YAAY,GAAI,KAAK,IAAL,GAAY,QAAQ,CAAC,QAAQ,CAAC,MAAT,GAAkB,CAAnB,CAAR,CAA8B,EAA1C,GAA+C,QAAQ,CAAC,CAAD,CAAR,CAAY,EAA/D,GACG,QAAQ,CAAC,eAAe,GAAG,CAAnB,CAAR,CAA8B,EADpD;AAED;AAhNH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAiNC;;;AACD;AAAA,UAEgC;AAAA,UArIlB;AAqIkB,GAFhC,EAnImC;AAAA;AAAA;AAAA,YAAD,qDAAC;AAAK,aAAC,0DAAD;AAAL;AAAA,GAmInC,EAnI6D;AAAA,UAA+B,qDAAM;AAArC,GAmI7D,EAlIE;AAAA,UAAiB,gEAAiB;AAAlC,GAkIF;AAAA;;AAhN6B,0DAA1B,sEAAe,CAAC,QAAD,CAAW;;AAgBlB,0DAAR,4DAAK,EAAG;;AAMT,0DADC,4DAAK,EACN,GAAF,qBAAE,EAAF,UAAE,EAAF,IAAE;;AAUA,0DADC,4DAAK,EACN,GAAF,qBAAE,EAAF,MAAE,EAAF,IAAE;;AASS,0DAAR,4DAAK,EAAG;;AAQT,0DADC,4DAAK,EACN,GAAF,qBAAE,EAAF,cAAE,EAAF,IAAE;;AAWS,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOC,0DAAT,6DAAM,EAAG;;AAcV,0DADC,mEAAY,CAAC,YAAD,CACb,GAAF,qBAAE,EAAF,YAAE,EAAF,IAAE;;AAKA,0DADC,mEAAY,CAAC,YAAD,CACb,GAAF,qBAAE,EAAF,YAAE,EAAF,IAAE;;AA/FW,WAAW,4DAApB,CAhCH,yDAAS,6DA+G8B,CA9GtC,0DA8GsC,CA/GvC,CAgCG,CAAoB,EA/BE,WA+BF,CAAX;AAyPb;AAvRE;AACe;;AAyRjB,IAzR0C,sBAyR1C;;AAAA,CAzRiD,UAClC,sBADkC,EAyRf;AAxRA,wBAC5B,CAAE,sBACG,CAAE,MAAF,CADH,GACqB,MADvB,CAD4B,GAyRd,MAzRc;AAGb,wBAAE,uBACnB,SADmB,GAuRR,OAvRQ,CAAF,GAEjB,OAFiB;AAwRpB,CAHD,EAnRyB,sBAmRS,KAAtB,sBAAsB,MAAlC;;AAKA,IAvRI,mBAuRJ;;AAAA,WAvR0B,mBAuR1B,EAA+B;AAC7B,sBAxR6E,OAwR7E,IAxR6E,OAwR7E;AAtRA,qBAAU,cAAV,GAAU,WAAV;AAwRA;AACA;AACD,CALD,EAAY,mBAAmB,KAAnB,mBAAmB,MAA/B;;AAOA,IAAa,uBAAuB,GAAG,CAAC,WAAD,EAAc,QAAd,CAAvC;;AACC,IChVY,iBAAb;AAAA;AAAA,CDgVC;;AChVY,iBAAiB,KAAjB,GAAiB,gEADnB;AAAA;AAAA,CACmB,CAAjB;AADmC,iBAAW,KAAX,GAAW,gEAAgC;AAAE,SAAC,WAAe,yBAAf,CAE7F,CAF6F,EAE7F;AAAA;AAAA,GAF0F;AAE1F;AAF0F,CAAhC,CAAX;ACNhD;AACA;AACA;;AAMA,IAAa,WAAb;AAAA;;AAAgB;AACf;AAEA;AACuB,mBAAY,KAAZ;AACvB,CALD;;;;;;;;;;AFoEG,cACD;AAAA;;;;;;;aEhED,a;;;AADuB,0DAArB,4DAAK,CAAC,aAAD,CAAgB;;AAEtB,IANsB,iBALvB;AAAA;AAAA,CAWC;;AAVQ,iBCAoB,CDAH,IAAjB,GAAiB,gECDhB;AAAA,MDEc;ACFd,CDCgB,CAAjB;AAEiB,iBAAE,KAAF,GCHqC,gEDGC;AAAA,SAChE,EAAC,SACW,yBADX,CAMD,CANC,EAMD;AAAA;AAAA;AAPgE,CCHD,CDGrC;AEL3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACa,O;AA8BX,mBAAY,IAAZ,EAA0B,KAA1B,EAAyC,GAAzC,EAAoD;AAAA;;AAClD,SAAK,IAAL,GAAY,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,IAArC;AACA,SAAK,KAAL,GAAa,SAAS,CAAC,KAAD,CAAT,GAAmB,KAAnB,GAA2B,IAAxC;AACA,SAAK,GAAL,GAAW,SAAS,CAAC,GAAD,CAAT,GAAiB,GAAjB,GAAuB,IAAlC;AACD;AACH;AAEC;AAEoB;AAAO;AACiB;AAAO;AAItB;;;;;;AAf9B;AACO;AACE;AAQP,oBAAO,KAAP,EAA2B;AACzB,aAAO,KAAK,IAAI,KAAK,IAAL,KAAc,KAAK,CAAC,IAA7B,IAAqC,KAAK,KAAL,KAAe,KAAK,CAAC,KAA1D,IAAmE,KAAK,GAAL,KAAa,KAAK,CAAC,GAA7F;AACD;AACH;AAEC;AACE;;;;WACD,gBAAO,KAAP,EAA2B;AACzB,UAAI,CAAC,KAAL,EAAY;AACV,eAAO,KAAP;AACD;;AAED,UAAI,KAAK,IAAL,KAAc,KAAK,CAAC,IAAxB,EAA8B;AAC5B,YAAI,KAAK,KAAL,KAAe,KAAK,CAAC,KAAzB,EAAgC;AAC9B,iBAAO,KAAK,GAAL,KAAa,KAAK,CAAC,GAAnB,GAAyB,KAAzB,GAAiC,KAAK,GAAL,GAAW,KAAK,CAAC,GAAzD;AACD,SAFD,MAEO;AACL,iBAAO,KAAK,KAAL,GAAa,KAAK,CAAC,KAA1B;AACD;AACF,OAND,MAMO;AACL,eAAO,KAAK,IAAL,GAAY,KAAK,CAAC,IAAzB;AACD;AACF;AACH;AAEC;AACE;;;;WACD,eAAM,KAAN,EAA0B;AACxB,UAAI,CAAC,KAAL,EAAY;AACV,eAAO,KAAP;AACD;;AACD,UAAI,KAAK,IAAL,KAAc,KAAK,CAAC,IAAxB,EAA8B;AAC5B,YAAI,KAAK,KAAL,KAAe,KAAK,CAAC,KAAzB,EAAgC;AAC9B,iBAAO,KAAK,GAAL,KAAa,KAAK,CAAC,GAAnB,GAAyB,KAAzB,GAAiC,KAAK,GAAL,GAAW,KAAK,CAAC,GAAzD;AACD,SAFD,MAEO;AACL,iBAAO,KAAK,KAAL,GAAa,KAAK,CAAC,KAA1B;AACD;AACF,OAND,MAMO;AACL,eAAO,KAAK,IAAL,GAAY,KAAK,CAAC,IAAzB;AACD;AACF;;;WAvDD,cAAY,IAAZ,EAA+B;AAC7B,UAAI,IAAI,YAAY,OAApB,EAA6B;AAC3B,eAAO,IAAP;AACD;;AACD,aAAO,IAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAH,GAAkD,IAA7D;AACD;;;;;;AAoDF,SC9Fe,UD8Ff,CC9F0B,MD8F1B,EC9FsC;AACrC,SAAO,IAAI,OAAJ,CAAY,MAAM,CAAC,WAAP,EAAZ,EAAkC,MAAM,CAAC,QAAP,KAAoB,CAAtD,EAAyD,MAAM,CAAC,OAAP,EAAzD,CAAP;AACD;;AACD,SAAgB,QAAhB,CAAyB,IAAzB,EAAsC;AACpC,MAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,EAA8C,EAA9C,CAAf,CADoC,CAEtC;;AACE,MAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAP,EAAD,CAAV,EAA8B;AAC5B,UAAM,CAAC,WAAP,CAAmB,IAAI,CAAC,IAAxB;AACD;;AACD,SAAO,MAAP;AACD;;AAID,SAAgB,+BAAhB,GAA+C;AAC7C,SAAO,IAAI,oBAAJ,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAsB,WAAtB;AAAA;AAAA;;;;AA2DC,C;;AACD;AAAA;AAAA;AAAA;AAAA;;AACA,IA7DiC,oBADhC;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAgEC,0BAAc;AAAK,aAhEuD,CAgEvD;AAAW;AAhE/B;AAAA;AAAA,WACgC,qBA2DhC;AAMe,aAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AAAiD;AAlEhE;AAAA;AAAA,WAoEC,4BAAgB;AAAK,aAAO,CAAP;AAAW;AApEjC;AAAA;AAAA,WAsEC,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,MAAM,GAAG,QAAQ,CAAC,IAAD,CAArB;AACA,UAAI,UAAU,GAAG,IAAjB;AACA,UAAI,aAAa,GAAG,MAAM,CAAC,QAAP,EAApB;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,gBAAM,CAAC,WAAP,CAAmB,MAAM,CAAC,WAAP,KAAuB,MAA1C;AACA;;AACF,aAAK,GAAL;AACE,uBAAa,IAAI,MAAjB;AACA,gBAAM,CAAC,QAAP,CAAgB,aAAhB;AACA,uBAAa,GAAG,aAAa,GAAG,EAAhC;;AACA,cAAI,aAAa,GAAG,CAApB,EAAuB;AACrB,yBAAa,GAAG,aAAa,GAAG,EAAhC;AACD;;AACD;;AACF,aAAK,GAAL;AACE,gBAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,MAAlC;AACA,oBAAU,GAAG,KAAb;AACA;;AACF;AACE,iBAAO,IAAP;AAjBJ;;AAoBA,UAAI,UAAU,IAAI,MAAM,CAAC,QAAP,OAAsB,aAAxC,EAAuD;AAC3D;AACM;AACA,cAAM,CAAC,OAAP,CAAe,CAAf;AACD;;AAED,aAAO,UAAU,CAAC,MAAD,CAAjB;AACD;AAtGF;AAAA;AAAA,WAwGC,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;AAxG5G;AAAA;AAAA,WA0GC,oBAAW,IAAX,EAAwB;AACtB,UAAI,MAAM,GAAG,QAAQ,CAAC,IAAD,CAArB;AACA,UAAI,GAAG,GAAG,MAAM,CAAC,MAAP,EAAV,CAFsB,CAG1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;AA/GF;AAAA;AAAA,WAiHC,uBAAc,IAAd,EAAwC,cAAxC,EAA8D;AAChE;AACI,UAAI,cAAc,KAAK,CAAvB,EAA0B;AACxB,sBAAc,GAAG,CAAjB;AACD;;AAED,UAAM,aAAa,GAAG,CAAC,IAAI,CAAJ,GAAQ,cAAT,IAA2B,CAAjD;AACA,UAAI,IAAI,GAAG,IAAI,CAAC,aAAD,CAAf;AAEA,UAAM,MAAM,GAAG,QAAQ,CAAC,IAAD,CAAvB;AACA,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,CAAnB,IAAwB,MAAM,CAAC,MAAP,MAAmB,CAA3C,CAAf,EAV4D,CAUE;;AAC9D,UAAM,IAAI,GAAG,MAAM,CAAC,OAAP,EAAb;AACA,YAAM,CAAC,QAAP,CAAgB,CAAhB,EAZ4D,CAYzC;;AACnB,YAAM,CAAC,OAAP,CAAe,CAAf;AACA,aAAO,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,MAAM,CAAC,OAAP,EAAR,IAA4B,QAAvC,IAAmD,CAA9D,IAAmE,CAA1E;AACD;AAhIF;AAAA;AAAA,WAkIC,oBAAQ;AAAc,aAAO,UAAU,CAAC,IAAI,IAAJ,EAAD,CAAjB;AAAgC;AAlIvD;AAAA;AAAA,WAoIC,iBAAQ,IAAR,EAAqB;AACnB,UAAI,CAAC,IAAD,IAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAN,CAAnB,IAAkC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAN,CAA5C,IAA4D,CAAC,SAAS,CAAC,IAAI,CAAC,GAAN,CAA1E,EAAsF;AACpF,eAAO,KAAP;AACD,OAHkB,CAIvB;;;AAEI,UAAI,IAAI,CAAC,IAAL,KAAc,CAAlB,EAAqB;AACnB,eAAO,KAAP;AACD;;AAED,UAAM,MAAM,GAAG,QAAQ,CAAC,IAAD,CAAvB;AAEA,aAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAP,EAAD,CAAN,IAA4B,MAAM,CAAC,WAAP,OAAyB,IAAI,CAAC,IAA1D,IAAkE,MAAM,CAAC,QAAP,KAAoB,CAApB,KAA0B,IAAI,CAAC,KAAjG,IACH,MAAM,CAAC,OAAP,OAAqB,IAAI,CAAC,GAD9B;AAED;AAlJF;;AAAA;AAAA,EAAgC,WAAhC,CA8DD;;AACa,oBAAoB,KAApB,GAAoB,SADhC,4BACgC,CAApB,CAAoB,EAApB;AAAA,SAoFZ,4DApFY;AAoFZ,CApFY;;;;;;AAqFb;;;AAAE,SC1Kc,aD0Kd,CC1K4B,ID0K5B,EC1K2C,ID0K3C,EC1KwD;AACxD,SAAO,CAAC,cAAc,CAAC,IAAD,EAAO,IAAP,CAAtB;AACD;;AAED,SAAgB,cAAhB,CAA+B,IAA/B,EAA8C,IAA9C,EAA2D;AACzD,SAAO,CAAC,IAAD,IAAS,CAAC,IAAV,GAAiB,KAAjB,GAAyB,CAAC,IAAD,IAAS,CAAC,IAAV,GAAiB,IAAjB,GAAwB,IAAI,CAAC,IAAL,KAAc,IAAI,CAAC,IAAnB,IAA2B,IAAI,CAAC,KAAL,KAAe,IAAI,CAAC,KAAvG;AACD;;AAED,SAAgB,cAAhB,CAA+B,IAA/B,EAA8C,IAA9C,EAA2D;AACzD,SAAQ,CAAC,IAAD,IAAS,CAAC,IAAX,IAAqB,CAAC,CAAC,IAAF,IAAU,CAAC,CAAC,IAAZ,IAAoB,IAAI,CAAC,MAAL,CAAY,IAAZ,CAAhD;AACD;;AAED,SAAgB,iBAAhB,CAAkC,OAAlC,EAAoD,OAApD,EAAoE;AAClE,MAAI,OAAO,IAAI,OAAX,IAAsB,OAAO,CAAC,MAAR,CAAe,OAAf,CAA1B,EAAmD;AACjD,UAAM,IAAI,KAAJ,qBAAuB,OAAvB,+CAAmE,OAAnE,EAAN;AACD;AACF;;AAED,SAAgB,gBAAhB,CAAiC,IAAjC,EAAgD,OAAhD,EAAkE,OAAlE,EAAkF;AAChF,MAAI,IAAI,IAAI,OAAR,IAAmB,IAAI,CAAC,MAAL,CAAY,OAAZ,CAAvB,EAA6C;AAC3C,WAAO,OAAP;AACD;;AACD,MAAI,IAAI,IAAI,OAAR,IAAmB,IAAI,CAAC,KAAL,CAAW,OAAX,CAAvB,EAA4C;AAC1C,WAAO,OAAP;AACD;;AAED,SAAO,IAAP;AACD;;AAED,SAAgB,gBAAhB,CAAiC,IAAjC,EAAgD,KAAhD,EAA0E;AACxE,MAAO,OAAP,GAAmD,KAAnD,CAAO,OAAP;AAAA,MAAgB,OAAhB,GAAmD,KAAnD,CAAgB,OAAhB;AAAA,MAAyB,QAAzB,GAAmD,KAAnD,CAAyB,QAAzB;AAAA,MAAmC,YAAnC,GAAmD,KAAnD,CAAmC,YAAnC,CADwE,CAE1E;;AACE,SAAO,EACL,CAAC,SAAS,CAAC,IAAD,CAAV,IACA,QADA,IAEC,YAAY,IAAI,YAAY,CAAC,IAAD,EAAO;AAAC,QAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,SAAK,EAAE,IAAI,CAAC;AAA9B,GAAP,CAF7B,IAGC,OAAO,IAAI,IAAI,CAAC,MAAL,CAAY,OAAZ,CAHZ,IAIC,OAAO,IAAI,IAAI,CAAC,KAAL,CAAW,OAAX,CALP,CAAP,CAHwE,CAU1E;AACC;;AAED,SAAgB,uBAAhB,CAAwC,QAAxC,EAA+D,IAA/D,EAA8E,OAA9E,EAAgG,OAAhG,EAAgH;AAC9G,MAAI,CAAC,IAAL,EAAW;AACT,WAAO,EAAP;AACD;;AAED,MAAI,MAAM,GAAG,QAAQ,CAAC,SAAT,CAAmB,IAAI,CAAC,IAAxB,CAAb;;AAEA,MAAI,OAAO,IAAI,IAAI,CAAC,IAAL,KAAc,OAAO,CAAC,IAArC,EAA2C;AACzC,QAAM,KAAK,GAAG,MAAM,CAAC,SAAP,CAAiB,eAAK;AAAA,aAAI,KAAK,KAAK,OAAO,CAAC,KAAtB;AAAA,KAAtB,CAAd;AACA,UAAM,GAAG,MAAM,CAAC,KAAP,CAAa,KAAb,CAAT;AACD;;AAED,MAAI,OAAO,IAAI,IAAI,CAAC,IAAL,KAAc,OAAO,CAAC,IAArC,EAA2C;AACzC,QAAM,MAAK,GAAG,MAAM,CAAC,SAAP,CAAiB,eAAK;AAAA,aAAI,KAAK,KAAK,OAAO,CAAC,KAAtB;AAAA,KAAtB,CAAd;;AACA,UAAM,GAAG,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,MAAK,GAAG,CAAxB,CAAT;AACD;;AAED,SAAO,MAAP;AACD;;AAED,SAAgB,sBAAhB,CAAuC,IAAvC,EAAsD,OAAtD,EAAwE,OAAxE,EAAwF;AACtF,MAAI,CAAC,IAAL,EAAW;AACT,WAAO,EAAP;AACD;;AAED,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,IAAjB,EAAuB,IAAI,CAAC,IAAL,GAAY,GAAnC,CAAH,GAA6C,IAAI,CAAC,IAAL,GAAY,EAA9E;AACA,MAAM,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,IAAjB,EAAuB,IAAI,CAAC,IAAL,GAAY,GAAnC,CAAH,GAA6C,IAAI,CAAC,IAAL,GAAY,EAA5E;AAEA,MAAM,MAAM,GAAG,GAAG,GAAG,KAAN,GAAc,CAA7B;AACA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAD,CAArB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,WAAO,CAAC,CAAD,CAAP,GAAa,KAAK,GAAG,CAArB;AACD;;AAED,SAAO,OAAP;AACD;;AAED,SAAgB,iBAAhB,CAAkC,QAAlC,EAAyD,IAAzD,EAAwE,OAAxE,EAAwF;AACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,CAAc,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,GAAvB,CAAd,EAA2C;AAAC,OAAG,EAAE;AAAN,GAA3C,CAAjB;AACA,SAAO,OAAO,IAAI,QAAQ,CAAC,KAAT,CAAe,OAAf,CAAlB;AACD;;AAED,SAAgB,iBAAhB,CAAkC,QAAlC,EAAyD,IAAzD,EAAwE,OAAxE,EAAwF;AACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,CAAc,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,GAAvB,CAAd,EAA2C;AAAC,OAAG,EAAE;AAAN,GAA3C,CAAjB;AACA,SAAO,OAAO,KAAK,QAAQ,CAAC,IAAT,KAAkB,OAAO,CAAC,IAA1B,IAAkC,QAAQ,CAAC,KAAT,GAAiB,OAAO,CAAC,KAA3D,IACA,QAAQ,CAAC,IAAT,GAAgB,OAAO,CAAC,IAAxB,IAAgC,OAAO,CAAC,KAAR,KAAkB,CADvD,CAAd;AAED;;AAED,SAAgB,WAAhB,CACI,QADJ,EAC2B,IAD3B,EAC0C,KAD1C,EACsE,IADtE,EAEI,KAFJ,EAEkB;AAChB,MAAO,aAAP,GAAgC,KAAhC,CAAO,aAAP;AAAA,MAAsB,MAAtB,GAAgC,KAAhC,CAAsB,MAAtB,CADgB,CAElB;;AACE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAP,CAAc,CAAd,EAAiB,MAAM,CAAC,MAAxB,CAAtB,CAHgB,CAIlB;;AAEE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAN,CAAW;AAAC,UAAM,EAAE;AAAT,GAAX,EAAoC,UAAC,CAAD,EAAI,CAAJ,EAAK;AAC1D,QAAM,SAAS,GAAG,MAAM,CAAC,MAAP,CAAc,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,GAAvB,EAA4B,CAA5B,CAAd,EAA8C;AAAC,SAAG,EAAE;AAAN,KAA9C,CAAlB;AACA,UAAM,CAAC,CAAD,CAAN,GAAY,IAAZ;;AAEA,QAAI,CAAC,KAAL,EAAY;AACV,UAAM,WAAW,GAAG,aAAa,CAAC,SAAd,CAAwB,eAAK;AAAA,eAAI,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,SAAvB,CAAJ;AAAA,OAA7B,CAApB,CADU,CAEhB;;AACM,UAAI,WAAW,KAAK,CAAC,CAArB,EAAwB;AACtB,cAAM,CAAC,CAAD,CAAN,GAAY,aAAa,CAAC,MAAd,CAAqB,WAArB,EAAkC,CAAlC,EAAqC,CAArC,CAAZ;AACD;AACF;;AAED,WAAO,SAAP;AACD,GAbkB,CAAnB,CANgB,CAoBlB;;AAEE,YAAU,CAAC,OAAX,CAAmB,UAAC,SAAD,EAAY,CAAZ,EAAa;AAC9B,QAAI,MAAM,CAAC,CAAD,CAAN,KAAc,IAAlB,EAAwB;AACtB,YAAM,CAAC,CAAD,CAAN,GAAY,UAAU,CAAC,QAAD,EAAW,SAAX,EAAsB,KAAtB,EAA6B,IAA7B,EAAmC,aAAa,CAAC,KAAd,MAAyB,EAA5D,CAAtB;AACD;AACF,GAJD;AAMA,SAAO,MAAP;AACD;;AAED,SAAgB,UAAhB,CACI,QADJ,EAC2B,IAD3B,EAC0C,KAD1C,EACsE,IADtE,EAEgD;AAAA,MAA5C,KAA4C,uEAApB,EAAoB;AAC9C,MAAO,eAAP,GAAuF,KAAvF,CAAO,eAAP;AAAA,MAAwB,OAAxB,GAAuF,KAAvF,CAAwB,OAAxB;AAAA,MAAiC,OAAjC,GAAuF,KAAvF,CAAiC,OAAjC;AAAA,MAA0C,cAA1C,GAAuF,KAAvF,CAA0C,cAA1C;AAAA,MAA0D,YAA1D,GAAuF,KAAvF,CAA0D,YAA1D;AAAA,MAAwE,WAAxE,GAAuF,KAAvF,CAAwE,WAAxE;AACA,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAT,EAAtB;AAEA,OAAK,CAAC,SAAN,GAAkB,IAAlB;AACA,OAAK,CAAC,QAAN,GAAiB,IAAjB;AACA,OAAK,CAAC,MAAN,GAAe,IAAI,CAAC,KAApB;AACA,OAAK,CAAC,IAAN,GAAa,IAAI,CAAC,IAAlB;AACA,OAAK,CAAC,KAAN,GAAc,KAAK,CAAC,KAAN,IAAe,EAA7B;AACA,OAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,QAAN,IAAkB,EAAnC;AAEA,MAAI,GAAG,gBAAgB,CAAC,QAAD,EAAW,IAAX,EAAiB,cAAjB,CAAvB,CAX8C,CAYhD;;AAEE,OAAK,IAAI,IAAI,GAAG,CAAhB,EAAmB,IAAI,GAAG,QAAQ,CAAC,gBAAT,EAA1B,EAAuD,IAAI,EAA3D,EAA+D;AAC7D,QAAI,UAAU,GAAG,KAAK,CAAC,KAAN,CAAY,IAAZ,CAAjB;;AACA,QAAI,CAAC,UAAL,EAAiB;AACf,gBAAU,GAAG,KAAK,CAAC,KAAN,CAAY,IAAZ,IAAoB;AAAC,cAAM,EAAE,CAAT;AAAY,YAAI,EAAE,EAAlB;AAAsB,iBAAS,EAAE;AAAjC,OAAjC;AACD;;AACD,QAAM,IAAI,GAAG,UAAU,CAAC,IAAxB,CAL6D,CAMjE;;AAEI,SAAK,IAAI,GAAG,GAAG,CAAf,EAAkB,GAAG,GAAG,QAAQ,CAAC,cAAT,EAAxB,EAAmD,GAAG,EAAtD,EAA0D;AACxD,UAAI,IAAI,KAAK,CAAb,EAAgB;AACd,aAAK,CAAC,QAAN,CAAe,GAAf,IAAsB,QAAQ,CAAC,UAAT,CAAoB,IAApB,CAAtB;AACD;;AAED,UAAM,OAAO,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAhB;AACA,UAAM,QAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,OAAjB,CAAjB;AAEA,UAAM,SAAS,GAAG,IAAI,CAAC,eAAL,CAAqB,OAArB,CAAlB,CARwD,CAS9D;;AAEM,UAAI,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAI,OAAO,CAAC,MAAR,CAAe,OAAf,CAAZ,IAAyC,OAAO,IAAI,OAAO,CAAC,KAAR,CAAc,OAAd,CAAtD,CAAhB;;AACA,UAAI,CAAC,QAAD,IAAa,YAAjB,EAA+B;AAC7B,gBAAQ,GAAG,YAAY,CAAC,OAAD,EAAU;AAAC,eAAK,EAAE,KAAK,CAAC,MAAd;AAAsB,cAAI,EAAE,KAAK,CAAC;AAAlC,SAAV,CAAvB;AACD,OAduD,CAe9D;;;AAEM,UAAI,KAAK,GAAG,OAAO,CAAC,MAAR,CAAe,aAAf,CAAZ,CAjBwD,CAkB9D;;AAEM,UAAI,eAAe,GACf,eAAe,GAAG,eAAe,CAAC,OAAD,EAAU;AAAC,aAAK,EAAE,KAAK,CAAC,MAAd;AAAsB,YAAI,EAAE,KAAK,CAAC;AAAlC,OAAV,CAAlB,GAAuE,SAD1F,CApBwD,CAsB9D;;AAEM,UAAI,KAAK,CAAC,SAAN,KAAoB,IAApB,IAA4B,OAAO,CAAC,KAAR,KAAkB,KAAK,CAAC,MAAxD,EAAgE;AAC9D,aAAK,CAAC,SAAN,GAAkB,OAAlB;AACD,OA1BuD,CA2B9D;;;AAEM,UAAI,OAAO,CAAC,KAAR,KAAkB,KAAK,CAAC,MAAxB,IAAkC,QAAQ,CAAC,KAAT,KAAmB,KAAK,CAAC,MAA/D,EAAuE;AACrE,aAAK,CAAC,QAAN,GAAiB,OAAjB;AACD;;AAED,UAAI,SAAS,GAAG,IAAI,CAAC,GAAD,CAApB;;AACA,UAAI,CAAC,SAAL,EAAgB;AACd,iBAAS,GAAG,IAAI,CAAC,GAAD,CAAJ,GAAY,EAAxB;AACD;;AACD,eAAS,CAAC,IAAV,GAAiB,OAAjB;AACA,eAAS,CAAC,OAAV,GAAoB,MAAM,CAAC,MAAP,CAAc,SAAS,CAAC,OAAV,IAAqB,EAAnC,EAAuC;AACzD,iBAAS,EAAE,OAD8C;AAEzD,YAAI,EAAE,OAFmD;AAGzD,YAAI,EAAE,eAHmD;AAIzD,oBAAY,EAAE,KAAK,CAAC,MAJqC;AAKzD,mBAAW,EAAE,KAAK,CAAC,IALsC;AAKhC,gBAAQ,EAAR,QALgC;AAMzD,eAAO,EAAE,KANgD;AAOzD,gBAAQ,EAAE,KAP+C;AAOxC,aAAK,EAAL;AAPwC,OAAvC,CAApB;AASA,eAAS,CAAC,QAAV,GAAqB,CAAC,CAAtB;AACA,eAAS,CAAC,SAAV,GAAsB,SAAtB;AACA,eAAS,CAAC,MAAV,GAAmB,KAAnB;AAEA,UAAI,GAAG,QAAP;AACD;;AAED,cAAU,CAAC,MAAX,GAAoB,QAAQ,CAAC,aAAT,CAAuB,IAAI,CAAC,GAAL,CAAS,aAAG;AAAA,aAAI,GAAG,CAAC,IAAR;AAAA,KAAZ,CAAvB,EAAkD,cAAlD,CAApB,CA9D6D,CA+DjE;;AAEI,cAAU,CAAC,SAAX,GAAuB,WAAW,KAAK,WAAhB,IAA+B,IAAI,CAAC,CAAD,CAAJ,CAAQ,IAAR,CAAa,KAAb,KAAuB,KAAK,CAAC,MAA5D,IACnB,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAJ,CAAsB,IAAtB,CAA2B,KAA3B,KAAqC,KAAK,CAAC,MAD/C;AAED;;AAED,SAAO,KAAP;AACD;;AAED,SAAgB,gBAAhB,CAAiC,QAAjC,EAAwD,IAAxD,EAAuE,cAAvE,EAA6F;AAC3F,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAT,EAApB;AACA,MAAM,cAAc,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,CAAnC,CAAvB;AACA,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAT,CAAoB,cAApB,IAAsC,WAAxD;AACA,SAAO,QAAQ,CAAC,OAAT,CAAiB,cAAjB,EAAiC,GAAjC,EAAsC,CAAC,WAAW,GAAG,SAAd,GAA0B,cAA3B,IAA6C,WAAnF,CAAP;AACD;;AACA,SC3Ne,0BD2Nf,CC3N0C,MD2N1C,EC3NgD;AAC/C,SAAO,IAAI,wBAAJ,CAA6B,MAA7B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAsB,iBAAtB;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AACA;AACE;AACE;AACE;AAAoB;AA8BxB,4BAAe,IAAf,EAAkC;AAAY,uBAAU,IAAI,CAAC,GAAf;AAAuB;AACvE;AAEC;AACE;AACE;AAEJ;;AAzCD;AAAA;AAAA,WAyCE,yBAAgB,UAAhB,EAAkC;AAAY,uBAAU,UAAV;AAAyB;AACzE;AAEC;AACE;AACE;AAEJ;;AAhDD;AAAA;AAAA,WAgDE,yBAAgB,IAAhB,EAA4B;AAAY,uBAAU,IAAV;AAAmB;AAhD7D;;AAAA;AAAA;;;;AAiDC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA,IAnDuC,wBADtC;AAAA;;AAAA;;AA0DC,oCA1DqE,OA0DrE,EA1D2E;AAAA;;AAAA;;AAAY;AA0DhD,WAzDF,OAyDE;AAGrC,QAAM,wBAAwB,GAAG,0EAAiB,CAAC,OAAD,EAAU,0DAAS,CAAC,UAApB,EAAgC,iEAAgB,CAAC,KAAjD,CAAlD;AACA,WAAK,cAAL,GAAsB,wBAAwB,CAAC,GAAzB,CAA6B,UAAC,GAAD,EAAM,KAAN;AAAA,aAAgB,wBAAwB,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,CAAf,CAAxC;AAAA,KAA7B,CAAtB;AAEA,WAAK,YAAL,GAAoB,4EAAmB,CAAC,OAAD,EAAU,0DAAS,CAAC,UAApB,EAAgC,iEAAgB,CAAC,WAAjD,CAAvC;AACA,WAAK,WAAL,GAAmB,4EAAmB,CAAC,OAAD,EAAU,0DAAS,CAAC,UAApB,EAAgC,iEAAgB,CAAC,IAAjD,CAAtC;AAjEyE;AAkE1E;;AAlEF;AAAA;AAAA,WAoEC,6BAAoB,OAApB,EAAmC;AAAY,aAAO,KAAK,cAAL,CAAoB,OAAO,GAAG,CAA9B,CAAP;AAA0C;AApE1F;AAAA;AAAA,WAsEC,2BAAkB,KAAlB,EAA+B;AAAY,aAAO,KAAK,YAAL,CAAkB,KAAK,GAAG,CAA1B,CAAP;AAAsC;AAtElF;AAAA;AAAA,WAwEC,0BAAiB,KAAjB,EAA8B;AAAY,aAAO,KAAK,WAAL,CAAiB,KAAK,GAAG,CAAzB,CAAP;AAAqC;AAxEhF;AAAA;AAAA,WA0EC,yBAAgB,IAAhB,EAAmC;AACjC,UAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,CAAf;AACA,aAAO,mEAAU,CAAC,MAAD,EAAS,UAAT,EAAqB,KAAK,OAA1B,CAAjB;AACD;AA7EF;;AAAA;AAAA,EAA0C,iBAA1C,CAoDD;;;;;;;;;;AA0BC;;;AACD;AAAA,UAAkD;AAAA;AAAA;AAAA,YArBnC,qDAqBmC;AArB7B,aAAC,wDAAD;AAqB6B;AAAA,GAAlD;AAAA;;AA1Ba,wBAAwB,4DAAjC,CADH,yDAAU,6DAMU,CAAC,wDAAD,CANpB,CACG,CAAiC,EAAxB,wBAAwB,CAAxB;;AA0BX,ICxEW,oBAAb;AA2FE,gCAAoB,SAApB,EAAoD,KAApD,EAA4E;AAAA;;AAAA;;AAAxD;AAAgC;AA1F5C,uBACsG;AACxG,qBAAe,EAAE,yBAAC,gBAAD,EAAoC;AACnD,YAAI,MAAI,CAAC,MAAL,CAAY,eAAZ,KAAgC,gBAApC,EAAqD;AACnD,iBAAO;AAAC,2BAAe,EAAf;AAAD,WAAP;AACD;AACF,OALuG;AAMxG,mBAAa,EAAE,uBAAC,cAAD,EAAsB;AACnC,sBAAa,GAAG,SAAS,CAAC,cAAD,CAAzB;;AACA,YAAI,SAAS,CAAC,cAAD,CAAT,IAA4B,cAAa,GAAG,CAA5C,IAAiD,MAAI,CAAC,MAAL,CAAY,aAAZ,KAA8B,cAAnF,EAAkG;AAChG,iBAAO;AAAC,yBAAa,EAAb;AAAD,WAAP;AACD;AACF,OAXuG;AAYxG,cAAQ,EAAE,kBAAC,SAAD,EAAkB;AAC1B,YAAI,MAAI,CAAC,MAAL,CAAY,QAAZ,KAAyB,SAA7B,EAAuC;AACrC,iBAAO;AAAC,oBAAQ,EAAR;AAAD,WAAP;AACD;AACF,OAhBuG;AAiBxG,oBAAc,EAAE,wBAAC,eAAD,EAAuB;AACrC,uBAAc,GAAG,SAAS,CAAC,eAAD,CAA1B;;AACA,YAAI,SAAS,CAAC,eAAD,CAAT,IAA6B,eAAc,IAAI,CAA/C,IAAoD,MAAI,CAAC,MAAL,CAAY,cAAZ,KAA+B,eAAvF,EAAuG;AACrG,iBAAO;AAAC,0BAAc,EAAd;AAAD,WAAP;AACD;AACF,OAtBuG;AAuBxG,kBAAY,EAAE,sBAAC,aAAD,EAAsB;AAClC,YAAI,MAAI,CAAC,MAAL,CAAY,YAAZ,KAA6B,aAA7B,IAA6C,CAAC,MAAI,CAAC,MAAL,CAAY,QAA9D,EAAwE;AACtE,iBAAO;AAAC,wBAAY,EAAZ;AAAD,WAAP;AACD;AACF,OA3BuG;AA4BxG,kBAAY,EAAE,sBAAC,aAAD,EAA8B;AAC1C,YAAI,MAAI,CAAC,MAAL,CAAY,YAAZ,KAA6B,aAAjC,EAA+C;AAC7C,iBAAO;AAAC,wBAAY,EAAZ;AAAD,WAAP;AACD;AACF,OAhCuG;AAiCxG,aAAO,EAAE,iBAAC,IAAD,EAAc;AACrB,YAAM,OAAO,GAAG,MAAI,CAAC,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAAhB;;AACA,YAAI,aAAa,CAAC,MAAI,CAAC,MAAL,CAAY,OAAb,EAAsB,OAAtB,CAAjB,EAAiD;AAC/C,iBAAO;AAAC,mBAAO,EAAP;AAAD,WAAP;AACD;AACF,OAtCuG;AAuCxG,aAAO,EAAE,iBAAC,IAAD,EAAc;AACrB,YAAM,OAAO,GAAG,MAAI,CAAC,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAAhB;;AACA,YAAI,aAAa,CAAC,MAAI,CAAC,MAAL,CAAY,OAAb,EAAsB,OAAtB,CAAjB,EAAiD;AAC/C,iBAAO;AAAC,mBAAO,EAAP;AAAD,WAAP;AACD;AACF,OA5CuG;AA6CxG,gBAAU,EAAE,oBAAC,WAAD,EAAyC;AACnD,YAAI,MAAI,CAAC,MAAL,CAAY,UAAZ,KAA2B,WAA/B,EAA2C;AACzC,iBAAO;AAAC,sBAAU,EAAV;AAAD,WAAP;AACD;AACF,OAjDuG;AAkDxG,iBAAW,EAAE,qBAAC,YAAD,EAAgD;AAC3D,YAAI,MAAI,CAAC,MAAL,CAAY,WAAZ,KAA4B,YAAhC,EAA6C;AAC3C,iBAAO;AAAC,uBAAW,EAAX;AAAD,WAAP;AACD;AACF;AAtDuG,KADtG;AA0DA,mBAAU,IAAI,6CAAJ,EAAV;AAEA,wBAAe,IAAI,6CAAJ,EAAf;AAEA,kBAA8B;AACpC,cAAQ,EAAE,KAD0B;AAEpC,mBAAa,EAAE,CAFqB;AAGpC,oBAAc,EAAE,CAHoB;AAIpC,kBAAY,EAAE,KAJsB;AAKpC,YAAM,EAAE,EAL4B;AAMpC,gBAAU,EAAE,QANwB;AAOpC,iBAAW,EAAE,SAPuB;AAQpC,kBAAY,EAAE,KARsB;AASpC,kBAAY,EAAE,KATsB;AAUpC,iBAAW,EAAE;AAAC,aAAK,EAAE,EAAR;AAAY,cAAM,EAAE;AAApB,OAVuB;AAWpC,kBAAY,EAAE;AAXsB,KAA9B;AA4BwE;;AA3FlF;AAAA;AAAA,SA6EE,eAAU;AAAsC,aAAO,KAAK,OAAL,CAAa,IAAb,CAAkB,8DAAM,CAAC,eAAK;AAAA,eAAI,KAAK,CAAC,MAAN,CAAa,MAAb,GAAsB,CAA1B;AAAA,OAAN,CAAxB,CAAP;AAAqE;AA7EvH;AAAA;AAAA,SA+EE,eAAe;AAA0B,aAAO,KAAK,YAAL,CAAkB,IAAlB,CAAuB,8DAAM,CAAC,cAAI;AAAA,eAAI,IAAI,KAAK,IAAb;AAAA,OAAL,CAA7B,CAAP;AAA+D;AA/E1G;AAAA;AAAA,WAiFE,aAAI,OAAJ,EAAoC;AAAA;;AAClC,UAAI,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,OAAZ,EACK,GADL,CACS,aAAG;AAAA,eAAI,MAAI,CAAC,WAAL,CAAiB,GAAjB,EAAsB,OAAO,CAAC,GAAD,CAA7B,CAAJ;AAAA,OADZ,EAEK,MAFL,CAEY,UAAC,GAAD,EAAM,IAAN;AAAA,eAAU,gCAAU,GAAV,GAAkB,IAAlB,CAAV;AAAA,OAFZ,EAEgD,EAFhD,CAAZ;;AAIA,UAAI,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,aAAK,UAAL,CAAgB,KAAhB;AACD;AACF;AAzFH;AAAA;AAAA,WA6FE,eAAM,IAAN,EAAmB;AACjB,UAAI,CAAC,KAAK,MAAL,CAAY,QAAb,IAAyB,KAAK,SAAL,CAAe,OAAf,CAAuB,IAAvB,CAAzB,IAAyD,aAAa,CAAC,KAAK,MAAL,CAAY,SAAb,EAAwB,IAAxB,CAA1E,EAAyG;AACvG,aAAK,UAAL,CAAgB;AAAC,mBAAS,EAAE;AAAZ,SAAhB;AACD;AACF;AAjGH;AAAA;AAAA,WAmGE,uBAAW;AACT,UAAI,gBAAgB,CAAC,KAAK,MAAL,CAAY,SAAb,EAAwB,KAAK,MAA7B,CAApB,EAA0D;AACxD,aAAK,MAAL,CAAY,KAAK,MAAL,CAAY,SAAxB,EAAmC;AAAC,mBAAS,EAAE;AAAZ,SAAnC;AACD;AACF;AAvGH;AAAA;AAAA,WAyGE,cAAK,IAAL,EAAkB;AAChB,UAAM,SAAS,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,KAAK,SAAL,CAAe,QAAf,EAAvB,CAAlB;;AACA,UAAI,CAAC,KAAK,MAAL,CAAY,QAAb,KAA0B,CAAC,KAAK,MAAL,CAAY,SAAb,IAA0B,cAAc,CAAC,KAAK,MAAL,CAAY,SAAb,EAAwB,IAAxB,CAAlE,CAAJ,EAAsG;AACpG,aAAK,UAAL,CAAgB;AAAC,mBAAS,EAAT;AAAD,SAAhB;AACD;AACF;AA9GH;AAAA;AAAA,WAgHE,gBAAO,IAAP,EAAyD;AAAA,UAAnC,OAAmC,uEAAF,EAAE;AACvD,UAAM,YAAY,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,IAAvB,CAArB;;AACA,UAAI,CAAC,KAAK,MAAL,CAAY,QAAjB,EAA2B;AACzB,YAAI,aAAa,CAAC,KAAK,MAAL,CAAY,YAAb,EAA2B,YAA3B,CAAjB,EAA2D;AACzD,eAAK,UAAL,CAAgB;AAAC,wBAAY,EAAZ;AAAD,WAAhB;AACD;;AAED,YAAI,OAAO,CAAC,SAAR,IAAqB,gBAAgB,CAAC,YAAD,EAAe,KAAK,MAApB,CAAzC,EAAsE;AACpE,eAAK,YAAL,CAAkB,IAAlB,CAAuB,YAAvB;AACD;AACF;AACF;AA3HH;AAAA;AAAA,WA6HE,qBAAY,IAAZ,EAAiC,YAAjC,EAAuD;AACrD,UAAM,OAAO,GAAG,OAAO,CAAC,IAAR,CAAa,IAAb,CAAhB;;AACA,UAAI,YAAY,KAAK,SAArB,EAAgC;AAC9B,oBAAY,GAAG,KAAK,SAAL,CAAe,QAAf,EAAf;AACD;;AACD,aAAO,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,IAAkC,OAAlC,GAA4C,YAAnD;AACD;AAnIH;AAAA;AAAA,WAqIE,kBAAS,MAAT,EAA8B;AAAA,yLACV,KAAK,MAAL,CAAY,MADF;AAAA;;AAAA;AAC5B,4DAAsC;AAAA,cAA7B,KAA6B;;AACpC,cAAI,MAAM,CAAC,KAAP,KAAiB,KAAK,CAAC,MAAvB,IAAiC,MAAM,CAAC,IAAP,KAAgB,KAAK,CAAC,IAA3D,EAAiE;AAC/D,mBAAO,KAAP;AACD;AACF;AAL2B;AAAA;AAAA;AAAA;AAAA;;AAM5B,YAAM,IAAI,KAAJ,iBAAmB,MAAM,CAAC,KAA1B,sBAA2C,MAAM,CAAC,IAAlD,gBAAN;AACD;AA5IH;AAAA;AAAA,WA8IU,oBAAW,KAAX,EAA8C;AACpD,UAAM,QAAQ,GAAG,KAAK,YAAL,CAAkB,KAAlB,CAAjB;;AACA,WAAK,cAAL,CAAoB,QAApB;;AACA,WAAK,MAAL,GAAc,QAAd;;AACA,WAAK,OAAL,CAAa,IAAb,CAAkB,KAAK,MAAvB;AACD;AAnJH;AAAA;AAAA,WAqJU,wBAAe,KAAf,EAAyC;AAC/C,UAAO,MAAP,GAA8F,KAA9F,CAAO,MAAP;AAAA,UAAe,aAAf,GAA8F,KAA9F,CAAe,aAAf;AAAA,UAA8B,YAA9B,GAA8F,KAA9F,CAA8B,YAA9B;AAAA,UAA4C,SAA5C,GAA8F,KAA9F,CAA4C,SAA5C;AAAA,UAAuD,YAAvD,GAA8F,KAA9F,CAAuD,YAAvD;AAAA,UAAqE,QAArE,GAA8F,KAA9F,CAAqE,QAArE;AAAA,UAA+E,WAA/E,GAA8F,KAA9F,CAA+E,WAA/E;AACA,WAAK,CAAC,MAAN,CAAa,OAAb,CAAqB,eAAK;AACxB,aAAK,CAAC,KAAN,CAAY,OAAZ,CAAoB,cAAI;AACtB,cAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,aAAG;AAC7B;AAEU,gBAAI,SAAJ,EAAe;AACb,iBAAG,CAAC,OAAJ,CAAY,OAAZ,GAAsB,SAAS,CAAC,MAAV,CAAiB,GAAG,CAAC,IAArB,KAA8B,YAApD;AACD,aALkB,CAM7B;;;AAEU,eAAG,CAAC,QAAJ,GAAe,CAAC,QAAD,IAAa,GAAG,CAAC,IAAJ,CAAS,MAAT,CAAgB,SAAhB,CAAb,IAA2C,SAAS,CAAC,KAAV,KAAoB,KAAK,CAAC,MAArE,GAA8E,CAA9E,GAAkF,CAAC,CAAlG,CARmB,CAS7B;;AAEU,gBAAI,QAAQ,KAAK,IAAjB,EAAuB;AACrB,iBAAG,CAAC,OAAJ,CAAY,QAAZ,GAAuB,IAAvB;AACD,aAbkB,CAc7B;;;AAEU,gBAAI,YAAY,KAAK,SAArB,EAAgC;AAC9B,iBAAG,CAAC,OAAJ,CAAY,QAAZ,GAAuB,YAAY,KAAK,IAAjB,IAAyB,YAAY,CAAC,MAAb,CAAoB,GAAG,CAAC,IAAxB,CAAhD;AACD,aAlBkB,CAmB7B;;;AAEU,gBAAI,KAAK,CAAC,MAAN,KAAiB,GAAG,CAAC,IAAJ,CAAS,KAA9B,EAAqC;AACnC,iBAAG,CAAC,MAAJ,GAAa,WAAW,KAAK,QAAhB,IAA4B,WAAW,KAAK,WAA5C,IACR,aAAa,GAAG,CAAhB,IAAqB,GAAG,CAAC,IAAJ,CAAS,KAAT,CAAe,MAAM,CAAC,CAAD,CAAN,CAAU,SAAzB,CAArB,IACA,GAAG,CAAC,IAAJ,CAAS,MAAT,CAAgB,MAAM,CAAC,aAAa,GAAG,CAAjB,CAAN,CAA0B,QAA1C,CAFL;AAGD;AACF,WA1BD;AA2BD,SA5BD;AA6BD,OA9BD;AA+BD;AAtLH;AAAA;AAAA,WAwLU,sBAAa,KAAb,EAAgD;AAAI;AAE1D,UAAM,KAAK,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,MAAvB,EAA+B,KAA/B,CAAd;AAEA,UAAI,SAAS,GAAG,KAAK,CAAC,SAAtB,CAJsD,CAK1D;;AAEI,UAAI,aAAa,KAAb,IAAsB,aAAa,KAAvC,EAA8C;AAC5C,yBAAiB,CAAC,KAAK,CAAC,OAAP,EAAgB,KAAK,CAAC,OAAtB,CAAjB;AACA,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,iBAAS,GAAG,KAAK,CAAC,SAAlB;AACD,OAZqD,CAa1D;;;AAEI,UAAI,cAAc,KAAlB,EAAyB;AACvB,aAAK,CAAC,YAAN,GAAqB,KAArB;AACD,OAjBqD,CAkB1D;;;AAEI,UAAI,kBAAkB,KAAlB,IAA2B,KAAK,MAAL,CAAY,MAAZ,CAAmB,MAAnB,KAA8B,CAA7D,EAAgE;AAC9D,iBAAS,GAAG,KAAK,CAAC,YAAlB;AACD,OAtBqD,CAuB1D;;;AAEI,UAAI,kBAAkB,KAAtB,EAA6B;AAC3B,eAAO,KAAP;AACD,OA3BqD,CA4B1D;;;AAEI,UAAI,eAAe,KAAnB,EAA0B;AACxB,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,iBAAS,GAAG,KAAK,CAAC,SAAlB,CAFwB,CAG9B;;AAEM,YAAI,KAAK,CAAC,MAAN,CAAa,MAAb,KAAwB,CAAxB,IAA6B,CAAC,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAK,CAAC,SAA7B,CAA9B,IACA,CAAC,KAAK,CAAC,SAAN,CAAgB,KAAhB,CAAsB,KAAK,CAAC,QAA5B,CADL,EAC4C;AAC1C,iBAAO,KAAP;AACD;AACF,OAvCqD,CAwC1D;;;AAEI,UAAI,eAAe,KAAnB,EAA0B;AACxB,aAAK,CAAC,SAAN,GAAkB,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAlC;AACA,iBAAS,GAAG,KAAK,CAAC,SAAlB;AACD,OA7CqD,CA8C1D;;;AAEI,UAAI,SAAJ,EAAe;AACb,YAAM,YAAY,GAAG,qBAAqB,KAArB,IAA8B,oBAAoB,KAAlD,IAA2D,kBAAkB,KAA7E,IACjB,aAAa,KADI,IACK,aAAa,KADlB,IAC2B,cAAc,KADzC,IACkD,iBAAiB,KADxF;AAGA,YAAM,MAAM,GAAG,WAAW,CAAC,KAAK,SAAN,EAAiB,SAAjB,EAA4B,KAA5B,EAAmC,KAAK,KAAxC,EAA+C,YAA/C,CAA1B,CAJa,CAKnB;;AAEM,aAAK,CAAC,MAAN,GAAe,MAAf;AACA,aAAK,CAAC,SAAN,GAAkB,MAAM,CAAC,MAAP,GAAgB,CAAhB,GAAoB,MAAM,CAAC,CAAD,CAAN,CAAU,SAA9B,GAA0C,SAA5D;AACA,aAAK,CAAC,QAAN,GAAiB,MAAM,CAAC,MAAP,GAAgB,CAAhB,GAAoB,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAN,CAA0B,QAA9C,GAAyD,SAA1E,CATa,CAUnB;;AAEM,YAAI,kBAAkB,KAAlB,IAA2B,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAP,EAAqB,KAArB,CAAhD,EAA6E;AAC3E,eAAK,CAAC,YAAN,GAAqB,IAArB;AACD,SAdY,CAenB;;;AAEM,YAAI,eAAe,KAAnB,EAA0B;AACxB,cAAI,KAAK,CAAC,SAAN,KAAoB,SAApB,IAAiC,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAK,CAAC,SAA7B,CAAjC,IACA,KAAK,CAAC,SAAN,CAAgB,KAAhB,CAAsB,KAAK,CAAC,QAA5B,CADJ,EAC2C;AACzC,iBAAK,CAAC,SAAN,GAAkB,SAAlB;AACD;AACF,SAtBY,CAuBnB;;;AAEM,YAAM,WAAW,GAAG,CAAC,KAAK,MAAL,CAAY,SAAb,IAA0B,KAAK,MAAL,CAAY,SAAZ,CAAsB,IAAtB,KAA+B,KAAK,CAAC,SAAN,CAAgB,IAA7F;AACA,YAAM,YAAY,GAAG,CAAC,KAAK,MAAL,CAAY,SAAb,IAA0B,KAAK,MAAL,CAAY,SAAZ,CAAsB,KAAtB,KAAgC,KAAK,CAAC,SAAN,CAAgB,KAA/F;;AACA,YAAI,KAAK,CAAC,UAAN,KAAqB,QAAzB,EAAmC;AACzC;AACQ,cAAI,aAAa,KAAb,IAAsB,aAAa,KAAnC,IAA4C,KAAK,CAAC,WAAN,CAAkB,KAAlB,CAAwB,MAAxB,KAAmC,CAA/E,IAAoF,WAAxF,EAAqG;AACnG,iBAAK,CAAC,WAAN,CAAkB,KAAlB,GAA0B,sBAAsB,CAAC,KAAK,CAAC,SAAP,EAAkB,KAAK,CAAC,OAAxB,EAAiC,KAAK,CAAC,OAAvC,CAAhD;AACD,WAJgC,CAKzC;;;AAEQ,cAAI,aAAa,KAAb,IAAsB,aAAa,KAAnC,IAA4C,KAAK,CAAC,WAAN,CAAkB,MAAlB,CAAyB,MAAzB,KAAoC,CAAhF,IAAqF,WAAzF,EAAsG;AACpG,iBAAK,CAAC,WAAN,CAAkB,MAAlB,GACI,uBAAuB,CAAC,KAAK,SAAN,EAAiB,KAAK,CAAC,SAAvB,EAAkC,KAAK,CAAC,OAAxC,EAAiD,KAAK,CAAC,OAAvD,CAD3B;AAED;AACF,SAXD,MAWO;AACL,eAAK,CAAC,WAAN,GAAoB;AAAC,iBAAK,EAAE,EAAR;AAAY,kBAAM,EAAE;AAApB,WAApB;AACD,SAxCY,CAyCnB;;;AAEM,YAAI,CAAC,KAAK,CAAC,UAAN,KAAqB,QAArB,IAAiC,KAAK,CAAC,UAAN,KAAqB,QAAvD,MACC,YAAY,IAAI,WAAhB,IAA+B,aAAa,KAA5C,IAAqD,aAAa,KAAlE,IAA2E,cAAc,KAD1F,CAAJ,EACsG;AACpG,eAAK,CAAC,YAAN,GAAqB,KAAK,CAAC,QAAN,IAAkB,iBAAiB,CAAC,KAAK,SAAN,EAAiB,KAAK,CAAC,SAAvB,EAAkC,KAAK,CAAC,OAAxC,CAAxD;AACA,eAAK,CAAC,YAAN,GAAqB,KAAK,CAAC,QAAN,IAAkB,iBAAiB,CAAC,KAAK,SAAN,EAAiB,KAAK,CAAC,QAAvB,EAAiC,KAAK,CAAC,OAAvC,CAAxD;AACD;AACF;;AAED,aAAO,KAAP;AACD;AA3RH;;AAAA;AAAA,GDwEE;;;;;;;;;;ACoND;;;AACD;AAAA,UAA8C;AAAA,UAlMb;AAkMa,GAA9C,EAlMgD;AAAA,UAAa;AAAb,GAkMhD;AAAA,E,CCnQA;;;AAEA,ID7BC,eC6BD;;AAAA,CD7BW,UACE,eADF,EC6BgB;AD5BM,iBA4RhC,6BA5RgC,GA4RhC,MA5RgC;AC8B/B;AACD,CAHD,EAAY,eAAe,KAAf,eAAe,MAA3B;ACpDA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAa,mBAAb;AAAA;;AAIE,uBAAgB,CAAhB;AACA,wBAAiB,CAAjB;AAIA,oBAA2C,QAA3C;AACA,qBAAkD,SAAlD;AACA,sBAAe,IAAf;AACA,yBAAkB,KAAlB;AAED,CAdD;;;;AAcC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAE,SAhBD,mCAgBC,GAhBS;ACLT,SDKqB,IAAQ,oBAAR,ECLrB;AACD;AAED;ADGgC;ACDhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAsB,cAAtB;AAAA;AAAA;;;;AAUC,C;;AACD;AAAA;AAAA;AAAA;AAAA;;AACA,IAZoC,oBADnC;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAeD;AAfgF;AAiB5E;AACF,uBAAU,IAAV,EAA6B;AAC3B,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAnE,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,aAAK,EAAE,IAAI,CAAC,KAA9B;AAAqC,WAAG,EAAE,IAAI,CAAC;AAA/C,OADG,GAEH,IAFJ;AAGD;AACH;AAEC;AACE;;AA1BF;AAAA;AAAA,WA2BC,iBAAQ,IAAR,EAA2B;AACzB,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAnE,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,aAAK,EAAE,IAAI,CAAC,KAA9B;AAAqC,WAAG,EAAE,IAAI,CAAC;AAA/C,OADG,GAEH,IAFJ;AAGD;AA/BF;;AAAA;AAAA,EAA8B,cAA9B,CAaD;;AACa,oBAAoB,KAApB,GAAoB,SADhC,4BACgC,CAApB,CAAoB,EAApB;AAAA,SAkBZ,4DAlBY;AAkBZ,CAlBY;;;;;;AAmBb;;AAAE,IClBW,6BAA6B,GAAG;AAC3C,SAAO,EAAE,iEADkC;AAE3C,aAAW,EAAE,iEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD,CAFoB;AAG3C,OAAK,EAAE;AAHoC,CDkB3C;ACmDF;AACA;AACA;AACA;AACA;;AAEA,IAAa,oBAAb,GACE,8BAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;sDAEC,E;;;AACD;AAAA,UAEyC;AAAA,UAJP,0DAAW;AAIJ,GAFzC;AAAA;AACA;AALC;AAOD;AAPyD;AASzD;;;AAkDA,IAAa,aAAb;AA8IE,yBACY,QADZ,EACoD,SADpD,EACmF,IADnF,EAEI,MAFJ,EAEiC,EAFjC,EAEgE,WAFhE,EAGY,eAHZ,EAG0D,OAH1D,EAGyE;AAAA;;AAAA;;AAF7D;AAAwC;AAA+B;AACnB;AACpD;AAA8C;AAxIlD,uBAAc,IAAI,6CAAJ,EAAd;AACA,wBAAwC,EAAxC;AACV;AAEK;AAEmC;AAAW;AAEiC;;AAqGxE,oBAAW,IAAI,2DAAJ,EAAX;AACZ;AAEK;AAEC;AAAW;AAGjB;AACK;AAAwB;;AAAjB,sBAAa,IAAI,2DAAJ,EAAb;AACZ;AAEK;AAEC;AAAW;AAEC;AAAW;AAGrB;AAA2B;;AAAvB,kBAAS,KAAK,UAAd;;AAEV,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;;AAME,KAAC,aAAD,EAAgB,iBAAhB,EAAmC,eAAnC,EAAoD,gBAApD,EAAsE,gBAAtE,EAAwF,cAAxF,EAAwG,SAAxG,EACC,SADD,EACY,YADZ,EAC0B,aAD1B,EACyC,cADzC,EACyD,iBADzD,EAC4E,WAD5E,EAEK,OAFL,CAEa,eAAK;AAAA,aAAI,MAAI,CAAC,KAAD,CAAJ,GAAc,MAAM,CAAC,KAAD,CAAxB;AAAA,KAFlB;;AAIA,YAAQ,CAAC,WAAT,CAAqB,IAArB,CAA0B,iEAAS,CAAC,KAAK,WAAN,CAAnC,EAAuD,SAAvD,CAAiE,cAAI;AAAM,YAAI,CAAC,UAAL,CAAgB,IAAhB,CAAqB,IAArB;AAA6B,KAAxG;;AAEA,YAAQ,CAAC,MAAT,CAAgB,IAAhB,CAAqB,iEAAS,CAAC,KAAK,WAAN,CAA9B,EAAkD,SAAlD,CAA4D,eAAK;AAC/D,UAAM,OAAO,GAAG,KAAK,CAAC,SAAtB;AACA,UAAM,OAAO,GAAG,MAAI,CAAC,KAAL,GAAa,MAAI,CAAC,KAAL,CAAW,SAAxB,GAAoC,IAApD,CAF+D,CAGrE;;AAEM,YAAI,CAAC,YAAL,GAAoB;AAClB,eAAO,EAAE,KAAK,CAAC,OADG;AAElB,eAAO,EAAE,KAAK,CAAC,OAFG;AAGlB,iBAAS,EAAE,KAAK,CAAC,SAHC;AAIlB,gBAAQ,EAAE,KAAK,CAAC,QAJE;AAKlB,mBAAW,EAAE,KAAK,CAAC,SALD;AAMlB,cAAM,EAAE,KAAK,CAAC,MAAN,CAAa,GAAb,CAAiB,mBAAS;AAAA,iBAAI,SAAS,CAAC,SAAd;AAAA,SAA1B;AANU,OAApB;AASA,UAAI,mBAAmB,GAAG,KAA1B,CAd+D,CAerE;;AACM,UAAI,CAAC,OAAO,CAAC,MAAR,CAAe,OAAf,CAAL,EAA8B;AAC5B,cAAI,CAAC,QAAL,CAAc,IAAd,CAAmB;AACjB,iBAAO,EAAE,OAAO,GAAG;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,iBAAK,EAAE,OAAO,CAAC;AAApC,WAAH,GAAgD,IAD/C;AAEjB,cAAI,EAAE;AAAC,gBAAI,EAAE,OAAO,CAAC,IAAf;AAAqB,iBAAK,EAAE,OAAO,CAAC;AAApC,WAFW;AAGjB,wBAAc,EAAE;AAAA,mBAAM,mBAAmB,GAAG,IAA5B;AAAA;AAHC,SAAnB,EAD4B,CAMpC;;;AAEQ,YAAI,mBAAmB,IAAI,OAAO,KAAK,IAAvC,EAA6C;AAC3C,gBAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,OAAnB;;AACA;AACD;AACF;;AAED,UAAM,eAAe,GAAG,KAAK,CAAC,YAA9B;AACA,UAAM,cAAc,GAAG,KAAK,CAAC,SAA7B;AACA,UAAM,cAAc,GAAG,MAAI,CAAC,KAAL,GAAa,MAAI,CAAC,KAAL,CAAW,SAAxB,GAAoC,IAA3D;AAEA,YAAI,CAAC,KAAL,GAAa,KAAb,CAlC+D,CAmCrE;;AAEM,UAAI,aAAa,CAAC,eAAD,EAAkB,MAAI,CAAC,aAAvB,CAAjB,EAAwD;AACtD,cAAI,CAAC,aAAL,GAAqB,eAArB;;AACA,cAAI,CAAC,SAAL;;AACA,cAAI,CAAC,QAAL,CAAc,MAAI,CAAC,eAAL,CAAqB,OAArB,CAA6B,eAA7B,CAAd;AACD,OAzC8D,CA0CrE;;;AAEM,UAAI,aAAa,CAAC,cAAD,EAAiB,cAAjB,CAAb,IAAiD,cAAjD,IAAmE,KAAK,CAAC,YAA7E,EAA2F;AACzF,cAAI,CAAC,KAAL;AACD;;AAED,QAAE,CAAC,YAAH;AACD,KAjDD;AAkDD;AACH;AAEC;AACE;AACE;AAEJ;;;AAjND;AAAA;AAAA,SAiNE,eAAS;AAAyB,aAAO,KAAK,YAAZ;AAA2B;AAC/D;AAEC;AACE;AACE;AAEJ;;AAxND;AAAA;AAAA,SAwNE,eAAY;AAAkB,aAAO,KAAK,SAAZ;AAAwB;AACxD;AAEC;AACE;;AA5NH;AAAA;AAAA,WA6NE,mBAAU,IAAV,EAA6B;AAAU,WAAK,QAAL,CAAc,KAAd,CAAoB,OAAO,CAAC,IAAR,CAAa,IAAb,CAApB;AAA0C;AACnF;AAEC;AACE;;AAjOH;AAAA;AAAA,WAkOE,uBAAW;AAAW,WAAK,QAAL,CAAc,WAAd;AAA8B;AAlOtD;AAAA;AAAA,WAoOE,iBAAK;AAAA;;AACH,WAAK,OAAL,CAAa,QAAb,CAAsB,YAAtB,GAAqC,IAArC,CAA0C,4DAAI,CAAC,CAAD,CAA9C,EAAmD,SAAnD,CAA6D;AAC3D,YAAM,cAAc,GAChB,OAAI,CAAC,WAAL,CAAiB,aAAjB,CAA+B,aAA/B,CAA6D,8BAA7D,CADJ;;AAEA,YAAI,cAAJ,EAAoB;AAClB,wBAAc,CAAC,KAAf;AACD;AACF,OAND;AAOD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;AAtPP;AAAA;AAAA,WAsPE,oBAAW,IAAX,EAA6D;AAC3D,WAAK,QAAL,CAAc,IAAd,CAAmB,OAAO,CAAC,IAAR,CAAa,IAAI,GAAG,IAAI,CAAC,GAAL,GAAW,IAAX,GAAgC,gCAAO,IAAP,GAAW;AAAE,WAAG,EAAE;AAAP,OAAX,CAAnC,GAA0D,IAA3E,CAAnB;AACD;AAxPH;AAAA;AAAA,WA0PE,2BAAe;AAAA;;AACb,WAAK,OAAL,CAAa,iBAAb,CAA+B;AAC7B,YAAM,SAAS,GAAG,uDAAS,CAAa,OAAI,CAAC,UAAL,CAAgB,aAA7B,EAA4C,SAA5C,CAA3B;AACA,YAAM,UAAU,GAAG,uDAAS,CAAa,OAAI,CAAC,UAAL,CAAgB,aAA7B,EAA4C,UAA5C,CAA5B;AACA,YAAO,aAAP,GAAwB,OAAI,CAAC,WAA7B,CAAO,aAAP,CAH6B,CAInC;AAEK;;AACC,2DAAK,CAAC,SAAD,EAAY,UAAZ,CAAL,CACK,IADL,CAEQ,8DAAM,CACF;AAAA,cAAE,MAAF,SAAE,MAAF;AAAA,cAAU,aAAV,SAAU,aAAV;AAAA,iBACI,EAAE,YAAY,CAAC,MAAD,EAAS,YAAT,CAAZ,IAAsC,YAAY,CAAC,aAAD,EAAgB,YAAhB,CAAlD,IACA,aAAa,CAAC,QAAd,CAAuB,MAAvB,CADA,IAC0C,aAAa,CAAC,QAAd,CAAuB,aAAvB,CAD5C,CADJ;AAAA,SADE,CAFd,EAMQ,iEAAS,CAAC,OAAI,CAAC,WAAN,CANjB,EAOK,SAPL,CAOe;AAAA,cAAE,IAAF,SAAE,IAAF;AAAA,iBAAY,OAAI,CAAC,OAAL,CAAa,GAAb,CAAiB;AAAA,mBAAM,OAAI,CAAC,QAAL,CAAc,GAAd,CAAkB;AAAC,0BAAY,EAAE,IAAI,KAAK;AAAxB,aAAlB,CAAN;AAAA,WAAjB,CAAZ;AAAA,SAPf;AAQD,OAfD;AAgBD;AA3QH;AAAA;AAAA,WA6QE,uBAAW;AAAK,WAAK,WAAL,CAAiB,IAAjB;AAA0B;AA7Q5C;AAAA;AAAA,WA+QE,oBAAQ;AAAA;;AACN,UAAI,KAAK,KAAL,KAAe,SAAnB,EAA8B;AAC5B,YAAM,MAAM,GAA4B,EAAxC;AACA,SAAC,iBAAD,EAAoB,eAApB,EAAqC,cAArC,EAAqD,gBAArD,EAAuE,YAAvE,EAAqF,SAArF,EAAgG,SAAhG,EACC,aADD,EAEK,OAFL,CAEa,cAAI;AAAA,iBAAI,MAAM,CAAC,IAAD,CAAN,GAAe,OAAI,CAAC,IAAD,CAAvB;AAAA,SAFjB;;AAGA,aAAK,QAAL,CAAc,GAAd,CAAkB,MAAlB;;AAEA,aAAK,UAAL,CAAgB,KAAK,SAArB;AACD;;AACD,UAAI,CAAC,KAAK,WAAV,EAAuB;AACrB,aAAK,WAAL,GAAmB,KAAK,mBAAxB;AACD;AACF;AA5RH;AAAA;AAAA,WA8RE,qBAAY,OAAZ,EAAkC;AAAA;;AAChC,UAAM,MAAM,GAA4B,EAAxC;AACA,OAAC,iBAAD,EAAoB,eAApB,EAAqC,cAArC,EAAqD,gBAArD,EAAuE,YAAvE,EAAqF,SAArF,EAAgG,SAAhG,EACC,aADD,EAEK,MAFL,CAEY,cAAI;AAAA,eAAI,IAAI,IAAI,OAAZ;AAAA,OAFhB,EAGK,OAHL,CAGa,cAAI;AAAA,eAAI,MAAM,CAAC,IAAD,CAAN,GAAe,OAAI,CAAC,IAAD,CAAvB;AAAA,OAHjB;;AAIA,WAAK,QAAL,CAAc,GAAd,CAAkB,MAAlB;;AAEA,UAAI,eAAe,OAAnB,EAA4B;AAC1B,iCAAsC,OAAO,CAAC,SAA9C;AAAA,YAAO,YAAP,sBAAO,YAAP;AAAA,YAAqB,aAArB,sBAAqB,aAArB;;AACA,YAAI,cAAc,CAAC,aAAD,EAAgB,YAAhB,CAAlB,EAAiD;AAC/C,eAAK,UAAL,CAAgB,KAAK,SAArB;AACD;AACF;AACF;AA5SH;AAAA;AAAA,WA8SE,sBAAa,IAAb,EAA0B;AACxB,WAAK,QAAL,CAAc,KAAd,CAAoB,IAApB;;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,IAArB,EAA2B;AAAC,iBAAS,EAAE;AAAZ,OAA3B;AACD;AAjTH;AAAA;AAAA,WAmTE,8BAAqB,IAArB,EAAkC;AAAI,WAAK,QAAL,CAAc,IAAd,CAAmB,IAAnB;AAA2B;AAnTnE;AAAA;AAAA,WAqTE,yBAAgB,KAAhB,EAAsC;AACpC,cAAQ,KAAR;AACE,aAAK,eAAe,CAAC,IAArB;AACE,eAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,SAAL,CAAe,OAAf,CAAuB,KAAK,KAAL,CAAW,SAAlC,EAA6C,GAA7C,EAAkD,CAAlD,CAAnB;;AACA;;AACF,aAAK,eAAe,CAAC,IAArB;AACE,eAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,SAAL,CAAe,OAAf,CAAuB,KAAK,KAAL,CAAW,SAAlC,EAA6C,GAA7C,EAAkD,CAAlD,CAAnB;;AACA;AANJ;AAQD;AA9TH;AAAA;AAAA,WAgUE,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;AAhUzE;AAAA;AAAA,WAkUE,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;AAlUjE;AAAA;AAAA,WAoUE,0BAAiB,QAAjB,EAAkC;AAAI,WAAK,QAAL,CAAc,GAAd,CAAkB;AAAC,gBAAQ,EAAR;AAAD,OAAlB;AAAgC;AApUxE;AAAA;AAAA,WAsUE,oBAAW,KAAX,EAAgB;AACd,WAAK,aAAL,GAAqB,OAAO,CAAC,IAAR,CAAa,KAAK,eAAL,CAAqB,SAArB,CAA+B,KAA/B,CAAb,CAArB;;AACA,WAAK,QAAL,CAAc,MAAd,CAAqB,KAAK,aAA1B;AACD;AAzUH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0UC;;;AACD;AAAA,UAAuC;AAAA,UA5Lf;AA4Le,GAAvC,EA5LgD;AAAA,UAAiB;AAAjB,GA4LhD,EA5LgF;AAAA,UAAW;AAAX,GA4LhF,EA3LE;AAAA,UAAY;AAAZ,GA2LF,EA3LqC;AAAA,UAAE,gEAAiB;AAAnB,GA2LrC,EA3L4D;AAAA,UAAmB,yDAAU;AAA7B,GA2L5D,EA3L6F;AAAA,UAC9D;AAD8D,GA2L7F,EA1LiD;AAAA,UAAoB,qDAAM;AAA1B,GA0LjD;AAAA;;AAvUmD,0DAAhD,gEAAS,CAAC,oBAAD,EAAuB;AAAC,QAAM,EAAE;AAAT,CAAvB,CAAuC;;AACX,0DAArC,gEAAS,CAAC,SAAD,EAAY;AAAC,QAAM,EAAE;AAAT,CAAZ,CAA4B;;AACc,0DAAnD,mEAAY,CAAC,oBAAD,EAAuB;AAAC,QAAM,EAAE;AAAT,CAAvB,CAAuC;;AAa3C,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAWA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AAOC,0DAAT,6DAAM,EAAG;;AASA,0DAAT,6DAAM,EAAG;;AAUA,0DAAT,6DAAM,EAAG;;ACjTZ,IAAY,GAAZ;;AAAA,CDwK0B,UCxKd,GDwKc,ECxKX;ADuHd,mBAAU,CAAV,IACC,KADD;ACrHC,UDsHyB,OCtHzB,IDsHyB,ECtHzB,IDuHA,OCvHA;AACA,UDsH0B,QCtH1B,IDsH0B,ECtH1B,IDuHA,QCvHA;AACA,qBDsHwC,ECtHxC,IDsHyC,OCtHzC;AACA,UDsHa,QCtHb,IDsHe,ECtHf,IDsHe,QCtHf;AACA,SDuHA,YCvHA,GDuHU,ECvHV,IDuHU,UCvHV;AACA;AACA;AACA;AACA;AACA;AACA;AACD,CAbD,EAAY,GAAG,KAAH,GAAG,MAAf;ACIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAa,4BAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AACA;AACE;AACE;AACF,wBAAW,KAAX,EAAiC,UAAjC,EAA0D;AACxD,UAAO,KAAP,GAA0B,UAA1B,CAAO,KAAP;AAAA,UAAc,QAAd,GAA0B,UAA1B,CAAc,QAAd,CADwD,CAE5D;;AACI,cAAQ,KAAK,CAAC,KAAd;AACE,aAAK,GAAG,CAAC,MAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,KAAK,CAAC,QAAN,GAAiB,GAAjB,GAAuB,GAA3D,EAAgE,CAAhE,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,QAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,KAAK,CAAC,QAAN,GAAiB,GAAjB,GAAuB,GAA3D,EAAgE,CAAhE,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,GAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,OAAvB,GAAiC,KAAK,CAAC,QAA5D;AACA;;AACF,aAAK,GAAG,CAAC,IAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,KAAK,CAAC,QAAN,GAAiB,KAAK,CAAC,OAAvB,GAAiC,KAAK,CAAC,SAA5D;AACA;;AACF,aAAK,GAAG,CAAC,SAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,CAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,OAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,QAAQ,CAAC,cAAT,EAAzC,CAArB;AFkIN;;AEhII,aAAK,GAAG,CAAC,UAAT;AACE,oBAAU,CF+HgD,SE/H1D,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,CAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,SAAT;AACE,oBAAU,CAAC,SAAX,CAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,CAAC,WAAvB,EAAoC,GAApC,EAAyC,QAAQ,CAAC,cAAT,EAAzC,CAArB;AACA;;AACF,aAAK,GAAG,CAAC,KAAT;AACA,aAAK,GAAG,CAAC,KAAT;AACE,oBAAU,CAAC,WAAX;AACA;;AACF;AACE;AA9BJ;;AAgCA,WAAK,CAAC,cAAN;AACA,WAAK,CAAC,eAAN;AACD;AAzCH;;AAAA;AAAA;;;;AA0CC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AFgHC;AACY;AE5J4B;ACDzC;AACA;AACA;AACA;AACA;;AA8BA,IAAa,kBAAb;AAcE,8BACW,IADX,EAC2C,UAD3C,EAEY,gBAFZ,EAEoE,QAFpE,EAEkG;AAAA;;AADvF;AAAgC;AAC/B;AAAwD;AAAkC;AACxG;AACO;AAA+C;AAAO;AAEzC;AAEL;;;AAtBf;AAAA;AAAA,SAQE,aAAU,KAAV,EAA8B;AAC5B,WAAK,SAAL,GAAiB,KAAK,QAAL,CAAc,QAAd,CAAuB,KAAvB,CAAjB;AACD;AAVH;AAAA;AAAA,WAkBE,mBAAU,KAAV,EAA8B;AAAI,WAAK,gBAAL,CAAsB,UAAtB,CAAiC,KAAjC,EAAwC,KAAK,UAA7C;AAA2D;AAlB/F;AAAA;AAAA,WAoBE,kBAAS,GAAT,EAA0B;AACxB,UAAI,CAAC,GAAG,CAAC,OAAJ,CAAY,QAAb,IAAyB,CAAC,GAAG,CAAC,MAAlC,EAA0C;AACxC,aAAK,UAAL,CAAgB,YAAhB,CAA6B,GAAG,CAAC,IAAjC;AACD;AACF;AAxBH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBC;;;AACD;AAAA,UAA4C;AAAA,UAXzB;AAWyB,GAA5C,EAXwC;AAAA,UAAiB;AAAjB,GAWxC,EAVE;AAAA,UAA8B;AAA9B,GAUF,EAVgE;AAAA,UAAgB;AAAhB,GAUhE;AAAA;;AAlBE,0DADC,4DAAK,EACN,GAAF,4BAAE,EAAF,OAAE,EAAF,IAAE;;AAkBA,IA1B6B,uBA7B9B;AACW,mCCuCS,IDvCT,ECuCgC;AAAA;;AAAvB,SDtCnB,ICsCmB,GDtCZ,ICsCY;ADtCE,SAAE,UAAF,GCyBR,eDzBQ;AACrB,kBAAa,EAAb;ACkCU,SDlCsB,QCkCtB,GAAW,IDhCrB,2DCgCqB,EAAX;AACA,kBAAS,IAAI,2DAAJ,EAAT;AAEoC;;ADxC/C;AAAA;AAAA,WC0CC,qBAAY,KAAZ,EAA6B;AAC1B,WAAK,CAAC,aAAN,CAAoC,KAApC;AACD,WAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,UAAL,CAAgB,IAAnC;AACD;AD7CF;AAAA;AAAA,WC+CC,qBAAY,KAAZ,EAA6B;AAC1B,WAAK,CAAC,aAAN,CAAoC,KAApC;AACD,WAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,UAAL,CAAgB,IAAnC;AACD;ADlDF;;AAAA;AAAA,GAuDC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA5BC,S;;;;;;;;;;;;;;QACF,OACY,iBADZ,KA0BA,WA1BA,IA0BA,iB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCHA;;;AACD;AAAA,UAAiD;AAAA,UAZtB;AAYsB,GAAjD;AAAA;;AAvBW,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AAEC,0DAAT,6DAAM,EAAG;;AACA,0DAAT,6DAAM,EAAG;;AChDZ,IAAM,aAAa,GAAG,SAAhB,aAAgB,CAAC,OAAD,EAAuB,KAAvB;AAAA,SAClB,KAAK,GDFC,KCEO,CAAC,IDFR,CACR,cCCyB;AAAA,WDDjB,ICCyB,CAAC,QDD1B,CCCmC,ODDnC,CCCiB;AAAA,GDFjB,CCED,GDD8B,KCAjB;AAAA,CAAtB;;AAEA,IDDE,kBCCF;;AACA,IDF0C,oBAAO,GCEpB,SDFa,oBCEb,CDD3B,OCC2B,EDDd,QCCc;AAAA,SACzB,CAAC,QAAD,IDF8B,OCEV,CDFe,OCEf,EDAtB,QCAsB,CDFU,ICEa,IADlB;AAAA,CAA7B;;AAEA;;AACgC,SAEd,SAFc,EAEd;AAChB,MAAM,KAAK,GAAG,SAAR,KAAQ;AAAA,WAAM,mBAAmB,IAAnB,CAAwB,SAAS,CAAC,SAAlC,KACf,YAAY,IAAZ,CAAiB,SAAS,CAAC,SAA3B,KAAyC,SAAS,CAAC,cAAnD,IAAqE,SAAS,CAAC,cAAV,GAA2B,CADvF;AAAA,GAAd;;AAEA,MAAM,SAAS,GAAG,SAAZ,SAAY;AAAA,WAAM,UAAU,IAAV,CAAe,SAAS,CAAC,SAAzB,CAAN;AAAA,GAAlB;;AAEA,SAAO,OAAO,SAAP,KAAqB,WAArB,GAAmC,CAAC,CAAC,SAAS,CAAC,SAAZ,KAA0B,KAAK,MAAM,SAAS,EAA9C,CAAnC,GAAuF,KAA9F;AACD,CAR+B,C,CAAhC;AACA;;;AACA,IAAM,QAAQ,GAAG,IAAjB,C,CAQA;AACA;;AACA,IAAM,kBAAkB,GAAG,SAArB,kBAAqB,GAAE;AAAA,SAAI,QAAQ,GAAG;AAAA,WAAM,UAAU,CAAC;AAAA,aAAM,EAAE,EAAR;AAAA,KAAD,EAAa,GAAb,CAAhB;AAAA,GAAH,GAAuC,EAAnD;AAAA,CAA7B;;AACA;;AACA,SAAgB,YAAhB,CACI,IADJ,EACkB,QADlB,EACiC,IADjC,EACuE,KADvE,EAC0F,OAD1F,EAEI,cAFJ,EAEmC,cAFnC,EAEmE,cAFnE,EAE0F;AAC1F;AACE,MAAI,IAAJ,EAAU;AACR,QAAI,CAAC,iBAAL,CAAuB,kBAAkB,CAAC;AAExC,UAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,KAAD,EAAkB;AAC3C,YAAM,OAAO,GAAG,KAAK,CAAC,MAAtB;;AACA,YAAI,KAAK,CAAC,MAAN,KAAiB,CAAjB,IAAsB,aAAa,CAAC,OAAD,EAAU,cAAV,CAAvC,EAAkE;AAChE,iBAAO,KAAP;AACD;;AACD,YAAI,IAAI,KAAK,QAAb,EAAuB;AACrB,iBAAO,aAAa,CAAC,OAAD,EAAU,cAAV,CAAb,IAA0C,oBAAoB,CDC1E,OCD0E,EAAU,cAAV,CAArE;AACD,SAFD,MAEO,IAAI,IAAI,KAAK,SAAb,EAAwB;AAC7B,iBAAO,CAAC,aAAa,CAAC,OAAD,EAAU,cAAV,CAArB;AACD,SAFM;AAEL;AAA8B;AAC9B,mBAAO,oBAAoB,CAAC,OAAD,EAAU,cAAV,CAApB,IAAiD,CAAC,aAAa,CAAC,OAAD,EAAU,cAAV,CAAtE;AACD;AACF,OAZD;;AAcA,UAAM,QAAQ,GAAG,uDAAS,CAAgB,QAAhB,EAA0B,SAA1B,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,OAAD,CAFjB,EAGtB;AAC8B,oEAAM,CAAC,WAAC;AAAA,eAAI,CAAC,CAAC,KAAF,KAAY,GAAG,CAAC,MAApB;AAAA,OAAF,CAJd,EAI6C,2DAAG,CAAC,WAAC;AAAA,eAAI,CAAC,CAAC,cAAF,EAAJ;AAAA,OAAF,CAJhD,CAAjB,CAhBwC,CAqB9C;AAGI;;AACE,UAAM,WAAW,GACb,uDAAS,CAAa,QAAb,EAAuB,WAAvB,CAAT,CAA6C,IAA7C,CAAkD,2DAAG,CAAC,kBAAD,CAArD,EAA2E,iEAAS,CAAC,OAAD,CAApF,CADJ;AAGA,UAAM,gBAAgB,GAAG,uDAAS,CAAa,QAAb,EAAuB,SAAvB,CAAT,CACK,IADL,CAEQ,sEAAc,CAAC,WAAD,CAFtB,EAEqC,8DAAM,CAAC;AAAA;AAAA,YAAE,CAAF;AAAA,YAAK,WAAL;;AAAA,eAAsB,WAAtB;AAAA,OAAD,CAF3C,EAEgF,6DAAK,CAAC,CAAD,CAFrF,EAGQ,iEAAS,CAAC,OAAD,CAHjB,CAAzB;AAMA,wDAAI,CAAQ,CAAC,QAAD,EAAW,gBAAX,CAAR,CAAJ,CAA0C,SAA1C,CAAoD;AAAA,eDxBzD,ICwBmE,CDvBvD,GADZ,CCwBwE,KDxBxE,CCwByD;AAAA,OAApD;ADvB8B,KCXS,CAAzC;AAoCD;AACF;;AC5DD,IAAM,2BAA2B,GAAG,CAClC,SADkC,EACvB,wBADuB,EACG,4CADH,EACiD,wBADjD,EAElC,0BAFkC,EAEN,mBAFM,EAEe,iCAFf,EAGlC,IAHkC,CAG7B,IAH6B,CAApC;AAKA;AACA;AACA;;AACA,SAAgB,4BAAhB,CAA6C,OAA7C,EAAiE;AAC/D,MAAM,IAAI,GACN,KAAK,CAAC,IAAN,CAAW,OAAO,CAAC,gBAAR,CAAyB,2BAAzB,CAAX,EACK,MADL,CACY,YAAE;AAAA,WAAI,EAAE,CAAC,QAAH,KAAgB,CAAC,CAArB;AAAA,GADd,CADJ;AAGA,SAAO,CAAC,IAAI,CAAC,CAAD,CAAL,EAAU,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAd,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,IAAM,YAAY,GACrB,SADS,YACT,CAAC,IAAD,EAAe,OAAf,EAAqC,cAArC,EAA4F;AAAA,MAAtB,cAAsB,uEAAL,KAAK;AAC1F,MAAI,CAAC,iBAAL,CAAuB;AAC7B;AACQ,QAAM,mBAAmB,GACrB,uDAAS,CAAa,OAAb,EAAsB,SAAtB,CAAT,CAA0C,IAA1C,CAA+C,iEAAS,CAAC,cAAD,CAAxD,EAA0E,2DAAG,CAAC,WAAC;AAAA,aAAI,CAAC,CAAC,MAAN;AAAA,KAAF,CAA7E,CADJ,CAFqB,CAI7B;;AAEQ,2DAAS,CAAgB,OAAhB,EAAyB,SAAzB,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,cAAD,CAFjB,EAGP;AACe,kEAAM,CAAC,WAAC;AAAA,aAAI,CAAC,CAAC,KAAF,KAAY,GAAG,CAAC,GAApB;AAAA,KAAF,CAJd,EAKP;AACe,0EAAc,CAAC,mBAAD,CANtB,EAOK,SAPL,CAOe,iBAA2B;AAAA;AAAA,UAAzB,QAAyB;AAAA,UAAf,cAAe;;AACpC,kCAAqB,4BAA4B,CAAC,OAAD,CAAjD;AAAA;AAAA,UAAM,KAAN;AAAA,UAAa,IAAb;;AAEA,UAAI,CAAC,cAAc,KAAK,KAAnB,IAA4B,cAAc,KAAK,OAAhD,KAA4D,QAAQ,CAAC,QAAzE,EAAmF;AACjF,YAAI,CAAC,KAAL;AACA,gBAAQ,CAAC,cAAT;AACD;;AAED,UAAI,cAAc,KAAK,IAAnB,IAA2B,CAAC,QAAQ,CAAC,QAAzC,EAAmD;AACjD,aAAK,CAAC,KAAN;AACA,gBAAQ,CAAC,cAAT;AACD;AACF,KAnBL,EANqB,CA0B7B;;AAEQ,QAAI,cAAJ,EAAoB;AAClB,6DAAS,CAAC,OAAD,EAAU,OAAV,CAAT,CACK,IADL,CACU,iEAAS,CAAC,cAAD,CADnB,EACqC,sEAAc,CAAC,mBAAD,CADnD,EAC0E,2DAAG,CAAC,aAAG;AAAA,eAAI,GAAG,CAAC,CAAD,CAAP;AAAA,OAAJ,CAD7E,EAEK,SAFL,CAEe,4BAAkB;AAAA,eAAI,kBAAkB,CAAC,KAAnB,EAAJ;AAAA,OAFjC;AAGD;AACF,GAjCD;AAkCD,CApCE,C,CCnCP;AACA;;;IACa,W;;;;;;;WACH,sBAAa,OAAb,EAAiC;AAAI,aAAO,MAAM,CAAC,gBAAP,CAAwB,OAAxB,CAAP;AAA0C;;;WAE/E,kBAAS,OAAT,EAA+B,IAA/B,EAA2C;AAAY,aAAO,KAAK,YAAL,CAAkB,OAAlB,EAA2B,IAA3B,CAAP;AAA0C;;;WAEjG,4BAAmB,OAAnB,EAAuC;AAC7C,aAAO,CAAC,KAAK,QAAL,CAAc,OAAd,EAAuB,UAAvB,KAAsC,QAAvC,MAAqD,QAA5D;AACD;;;WAEO,sBAAa,OAAb,EAAiC;AACvC,UAAI,cAAc,GAAgB,OAAO,CAAC,YAAR,IAAwB,QAAQ,CAAC,eAAnE;;AAEA,aAAO,cAAc,IAAI,cAAc,KAAK,QAAQ,CAAC,eAA9C,IAAiE,KAAK,kBAAL,CAAwB,cAAxB,CAAxE,EAAiH;AAC/G,sBAAc,GAAgB,cAAc,CAAC,YAA7C;AACD;;AAED,aAAO,cAAc,IAAI,QAAQ,CAAC,eAAlC;AACD;;;WAED,kBAAS,OAAT,EAA2C;AAAA,UAAZ,KAAY,uEAAJ,IAAI;AACzC,UAAI,UAAJ;AACA,UAAI,YAAY,GAAe;AAAC,aAAK,EAAE,CAAR;AAAW,cAAM,EAAE,CAAnB;AAAsB,WAAG,EAAE,CAA3B;AAA8B,cAAM,EAAE,CAAtC;AAAyC,YAAI,EAAE,CAA/C;AAAkD,aAAK,EAAE;AAAzD,OAA/B;;AAEA,UAAI,KAAK,QAAL,CAAc,OAAd,EAAuB,UAAvB,MAAuC,OAA3C,EAAoD;AAClD,kBAAU,GAAG,OAAO,CAAC,qBAAR,EAAb;AACA,kBAAU,GAAG;AACX,aAAG,EAAE,UAAU,CAAC,GADL;AAEX,gBAAM,EAAE,UAAU,CAAC,MAFR;AAGX,cAAI,EAAE,UAAU,CAAC,IAHN;AAIX,eAAK,EAAE,UAAU,CAAC,KAJP;AAKX,gBAAM,EAAE,UAAU,CAAC,MALR;AAMX,eAAK,EAAE,UAAU,CAAC;AANP,SAAb;AAQD,OAVD,MAUO;AACL,YAAM,cAAc,GAAG,KAAK,YAAL,CAAkB,OAAlB,CAAvB;AAEA,kBAAU,GAAG,KAAK,MAAL,CAAY,OAAZ,EAAqB,KAArB,CAAb;;AAEA,YAAI,cAAc,KAAK,QAAQ,CAAC,eAAhC,EAAiD;AAC/C,sBAAY,GAAG,KAAK,MAAL,CAAY,cAAZ,EAA4B,KAA5B,CAAf;AACD;;AAED,oBAAY,CAAC,GAAb,IAAoB,cAAc,CAAC,SAAnC;AACA,oBAAY,CAAC,IAAb,IAAqB,cAAc,CAAC,UAApC;AACD;;AAED,gBAAU,CAAC,GAAX,IAAkB,YAAY,CAAC,GAA/B;AACA,gBAAU,CAAC,MAAX,IAAqB,YAAY,CAAC,GAAlC;AACA,gBAAU,CAAC,IAAX,IAAmB,YAAY,CAAC,IAAhC;AACA,gBAAU,CAAC,KAAX,IAAoB,YAAY,CAAC,IAAjC;;AAEA,UAAI,KAAJ,EAAW;AACT,kBAAU,CAAC,GAAX,GAAiB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,GAAtB,CAAjB;AACA,kBAAU,CAAC,MAAX,GAAoB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,MAAtB,CAApB;AACA,kBAAU,CAAC,IAAX,GAAkB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,IAAtB,CAAlB;AACA,kBAAU,CAAC,KAAX,GAAmB,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,KAAtB,CAAnB;AACD;;AAED,aAAO,UAAP;AACD;;;WAED,gBAAO,OAAP,EAAyC;AAAA,UAAZ,KAAY,uEAAJ,IAAI;AACvC,UAAM,KAAK,GAAG,OAAO,CAAC,qBAAR,EAAd;AACA,UAAM,cAAc,GAAG;AACrB,WAAG,EAAE,MAAM,CAAC,WAAP,GAAqB,QAAQ,CAAC,eAAT,CAAyB,SAD9B;AAErB,YAAI,EAAE,MAAM,CAAC,WAAP,GAAqB,QAAQ,CAAC,eAAT,CAAyB;AAF/B,OAAvB;AAKA,UAAI,QAAQ,GAAG;AACb,cAAM,EAAE,KAAK,CAAC,MAAN,IAAgB,OAAO,CAAC,YADnB;AAEb,aAAK,EAAE,KAAK,CAAC,KAAN,IAAe,OAAO,CAAC,WAFjB;AAGb,WAAG,EAAE,KAAK,CAAC,GAAN,GAAY,cAAc,CAAC,GAHnB;AAIb,cAAM,EAAE,KAAK,CAAC,MAAN,GAAe,cAAc,CAAC,GAJzB;AAKb,YAAI,EAAE,KAAK,CAAC,IAAN,GAAa,cAAc,CAAC,IALrB;AAMb,aAAK,EAAE,KAAK,CAAC,KAAN,GAAc,cAAc,CAAC;AANvB,OAAf;;AASA,UAAI,KAAJ,EAAW;AACT,gBAAQ,CAAC,MAAT,GAAkB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,MAApB,CAAlB;AACA,gBAAQ,CAAC,KAAT,GAAiB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,KAApB,CAAjB;AACA,gBAAQ,CAAC,GAAT,GAAe,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,GAApB,CAAf;AACA,gBAAQ,CAAC,MAAT,GAAkB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,MAApB,CAAlB;AACA,gBAAQ,CAAC,IAAT,GAAgB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,IAApB,CAAhB;AACA,gBAAQ,CAAC,KAAT,GAAiB,IAAI,CAAC,KAAL,CAAW,QAAQ,CAAC,KAApB,CAAjB;AACD;;AAED,aAAO,QAAP;AACD;AACH;AAEC;AACE;;;;WACD,0BAAiB,WAAjB,EAA2C,aAA3C,EAAuE,SAAvE,EAA0F,YAA1F,EAAgH;AAE9G,6BAAiE,SAAS,CAAC,KAAV,CAAgB,GAAhB,CAAjE;AAAA;AAAA;AAAA,UAAM,gBAAN,mCAAyB,KAAzB;AAAA;AAAA,UAAgC,kBAAhC,oCAAqD,QAArD;;AAEA,UAAM,cAAc,GAAG,YAAY,GAAG,KAAK,MAAL,CAAY,WAAZ,EAAyB,KAAzB,CAAH,GAAqC,KAAK,QAAL,CAAc,WAAd,EAA2B,KAA3B,CAAxE;AACA,UAAM,cAAc,GAAG,KAAK,YAAL,CAAkB,aAAlB,CAAvB;AAEA,UAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,SAAhB,CAA5B;AACA,UAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,YAAhB,CAA/B;AACA,UAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,UAAhB,CAA7B;AACA,UAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,WAAhB,CAA9B;AAEA,UAAI,WAAW,GAAG,CAAlB;AACA,UAAI,YAAY,GAAG,CAAnB;;AAEA,cAAQ,gBAAR;AACE,aAAK,KAAL;AACE,qBAAW,GAAI,cAAc,CAAC,GAAf,IAAsB,aAAa,CAAC,YAAd,GAA6B,SAA7B,GAAyC,YAA/D,CAAf;AACA;;AACF,aAAK,QAAL;AACE,qBAAW,GAAI,cAAc,CAAC,GAAf,GAAqB,cAAc,CAAC,MAAnD;AACA;;AACF,aAAK,MAAL;AACE,sBAAY,GAAI,cAAc,CAAC,IAAf,IAAuB,aAAa,CAAC,WAAd,GAA4B,UAA5B,GAAyC,WAAhE,CAAhB;AACA;;AACF,aAAK,OAAL;AACE,sBAAY,GAAI,cAAc,CAAC,IAAf,GAAsB,cAAc,CAAC,KAArD;AACA;AAZJ;;AAeA,cAAQ,kBAAR;AACE,aAAK,KAAL;AACE,qBAAW,GAAG,cAAc,CAAC,GAA7B;AACA;;AACF,aAAK,QAAL;AACE,qBAAW,GAAG,cAAc,CAAC,GAAf,GAAqB,cAAc,CAAC,MAApC,GAA6C,aAAa,CAAC,YAAzE;AACA;;AACF,aAAK,MAAL;AACE,sBAAY,GAAG,cAAc,CAAC,IAA9B;AACA;;AACF,aAAK,OAAL;AACE,sBAAY,GAAG,cAAc,CAAC,IAAf,GAAsB,cAAc,CAAC,KAArC,GAA6C,aAAa,CAAC,WAA1E;AACA;;AACF,aAAK,QAAL;AACE,cAAI,gBAAgB,KAAK,KAArB,IAA8B,gBAAgB,KAAK,QAAvD,EAAiE;AAC/D,wBAAY,GAAI,cAAc,CAAC,IAAf,GAAsB,cAAc,CAAC,KAAf,GAAuB,CAA7C,GAAiD,aAAa,CAAC,WAAd,GAA4B,CAA7F;AACD,WAFD,MAEO;AACL,uBAAW,GAAI,cAAc,CAAC,GAAf,GAAqB,cAAc,CAAC,MAAf,GAAwB,CAA7C,GAAiD,aAAa,CAAC,YAAd,GAA6B,CAA7F;AACD;;AACD;AAnBJ,OA9B8G,CAmDlH;AAEG;;;AACC,mBAAa,CAAC,KAAd,CAAoB,SAApB,uBAA6C,IAAI,CAAC,KAAL,CAAW,YAAX,CAA7C,iBAA4E,IAAI,CAAC,KAAL,CAAW,WAAX,CAA5E,SAtD8G,CAuDlH;;AAEI,UAAM,WAAW,GAAG,aAAa,CAAC,qBAAd,EAApB;AACA,UAAM,IAAI,GAAG,QAAQ,CAAC,eAAtB;AACA,UAAM,YAAY,GAAG,MAAM,CAAC,WAAP,IAAsB,IAAI,CAAC,YAAhD;AACA,UAAM,WAAW,GAAG,MAAM,CAAC,UAAP,IAAqB,IAAI,CAAC,WAA9C;AAEA,aAAO,WAAW,CAAC,IAAZ,IAAoB,CAApB,IAAyB,WAAW,CAAC,GAAZ,IAAmB,CAA5C,IAAiD,WAAW,CAAC,KAAZ,IAAqB,WAAtE,IACH,WAAW,CAAC,MAAZ,IAAsB,YAD1B;AAED;;;;;;AAGH,IAAM,kBAAkB,GAAG,KAA3B;AACO,IAAM,eAAe,GAAG,IAAI,WAAJ,EAAxB;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAgB,gBAAhB,CACI,WADJ,EAC8B,aAD9B,EAC0D,SAD1D,EAEI,YAFJ,EAE4B,SAF5B,EAE8C;AAC5C,MAAI,aAAa,GACb,KAAK,CAAC,OAAN,CAAc,SAAd,IAA2B,SAA3B,GAAuC,SAAS,CAAC,KAAV,CAAgB,kBAAhB,CAD3C;AAGA,MAAM,iBAAiB,GAAG,CACxB,KADwB,EACjB,QADiB,EACP,MADO,EACC,OADD,EACU,UADV,EACsB,WADtB,EACmC,aADnC,EACkD,cADlD,EACkE,UADlE,EAC8E,aAD9E,EAExB,WAFwB,EAEX,cAFW,CAA1B;AAKA,MAAM,SAAS,GAAG,aAAa,CAAC,SAAhC;;AACA,MAAM,kBAAkB,GAAG,SAArB,kBAAqB,CAAC,eAAD,EAA2B;AACpD,gCAA4B,eAAe,CAAC,KAAhB,CAAsB,GAAtB,CAA5B;AAAA;AAAA,QAAM,OAAN;AAAA,QAAe,SAAf;;AACA,QAAM,OAAO,GAAG,EAAhB;;AACA,QAAI,SAAJ,EAAe;AACb,aAAO,CAAC,IAAR,WAAgB,SAAhB,cAA6B,OAA7B;;AACA,UAAI,SAAJ,EAAe;AACb,eAAO,CAAC,IAAR,WAAgB,SAAhB,cAA6B,OAA7B,cAAwC,SAAxC;AACD;;AAED,aAAO,CAAC,OAAR,CAAgB,UAAC,SAAD,EAAU;AAAO,iBAAS,CAAC,GAAV,CAAc,SAAd;AAA2B,OAA5D;AACD;;AACD,WAAO,OAAP;AACD,GAZD,CAV4C,CAuB9C;;;AAEE,MAAI,SAAJ,EAAe;AACb,qBAAiB,CAAC,OAAlB,CAA0B,UAAC,iBAAD,EAAkB;AAAO,eAAS,CAAC,MAAV,WAAoB,SAApB,cAAiC,iBAAjC;AAAwD,KAA3G;AACD,GA3B2C,CA4B9C;;;AAEE,MAAI,OAAO,GAAG,aAAa,CAAC,SAAd,CAAwB,aAAG;AAAA,WAAI,GAAG,KAAK,MAAZ;AAAA,GAA3B,CAAd;;AACA,MAAI,OAAO,IAAI,CAAf,EAAkB;AAChB,qBAAiB,CAAC,OAAlB,CAA0B,UAAS,GAAT,EAAY;AACpC,UAAI,aAAa,CAAC,IAAd,CAAmB,aAAG;AAAA,eAAI,GAAG,CAAC,MAAJ,CAAW,MAAM,GAAjB,MAA0B,CAAC,CAA/B;AAAA,OAAtB,KAA2D,IAA/D,EAAqE;AACnE,qBAAa,CAAC,MAAd,CAAqB,OAAO,EAA5B,EAAgC,CAAhC,EAAmC,GAAnC;AACD;AACF,KAJD;AAKD,GArC2C,CAsC9C;AAGA;;;AACE,MAAM,KAAK,GAAG,aAAa,CAAC,KAA5B;AACA,OAAK,CAAC,QAAN,GAAiB,UAAjB;AACA,OAAK,CAAC,GAAN,GAAY,GAAZ;AACA,OAAK,CAAC,IAAN,GAAa,GAAb;AACA,OAAK,CAAC,aAAD,CAAL,GAAuB,WAAvB;AAEA,MAAI,aAAJ;AACA,MAAI,YAAY,GAAG,KAAnB;;AAjD4C,sLAkDtB,aAlDsB;AAAA;;AAAA;AAkD5C,2DAAqC;AAAhC,mBAAgC;AACnC,UAAI,YAAY,GAAG,kBAAkB,CAAC,aAAD,CAArC;;AAEA,UAAI,eAAe,CAAC,gBAAhB,CAAiC,WAAjC,EAA8C,aAA9C,EAA6D,aAA7D,EAA4E,YAA5E,CAAJ,EAA+F;AAC7F,oBAAY,GAAG,IAAf;AACA;AACD,OANkC,CAOvC;;;AAEI,UAAI,SAAJ,EAAe;AACb,oBAAY,CAAC,OAAb,CAAqB,UAAC,SAAD,EAAU;AAAO,mBAAS,CAAC,MAAV,CAAiB,SAAjB;AAA8B,SAApE;AACD;AACF;AA9D2C;AAAA;AAAA;AAAA;AAAA;;AAgE5C,MAAI,CAAC,YAAL,EAAmB;AACrB;AACI,iBAAa,GAAG,aAAa,CAAC,CAAD,CAA7B;AACA,sBAAkB,CAAC,aAAD,CAAlB;AACA,mBAAe,CAAC,gBAAhB,CAAiC,WAAjC,EAA8C,aAA9C,EAA6D,aAA7D,EAA4E,YAA5E;AACD;;AAED,SAAO,aAAP;AACD;;AAED,SCtPgB,uCDsPhB,GCtPuD;AACrD,SAAO,IAAI,yBAAJ,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAsB,sBAAtB;AAAA;AAAA;;;;AAgBC,C;;AACD;AAAA;AAAA;AAAA;AAAA;;AACA,IAlB4C,yBAD3C;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAqBC,eAAM,KAAN,EAAmB;AArB+D,UAAE,KAAF,EAsBrE;AACT,YANL,SAMoB,GAAG,KAAK,CAAC,IAAN,GAAa,KAAb,CAAmB,GAAnB,CAAlB;;AACA,YAAI,SAAS,CAAC,MAAV,KAAqB,CAArB,IAA0B,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAtC,EAAsD;AACpD,iBAAO;AAAC,gBAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgC,iBAAK,EAAE,IAAvC;AAA6C,eAAG,EAAE;AAAlD,WAAP;AACD,SAFD,MAEO,IAAI,SAAS,CAAC,MAAV,KAAqB,CAArB,IAA0B,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAlC,IAAoD,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhE,EAAgF;AACrF,iBAAO;AAAC,gBAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgC,iBAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhD;AAAgE,eAAG,EAAE;AAArE,WAAP;AACD,SAFM,MAEA,IAAI,SAAS,CAAC,MAAV,KAAqB,CAArB,IAA0B,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAAlC,IAAoD,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAA5D,IAA8E,QAAQ,CAAC,SAAS,CAAC,CAAD,CAAV,CAA1F,EAA0G;AAC/G,iBAAO;AAAC,gBAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhB;AAAgC,iBAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV,CAAhD;AAAgE,eAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAD,CAAV;AAA9E,WAAP;AACD;AACF;;AACD,aAAO,IAAP;AACD;AAjCF;AAAA;AAAA,WAmCC,gBAAO,IAAP,EAA0B;AACxB,aAAO,IAAI,aACJ,IAAI,CAAC,IADD,cACS,QAAQ,CAAC,IAAI,CAAC,KAAN,CAAR,GAAuB,SAAS,CAAC,IAAI,CAAC,KAAN,CAAhC,GAA+C,EADxD,cAC8D,QAAQ,CAAC,IAAI,CAAC,GAAN,CAAR,GAAqB,SAAS,CAAC,IAAI,CAAC,GAAN,CAA9B,GAA2C,EADzG,IAEP,EAFJ;AAGD;AAvCF;;AAAA;AAAA,EAA8B,sBAA9B,CAmBD;;AACa,yBAAyB,KAAzB,GAAyB,SADrC,iCACqC,CAAzB,CAAyB,EAAzB;AAAA,SAoBZ,sEApBY;AAoBZ,CApBY;;;;;;AAqBb;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,wBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAgB;AACd,wBAA4C,IAA5C;AAGA,wBAA4B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAA5B;AACA,2BAA4C,IAA5C;AALF;AAMC;;AAND;AAAA,EAA8C,mBAA9C;;;;AAMC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACgBA,IDvBqC,+BCuBF,GAAG;AACpC,SDzBU,EAAC,iECwByB;ADvBzB,aCyBA,EAAE,iEAAU,CDzBY;AAAA,WCyBL,kBDzBK;AAAA,GCyBZ,CAFa;AAGpC,OAAK,EAAE;AAH6B,CAAtC;AAMA,IAAM,wBAAwB,GAAG;AAC/B,SAAO,EAAE,6DADsB;AAE/B,aAAW,EAAE,iEAAU,CAAC;AAAA,WAAM,kBAAN;AAAA,GAAD,CAFQ;AAG/B,OAAK,EAAE;AAHwB,CAAjC;AAMA;AACA;AACA;AACA;AACA;;AAgBA,IAAa,kBAAb;AA2ME,8BACY,gBADZ,EAC8D,MAD9D,EAEY,MAFZ,EAE8C,SAF9C,EAE4E,IAF5E,EAGY,OAHZ,EAGqC,SAHrC,EAGqE,YAHrE,EAI8B,SAJ9B,EAIsD,eAJtD,EAKI,MALJ,EAKoC;AAAA;;AAAA;;AAJxB;AAAkD;AAClD;AAAkC;AAA8B;AAChE;AAAyB;AAAgC;AACvC;AAAwB;AA7M9C,iBAAqC,IAArC;AACA,qBAAY,KAAZ;AACA,wBAAe,IAAf;AACV;AAAY;AAEoB;AAG9B;AAAqE;AAAW;AAAwB;;AAgK9F,sBAAa,IAAI,2DAAJ,EAAb;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,oBAAW,IAAI,2DAAJ,EAAX;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,kBAAS,IAAI,2DAAJ,EAAT;;AAcF,qBAAY,UAAC,CAAD,EAAO,CAAO,CAA1B;;AACA,sBAAa,aAAQ,CAArB;;AACA,4BAAmB,aAAQ,CAA3B;;AASN,KAAC,WAAD,EAAc,WAAd,EAA2B,gBAA3B,EAA6C,WAA7C,EAA0D,OAA1D,CAAkE,eAAK;AAAA,aAAI,OAAI,CAAC,KAAD,CAAJ,GAAc,MAAM,CAAC,KAAD,CAAxB;AAAA,KAAvE;AACA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAAA,aAAM,OAAI,CAAC,oBAAL,EAAN;AAAA,KAA3B,CAAzB;AACD;;AAnNH;AAAA;AAAA,SA2LE,eAAY;AACV,aAAO,KAAK,SAAZ;AACD,KA7LH;AAAA,SA8LE,aAAa,KAAb,EAAuB;AACrB,WAAK,SAAL,GAAiB,KAAK,KAAK,EAAV,IAAiB,KAAK,IAAI,KAAK,KAAK,OAArD;;AAEA,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL,CAAW,QAAX,CAAoB,gBAApB,CAAqC,KAAK,SAA1C;AACD;AACF;AApMH;AAAA;AAAA,WAqNE,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;AArN1E;AAAA;AAAA,WAuNE,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,UAAL,GAAkB,EAAlB;AAAuB;AAvNlE;AAAA;AAAA,WAyNE,mCAA0B,EAA1B,EAAwC;AAAU,WAAK,gBAAL,GAAwB,EAAxB;AAA6B;AAzNjF;AAAA;AAAA,WA2NE,0BAAiB,UAAjB,EAAoC;AAAU,WAAK,QAAL,GAAgB,UAAhB;AAA6B;AA3N7E;AAAA;AAAA,WA6NE,kBAAS,CAAT,EAA2B;AACzB,UAAO,KAAP,GAAgB,CAAhB,CAAO,KAAP;;AAEA,UAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAK,SAAhC,EAA2C;AACzC,eAAO,IAAP;AACD;;AAED,UAAM,OAAO,GAAG,KAAK,eAAL,CAAqB,KAAK,YAAL,CAAkB,SAAlB,CAA4B,KAA5B,CAArB,CAAhB;;AAEA,UAAI,CAAC,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,CAAL,EAAsC;AACpC,eAAO;AAAC,qBAAW;AAAC,mBAAO,EAAE;AAAV;AAAZ,SAAP;AACD;;AAED,UAAI,KAAK,OAAL,IAAgB,OAAO,CAAC,MAAR,CAAe,OAAO,CAAC,IAAR,CAAa,KAAK,OAAlB,CAAf,CAApB,EAAgE;AAC9D,eAAO;AAAC,qBAAW;AAAC,mBAAO,EAAE;AAAC,qBAAO,EAAE,KAAK,OAAf;AAAwB,oBAAM,EAAE;AAAhC;AAAV;AAAZ,SAAP;AACD;;AAED,UAAI,KAAK,OAAL,IAAgB,OAAO,CAAC,KAAR,CAAc,OAAO,CAAC,IAAR,CAAa,KAAK,OAAlB,CAAd,CAApB,EAA+D;AAC7D,eAAO;AAAC,qBAAW;AAAC,mBAAO,EAAE;AAAC,qBAAO,EAAE,KAAK,OAAf;AAAwB,oBAAM,EAAE;AAAhC;AAAV;AAAZ,SAAP;AACD;AACF;AAjPH;AAAA;AAAA,WAmPE,oBAAW,KAAX,EAAgB;AACd,WAAK,MAAL,GAAc,KAAK,eAAL,CAAqB,KAAK,YAAL,CAAkB,SAAlB,CAA4B,KAA5B,CAArB,CAAd;;AACA,WAAK,gBAAL,CAAsB,KAAK,MAA3B;AACD;AAtPH;AAAA;AAAA,WAwPE,0BAAiB,KAAjB,EAAkD;AAAA,UAAlB,UAAkB,uEAAL,KAAK;AAChD,UAAM,iBAAiB,GAAG,KAAK,KAAK,KAAK,WAAzC;;AACA,UAAI,iBAAJ,EAAuB;AACrB,aAAK,WAAL,GAAmB,KAAnB;AACA,aAAK,MAAL,GAAc,KAAK,eAAL,CAAqB,KAAK,gBAAL,CAAsB,KAAtB,CAA4B,KAA5B,CAArB,CAAd;AACD;;AACD,UAAI,iBAAiB,IAAI,CAAC,UAA1B,EAAsC;AACpC,aAAK,SAAL,CAAe,KAAK,MAAL,GAAc,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAAK,MAA/B,CAAd,GAAwD,KAAK,KAAK,EAAV,GAAe,IAAf,GAAsB,KAA7F;AACD;;AACD,UAAI,UAAU,IAAI,KAAK,MAAvB,EAA+B;AAC7B,aAAK,gBAAL,CAAsB,KAAK,MAA3B;AACD;AACF;AApQH;AAAA;AAAA,WAsQE,kBAAM;AAAK,aAAO,CAAC,CAAC,KAAK,KAAd;AAAsB;AACnC;AAEC;AACE;AACE;AAEJ;;AA7QD;AAAA;AAAA,WA6QE,gBAAI;AAAA;;AACF,UAAI,CAAC,KAAK,MAAL,EAAL,EAAoB;AAClB,YAAM,EAAE,GAAG,KAAK,IAAL,CAAU,uBAAV,CAAkC,aAAlC,CAAX;;AACA,aAAK,KAAL,GAAa,KAAK,MAAL,CAAY,eAAZ,CAA4B,EAA5B,CAAb;;AAEA,aAAK,kBAAL,CAAwB,KAAK,KAAL,CAAW,QAAX,CAAoB,aAA5C;;AACA,aAAK,sBAAL,CAA4B,KAAK,KAAL,CAAW,QAAvC;;AACA,aAAK,8BAAL,CAAoC,KAAK,KAAL,CAAW,QAA/C;;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,QAApB;;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,UAApB,CAA+B,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAAK,MAA/B,CAA/B,EARkB,CASxB;;;AAEM,aAAK,KAAL,CAAW,QAAX,CAAoB,gBAApB,CAAqC,UAAC,YAAD,EAAa;AAChD,iBAAI,CAAC,UAAL,CAAgB,YAAhB;;AACA,iBAAI,CAAC,SAAL,CAAe,YAAf;;AACA,iBAAI,CAAC,UAAL;AACD,SAJD;;AAMA,aAAK,KAAL,CAAW,iBAAX,CAA6B,aAA7B;;AAEA,aAAK,KAAL,CAAW,QAAX,CAAoB,gBAApB,CAAqC,KAAK,QAA1C;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,gBAAM,CAAC,QAAP,CAAgB,aAAhB,CAA8B,KAAK,SAAnC,EAA8C,WAA9C,CAA0D,KAAK,KAAL,CAAW,QAAX,CAAoB,aAA9E;AACD,SAvBiB,CAwBxB;;;AAEM,aAAK,YAAL,GAAoB,KAAK,SAAL,CAAe,aAAnC;AACA,oBAAY,CAAC,KAAK,OAAN,EAAe,KAAK,KAAL,CAAW,QAAX,CAAoB,aAAnC,EAAkD,KAAK,MAAvD,EAA+D,IAA/D,CAAZ;;AACA,aAAK,KAAL,CAAW,QAAX,CAAoB,KAApB;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,iBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,SADtC,EAC0D,KAAK,MAD/D,EACuE,EADvE,EAER,CAAC,KAAK,MAAL,CAAY,aAAb,EAA4B,KAAK,KAAL,CAAW,QAAX,CAAoB,aAAhD,CAFQ,CAAZ;AAGD;AACF;AACH;AAEC;AACE;;AApTH;AAAA;AAAA,WAqTE,iBAAK;AACH,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,MAAL,CAAY,MAAZ,CAAmB,KAAK,MAAL,CAAY,OAAZ,CAAoB,KAAK,KAAL,CAAW,QAA/B,CAAnB;;AACA,aAAK,KAAL,GAAa,IAAb;AACA,aAAK,MAAL,CAAY,IAAZ;;AACA,aAAK,eAAL,CAAqB,YAArB,GAJiB,CAKvB;;;AAEM,YAAI,cAAc,GAAG,KAAK,YAA1B;;AACA,YAAI,QAAQ,CAAC,KAAK,YAAN,CAAZ,EAAiC;AAC/B,wBAAc,GAAG,KAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,YAAlC,CAAjB;AACD,SAFD,MAEO,IAAI,KAAK,YAAL,KAAsB,SAA1B,EAAqC;AAC1C,wBAAc,GAAG,KAAK,YAAtB;AACD,SAZgB,CAavB;;;AAEM,YAAI,cAAc,IAAI,cAAc,CAAC,OAAD,CAApC,EAA+C;AAC7C,wBAAc,CAAC,KAAf;AACD,SAFD,MAEO;AACL,eAAK,SAAL,CAAe,IAAf,CAAoB,KAApB;AACD;AACF;AACF;AACH;AAEC;AACE;;AA/UH;AAAA;AAAA,WAgVE,kBAAM;AACJ,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;AAhWP;AAAA;AAAA,WAgWE,oBAAW,IAAX,EAA6D;AAC3D,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL,CAAW,QAAX,CAAoB,UAApB,CAA+B,IAA/B;AACD;AACF;AApWH;AAAA;AAAA,WAsWE,kBAAM;AAAK,WAAK,UAAL;AAAoB;AAtWjC;AAAA;AAAA,WAwWE,mBAAO;AAAK,WAAK,YAAL,GAAoB,KAAK,MAAL,CAAY,aAAhC;AAAgD;AAxW9D;AAAA;AAAA,WA0WE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,OAAO,CAAC,SAAD,CAAP,IAAsB,OAAO,CAAC,SAAD,CAAjC,EAA8C;AAC5C,aAAK,gBAAL;;AAEA,YAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,cAAI,OAAO,CAAC,SAAD,CAAX,EAAwB;AACtB,iBAAK,KAAL,CAAW,QAAX,CAAoB,OAApB,GAA8B,KAAK,YAAL,CAAkB,OAAlB,CAA0B,OAAO,CAAC,OAAR,CAAgB,YAA1C,CAA9B;AACD;;AACD,cAAI,OAAO,CAAC,SAAD,CAAX,EAAwB;AACtB,iBAAK,KAAL,CAAW,QAAX,CAAoB,OAApB,GAA8B,KAAK,YAAL,CAAkB,OAAlB,CAA0B,OAAO,CAAC,OAAR,CAAgB,YAA1C,CAA9B;AACD;;AACD,eAAK,KAAL,CAAW,QAAX,CAAoB,WAApB,CAAgC,OAAhC;AACD;AACF;AACF;AAxXH;AAAA;AAAA,WA0XE,uBAAW;AACT,WAAK,KAAL;;AACA,WAAK,iBAAL,CAAuB,WAAvB;AACD;AA7XH;AAAA;AAAA,WA+XU,gCAAuB,kBAAvB,EAAwD;AAAA;;AAC9D,OAAC,aAAD,EAAgB,iBAAhB,EAAmC,eAAnC,EAAoD,gBAApD,EAAsE,gBAAtE,EAAwF,cAAxF,EAAwG,SAAxG,EACC,SADD,EACY,YADZ,EAC0B,aAD1B,EACyC,gBADzC,EAC2D,cAD3D,EAC2E,iBAD3E,EAEK,OAFL,CAEa,UAAC,UAAD,EAAmB;AAC1B,YAAI,OAAI,CAAC,UAAD,CAAJ,KAAqB,SAAzB,EAAoC;AAClC,4BAAkB,CAAC,UAAD,CAAlB,GAAiC,OAAI,CAAC,UAAD,CAArC;AACD;AACF,OANL;AAOA,wBAAkB,CAAC,SAAnB,GAA+B,KAAK,SAAL,IAAkB,KAAK,MAAtD;AACD;AAxYH;AAAA;AAAA,WA0YU,4BAAmB,aAAnB,EAAqC;AAC3C,WAAK,SAAL,CAAe,QAAf,CAAwB,aAAxB,EAAuC,eAAvC;;AACA,WAAK,SAAL,CAAe,QAAf,CAAwB,aAAxB,EAAuC,MAAvC;;AAEA,UAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,aAAK,SAAL,CAAe,QAAf,CAAwB,aAAxB,EAAuC,aAAvC;AACD;AACF;AAjZH;AAAA;AAAA,WAmZU,wCAA+B,kBAA/B,EAAgE;AAAA;;AACtE,wBAAkB,CAAC,QAAnB,CAA4B,SAA5B,CAAsC,uBAAa;AAAA,eAAI,OAAI,CAAC,QAAL,CAAc,IAAd,CAAmB,aAAnB,CAAJ;AAAA,OAAnD;AACA,wBAAkB,CAAC,UAAnB,CAA8B,SAA9B,CAAwC,cAAI;AAC1C,eAAI,CAAC,UAAL,CAAgB,IAAhB,CAAqB,IAArB;;AACA,YAAI,OAAI,CAAC,SAAL,KAAmB,IAAnB,IAA2B,OAAI,CAAC,SAAL,KAAmB,QAAlD,EAA4D;AAC1D,iBAAI,CAAC,KAAL;AACD;AACF,OALD;AAMD;AA3ZH;AAAA;AAAA,WA6ZU,0BAAiB,KAAjB,EAA+B;AACrC,UAAM,KAAK,GAAG,KAAK,gBAAL,CAAsB,MAAtB,CAA6B,KAA7B,CAAd;;AACA,WAAK,WAAL,GAAmB,KAAnB;;AACA,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,MAAL,CAAY,aAAvC,EAAsD,OAAtD,EAA+D,KAA/D;;AACA,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL,CAAW,QAAX,CAAoB,UAApB,CAA+B,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAA1B,CAA/B;;AACA,aAAK,UAAL;AACD;AACF;AAraH;AAAA;AAAA,WAuaU,yBAAgB,IAAhB,EAAmC;AACzC,UAAM,OAAO,GAAG,IAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAH,GAAkD,IAAtE;AACA,aAAO,KAAK,SAAL,CAAe,OAAf,CAAuB,OAAvB,IAAkC,OAAlC,GAA4C,IAAnD;AACD;AA1aH;AAAA;AAAA,WA4aU,gCAAoB;AAC1B,UAAI,CAAC,KAAK,KAAV,EAAiB;AACf;AACD;;AAED,UAAI,WAAJ;;AACA,UAAI,QAAQ,CAAC,KAAK,cAAN,CAAZ,EAAmC;AACjC,mBAAW,GAAG,KAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,cAAlC,CAAd;AACD,OAFD,MAEO,IAAI,KAAK,cAAL,YAA+B,WAAnC,EAAgD;AACrD,mBAAW,GAAG,KAAK,cAAnB;AACD,OAFM,MAEA;AACL,mBAAW,GAAG,KAAK,MAAL,CAAY,aAA1B;AACD;;AAED,UAAI,KAAK,cAAL,IAAuB,CAAC,WAA5B,EAAyC;AACvC,cAAM,IAAI,KAAJ,CAAU,wFAAV,CAAN;AACD;;AAED,sBAAgB,CAAC,WAAD,EAAc,KAAK,KAAL,CAAW,QAAX,CAAoB,aAAlC,EAAiD,KAAK,SAAtD,EAAiE,KAAK,SAAL,KAAmB,MAApF,CAAhB;AACD;AA/bH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAicA;AAAA,UAA4C;AAAA,UArPZ;AAqPY,GAA5C,EArP0D;AAAA,UAAc,yDAAU;AAAxB,GAqP1D,EArPsF;AAAA,UAChE,+DAAgB;AADgD,GAqPtF,EApP0C;AAAA,UAAiB,wDAAS;AAA1B,GAoP1C,EApPwE;AAAA,UAAY,uEAAwB;AAApC,GAoPxE,EAnPE;AAAA,UAAqB,qDAAM;AAA3B,GAmPF,EAnPiC;AAAA,UAAiB;AAAjB,GAmPjC,EAnPiE;AAAA,UAAoB;AAApB,GAmPjE,EAnPuG;AAAA;AAAA;AAAA,YAChG,qDADgG;AAC1F,aAAC,yDAAD;AAD0F;AAAA,GAmPvG,EAlP+B;AAAA,UAA0C,gEAAiB;AAA3D,GAkP/B,EAjPE;AAAA,UAAY;AAAZ,GAiPF;AAAA;;AA9aW,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAWA,0DAAR,4DAAK,EAAG;;AAeA,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AASC,0DAAT,6DAAM,EAAG;;AAOA,0DAAT,6DAAM,EAAG;;AAOA,0DAAT,6DAAM,EAAG;;AAGV,0DADC,4DAAK,EACN,GAAF,4BAAE,EAAF,UAAE,EAAF,IAAE;;AA3LW,kBAAkB,4DAA3B,CAfH,yDAAS,6DA8NG,CA7NX,yDA6NW,CA9NZ,CAeG,CAA2B,EAdnB,kBAcmB,CAAlB;;AAdqB,IAChC,oBAAyB;AAEvB,gCAAS,IAAT,EAAW;AAAA;;AChCM;AAA2B;;AD8BrB;AAAA;AAAA,WAE2B,mBC9B7C;AD+BL,aC/BiB,CAAC,KD+BN,QC/BK,KAAmB,KAAK,IAAL,CAAU,KAAV,KAAoB,KD+BC,YC/BrB,IAAyC,KDgC7E,QChCiB,CD+BjB;AC/B8F;AD4BvE;;AAAA;AAAA,GADO;;AAKR,4BACtB,SAAU,4BAAV,CACA,CADA,EACY;AAAE,cAAU,yBAAV,EAEP,iEACPC,iBADO,CAFO;AAGe,CALP;;qBAKiC,I,GAAA,iEAC7C;AAAA;AAAkC,2CAC7C,EAD6C,EAAlC;AAEZ,6BAFY;AAEZ,cAFY;AAEZ;AAAA;;;GAFY;;;;;;;GAAA;aAAA;UAAA;SAAA;;;;;;;;;GAAA;6KAAA;kBAAA;mBCrCb;ADqCa,CAD6C,C;;ACnC3D;AAAA,UAA8C;AAAA,UAJnB;AAImB,GAA9C;AAAA;;AAVW,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AAMT,IAX+B,6BAfhC;ACkDC,yCDjDkC,ICiDlC,EDhDA,SCgDA,EAAwE;AAAA;;ADhDzD,SAAE,IAAF,GCgDI,IDhDJ;AAA0B,qBCgDW,SDhDX;ACwC/B,SDvCsB,MCuCtB,GAAS,IDrCnB,2DCqCmB,EAAT;AAKF,SDzCN,MCyCM,GAAS,CAAC,CAAV;AACA,iBAAQ,CAAC,CAAT;AAEoE;;ADlD7E;AAAA;AAAA,WAOuB,qBC6CV,KD7CU,EAAY;AC6CL,WAAK,MAAL,CAAY,IAAZ,CAAiB,IAAI,OAAJ,CD5CxB,KC4CyC,ID5CzC,CAAY,IC4CY,EAA4B,SAAS,CD3CjF,KC2CiF,CAArC,EAA8C,CAA9C,CAAjB;AAAqE;ADpDnG;AAAA;AAAA,WASuB,oBC6CX,ID7CW,EAAa;AC6CR,WAAK,MAAL,CAAY,IAAZ,CAAiB,IAAI,OAAJ,CD5CvB,SC4C4C,CD5CjC,IC4CiC,CAArB,EAA6B,KAAK,IAAL,CAAU,KAAvC,EAA8C,CAA9C,CAAjB;AAAqE;ADtDjG;AAAA;AAAA,WAW8B,8BAC5B;AC6CC,UD5CM,KC4CG,IAAT,EAAe;AACb,YAAI,KD7CmC,IC6CnC,CAAU,KAAV,KAAoB,KAAK,MAA7B,EAAqC;AACnC,eAAK,MAAL,GAAc,KAAK,IAAL,CAAU,KAAxB;;AACA,eAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,KAAK,MAAzE;AACD;;AACD,YAAI,KAAK,IAAL,CDrCT,ICqCS,KAAmB,KAAK,KAA5B,EAAmC;AACjC,eAAK,KAAL,GAAa,KAAK,IAAL,CAAU,IAAvB;;AACA,eAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,UAAL,CAAgB,aAA3C,EAA0D,OAA1D,EAAmE,KAAK,KAAxE;AACD;AACF;AACF;ADnEF;;AAAA;AAAA,GA0BC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBC0CD;;;AACD;AAAA,UAAuD;AAAA,UAnB5B;AAmB4B,GAAvD,EAnBgD;AAAA,UAAiB,wDAAS;AAA1B,GAmBhD;AAAA;;AAhCW,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AAEC,0DAAT,6DAAM,EAAG;;AAE4C,0DAArD,gEAAS,CAAC,OAAD,EAAU;AAAC,QAAM,EAAE,IAAT;AAAe,MAAI,EAAE,yDAAU;AAA/B,CAAV,CAA4C;;AACD,0DAApD,gEAAS,CAAC,MAAD,EAAS;AAAC,QAAM,EAAE,IAAT;AAAe,MAAI,EAAE,yDAAU;AAA/B,CAAT,CAA2C;;AAwBrD,ICnEoB,gBDUrB;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACS,0BCQM;AAAK,aAAO,CAAP;AAAW;ADT/B;AAAA;AAAA,WAC6C,qBCUnC;ADTT,aCSqB,CAAC,CAAD,EAAI,CAAJ,EDTN,CCSM,EDTJ,CCSI,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EDTmB,ECSnB,EDT0B,ECS1B,CDTrB;ACS+D;ADXhE;AAAA;AAAA,WAGC,4BAAe;ACUM,aAAO,CAAP;AAAW;ADbjC;AAAA;AAAA,WAGsC,iBCY7B,IDZ6B,ECYqB;AAAA,UDVlD,MCUkD,uEDVhD,GCUgD;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAP;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,cAAI,GAAG,KAAK,QAAL,CAAc,IAAd,EAAoB,IAAI,CAAC,IAAL,GAAY,MAAhC,CAAP;AACA,cAAI,CAAC,KAAL,GAAa,CAAb;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,cAAI,GAAG,KAAK,SAAL,CAAe,IAAf,EAAqB,IAAI,CAAC,KAAL,GAAa,MAAlC,CAAP;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,iBAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,IAAI,CAAC,GAAL,GAAW,MAA9B,CAAP;;AACF;AACE,iBAAO,IAAP;AAbJ;AAeD;ADjCF;AAAA;AAAA,WCmCC,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;ADnC5G;AAAA;AAAA,WCqCC,oBAAW,IAAX,EAAwB;AACtB,UAAM,GAAG,GAAG,KAAK,WAAL,CAAiB,IAAjB,EAAuB,MAAvB,EAAZ,CADsB,CAE1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;ADzCF;AAAA;AAAA,WAsBE,uBCqBa,IDrBb,ECqBuC,cDrBvC,ECqB6D;AAChE;AACI,UAAI,cAAc,KAAK,CAAvB,EAA0B;AACxB,sBAAc,GAAG,CAAjB;AACD;;AAED,UAAM,aAAa,GAAG,CAAC,IAAI,CAAJ,GAAQ,cAAT,IAA2B,CAAjD;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,aAAD,CAAjB;AAEA,UAAM,MAAM,GAAG,KAAK,WAAL,CAAiB,IAAjB,CAAf;AD7BH,YC8BS,CD7BG,OADZ,CC8BkB,MAAM,CAAC,OAAP,KD7BuB,CC6BvB,IAAwB,MAAM,CAAC,MAAP,MAAmB,CAA3C,CD9BlB,ECoB+D,CAUE;;AAC9D,UAAM,IAAI,GAAG,MAAM,CAAC,OAAP,EAAb;AACA,UAAM,OAAO,GAAG,KAAK,WAAL,CAAiB,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,CAAvB,EAA0B,CAA1B,CAAjB,CAAhB,CAZ4D,CAYG;;AAC/D,aAAO,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,OAAO,CAAC,OAAR,EAAR,IAA6B,QAAxC,IAAoD,CAA/D,IAAoE,CAA3E;AACD;ADzDF;AAAA;AAAA,WC2DC,oBAAQ;AAAc,aAAO,KAAK,aAAL,CAAmB,IAAI,IAAJ,EAAnB,CAAP;AAAwC;AD3D/D;AAAA;AAAA,WC8DC,iBAAQ,IAAR,EAAqB;AACnB,aAAO,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAN,CAAhB,IAA+B,QAAQ,CAAC,IAAI,CAAC,KAAN,CAAvC,IAAuD,QAAQ,CAAC,IAAI,CAAC,GAAN,CAA/D,IACH,CAAC,KAAK,CAAC,KAAK,WAAL,CAAiB,IAAjB,EAAuB,OAAvB,EAAD,CADV;AAED;ADjEF;AAAA;AAAA,WCmES,iBAAQ,IAAR,EAAuB,GAAvB,EAAkC;AACxC,SAAG,GAAG,CAAC,GAAP;AACA,UAAI,KAAK,GAAG,KAAK,eAAL,CAAqB,IAAI,CAAC,KAA1B,EAAiC,IAAI,CAAC,IAAtC,CAAZ;;AACA,UAAI,GAAG,IAAI,CAAX,EAAc;AACZ,eAAO,GAAG,IAAI,CAAd,EAAiB;AACf,cAAI,GAAG,KAAK,SAAL,CAAe,IAAf,EAAqB,IAAI,CAAC,KAAL,GAAa,CAAlC,CAAP;AACA,eAAK,GAAG,KAAK,eAAL,CAAqB,IAAI,CAAC,KAA1B,EAAiC,IAAI,CAAC,IAAtC,CAAR;AACA,aAAG,IAAI,KAAP;AACD;AACF,OAND,MAMO,IAAI,GAAG,GAAG,KAAV,EAAiB;AACtB,eAAO,GAAG,GAAG,KAAb,EAAoB;AAClB,aAAG,IAAI,KAAP;AACA,cAAI,GAAG,KAAK,SAAL,CAAe,IAAf,EAAqB,IAAI,CAAC,KAAL,GAAa,CAAlC,CAAP;AACA,eAAK,GAAG,KAAK,eAAL,CAAqB,IAAI,CAAC,KAA1B,EAAiC,IAAI,CAAC,IAAtC,CAAR;AACD;AACF;;AACD,UAAI,CAAC,GAAL,GAAW,GAAX;AACA,aAAO,IAAP;AACD;ADrFF;AAAA;AAAA,WCuFS,mBAAU,IAAV,EAAyB,KAAzB,EAAsC;AAC5C,WAAK,GAAG,CAAC,KAAT;AACA,UAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,EAAzB,CAAxB;AACA,UAAI,CAAC,KAAL,GAAa,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,EAAd,GAAmB,EAApB,IAA0B,EAArC,IAA2C,CAAxD;AACA,aAAO,IAAP;AACD;AD5FF;AAAA;AAAA,WC8FS,kBAAS,IAAT,EAAwB,IAAxB,EAAoC;AAC1C,UAAI,CAAC,IAAL,GAAY,CAAC,IAAb;AACA,aAAO,IAAP;AACD;ADjGF;;AAAA;AAAA,EAAS,WAAT,CAyDC;;ACnEoB,gBAAgB,KAAhB,GAAgB,SADrC,wBACqC,CAAhB,CAAgB,EAAhB;AAAA,SA4GrB,oDA5GqB;AA4GrB,CA5GqB;;;;;;AA6GtB;;AC/GA;AACA;AACA;;AACA,SAAS,iBAAT,CAA2B,KAA3B,EAAwC;AACtC,SAAO,CAAC,KAAK,KAAK,KAAX,IAAoB,EAApB,GAAyB,EAAhC;AACD;AAED;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,KAA7B,EAAwC;AACtC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAN,EAAb;AACA,SAAO,IAAI,GAAG,CAAP,KAAa,CAAb,IAAkB,IAAI,GAAG,GAAP,KAAe,CAAjC,IAAsC,IAAI,GAAG,GAAP,KAAe,CAA5D;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS,oBAAT,CAA8B,KAA9B,EAA6C,MAA7C,EAA2D;AACzD,SAAO,IAAI,CAAC,IAAL,CAAU,OAAO,MAAjB,IAA2B,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzC,GAA+C,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,KAAK,KAAV,IAAmB,IAA9B,CAAtD;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,IAA7B,EAAyC;AACvC,SAAO,CAAC,IAAI,GAAG,CAAR,IAAa,GAAb,GAAmB,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,KAAK,IAAV,IAAkB,IAA7B,CAA1B;AACD;;AAED,SAAS,GAAT,CAAa,CAAb,EAAwB,CAAxB,EAAiC;AAC/B,SAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAf;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAM,eAAe,GAAG,SAAxB;AACA,IAAM,aAAa,GAAG,SAAtB;;AAGA,IAAa,uBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AACA;AACE;AACE;AAEJ;AAAE,2BAAc,KAAd,EAAyB;AACvB,UAAM,KAAK,GAAG,KAAK,CAAC,WAAN,EAAd;AAAA,UAAmC,MAAM,GAAG,KAAK,CAAC,QAAN,EAA5C;AAAA,UAA8D,IAAI,GAAG,KAAK,CAAC,OAAN,EAArE;AAEA,UAAI,SAAS,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAO,KAAK,GAAG,CAAf,CAAtB,GAA0C,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,CAAzB,CAA1C,GACZ,CAAC,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADW,GACqB,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADrB,GAEZ,IAAI,CAAC,KAAL,CACI,CAAC,OAAO,MAAM,GAAG,CAAhB,IAAqB,GAAtB,IAA6B,EAA7B,IAAmC,MAAM,GAAG,CAAT,IAAc,CAAd,GAAkB,CAAlB,GAAsB,mBAAmB,CAAC,KAAD,CAAnB,GAA6B,CAAC,CAA9B,GAAkC,CAAC,CAA5F,IAAiG,IADrG,CAFJ;AAIA,eAAS,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,IAAwB,GAApC;AAEA,UAAM,IAAI,GAAG,SAAS,GAAG,aAAzB;AACA,UAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,IAAL,GAAY,KAAb,IAAsB,OAAjC,CAAd;AACA,UAAI,MAAM,GAAG,IAAI,CAAC,IAAL,CAAU,CAAC,IAAI,GAAG,EAAP,GAAY,mBAAmB,CAAC,KAAD,CAAhC,IAA2C,IAArD,CAAb;AACA,YAAM,GAAG,IAAI,CAAC,GAAL,CAAS,MAAT,EAAiB,EAAjB,CAAT;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,IAAI,GAAG,oBAAoB,CAAC,KAAD,EAAQ,MAAR,CAArC,IAAwD,CAArE;AACA,aAAO,IAAI,OAAJ,CAAY,KAAZ,EAAmB,MAAM,GAAG,CAA5B,EAA+B,IAA/B,CAAP;AACD;AACH;AAEC;AACE;AACE;;AAzBL;AAAA;AAAA,WA0BE,qBAAY,KAAZ,EAA0B;AACxB,UAAM,KAAK,GAAG,KAAK,CAAC,IAApB;AACA,UAAM,MAAM,GAAG,KAAK,CAAC,KAAN,GAAc,CAA7B;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,GAAnB;AACA,UAAM,SAAS,GACX,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,OAAO,MAAjB,CAAP,GAAkC,CAAC,KAAK,GAAG,CAAT,IAAc,GAAhD,GAAsD,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,KAAK,KAAV,IAAmB,EAA9B,CAAtD,GAA0F,aAA1F,GAA0G,CAD9G;AAGA,UAAM,GAAG,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,GAAvB,IAA8B,GAA1C;AAAA,UAA+C,MAAM,GAAG,GAAG,GAAG,eAA9D;AAAA,UACM,UAAU,GAAG,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,MAApB,CADnB;AAAA,UACgD,GAAG,GAAG,GAAG,CAAC,MAAD,EAAS,MAAT,CADzD;AAAA,UAC2E,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,GAAG,GAAG,KAAjB,CADlF;AAAA,UAEM,KAAK,GAAG,GAAG,CAAC,GAAD,EAAM,KAAN,CAFjB;AAAA,UAE+B,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,IAAnB,CAFtC;AAAA,UAEgE,KAAK,GAAG,GAAG,CAAC,KAAD,EAAQ,IAAR,CAF3E;AAAA,UAGM,MAAM,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,GAAnB,CAHf;AAIA,UAAI,IAAI,GAAG,UAAU,GAAG,GAAb,GAAmB,IAAI,GAAG,GAA1B,GAAgC,IAAI,GAAG,CAAvC,GAA2C,MAAtD;;AACA,UAAI,EAAE,IAAI,KAAK,CAAT,IAAc,MAAM,KAAK,CAA3B,CAAJ,EAAmC;AACjC,YAAI;AACL;;AAED,UAAM,UAAU,GAAG,eAAe,GAAG,OAAO,IAAI,GAAG,CAAd,CAAlB,GAAqC,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,CAAxB,CAArC,GAAkE,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CAAlE,GACf,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CADJ;AAGA,UAAM,OAAO,GAAG,GAAG,GAAG,UAAtB;AAEA,UAAM,GAAG,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAO,IAAI,GAAG,CAAd,CAAtB,GAAyC,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,CAAxB,CAAzC,GAAsE,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CAAtE,GACR,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CADQ,GACuB,IAAI,CAAC,KAAL,CAAW,MAAM,EAAN,IAAY,mBAAmB,CAAC,IAAI,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAAD,CAAnB,GAA4C,CAAC,CAA7C,GAAiD,CAAC,CAA9D,IAAmE,CAA9E,CADnC;AAGA,UAAM,OAAO,GAAG,GAAG,GAAG,GAAN,GAAY,CAAZ,GAAgB,mBAAmB,CAAC,IAAI,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,CAAD,CAAnB,GAA4C,CAA5C,GAAgD,CAAhF;AAEA,UAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,OAAO,GAAG,OAAX,IAAsB,EAAtB,GAA2B,GAA5B,IAAmC,GAA9C,CAAd;AACA,UAAM,IAAI,GAAG,eAAe,GAAG,CAAlB,GAAsB,OAAO,IAAI,GAAG,CAAd,CAAtB,GAAyC,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,CAAxB,CAAzC,GAAsE,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CAAtE,GACT,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,CAAR,IAAa,GAAxB,CADS,GAET,IAAI,CAAC,KAAL,CACI,CAAC,MAAM,KAAN,GAAc,GAAf,IAAsB,EAAtB,IAA4B,KAAK,IAAI,CAAT,GAAa,CAAb,GAAiB,mBAAmB,CAAC,IAAI,IAAJ,CAAS,IAAT,EAAe,KAAK,GAAG,CAAvB,EAA0B,CAA1B,CAAD,CAAnB,GAAoD,CAAC,CAArD,GAAyD,CAAC,CAAvG,IACA,CAFJ,CAFJ;AAMA,UAAM,GAAG,GAAG,GAAG,GAAG,IAAN,GAAa,CAAzB;AAEA,aAAO,IAAI,IAAJ,CAAS,IAAT,EAAe,KAAK,GAAG,CAAvB,EAA0B,GAA1B,CAAP;AACD;AACH;AAEC;AACE;AACE;AAEJ;;AArED;AAAA;AAAA,WAqEE,yBAAgB,KAAhB,EAA+B,IAA/B,EAA2C;AACzC,UAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,GAAG,EAAnB,CAAd;AACA,WAAK,GAAI,CAAC,KAAK,GAAG,CAAT,IAAc,EAAf,GAAqB,CAA7B;AACA,UAAI,MAAM,GAAG,KAAK,KAAK,GAAG,CAA1B;;AACA,UAAI,KAAK,KAAK,EAAV,IAAgB,iBAAiB,CAAC,IAAD,CAArC,EAA6C;AAC3C,cAAM;AACP;;AACD,aAAO,MAAP;AACD;AA7EH;;AAAA;AAAA,EAA6C,gBAA7C;;AAAa,uBAAuB,KAAvB,GAAuB,SADnC,+BACmC,CAAvB,CAAuB,EAAvB;AAAA,SA8EZ,kEA9EY;AA8EZ,CA9EY;;;;;;AA+Eb;;AChIA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAM,oBAAoB,GAAG,IAAI,IAAJ,CAAS,IAAT,EAAe,EAAf,EAAmB,EAAnB,CAA7B;AACA,IAAM,mBAAmB,GAAG,IAAI,IAAJ,CAAS,IAAT,EAAe,EAAf,EAAmB,EAAnB,CAA5B;AACA,IAAM,WAAW,GAAG,IAApB;AACA,IAAM,SAAS,GAAG,IAAlB;AACA,IAAM,OAAO,GAAG,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAAjC;AAEA,IAAM,YAAY,GAAG,CACrB;AACE,cAFmB,EAEH,cAFG,EAEa,cAFb,EAE6B,cAF7B,EAE6C,cAF7C,EAGrB;AACE,cAJmB,EAIH,cAJG,EAIa,cAJb,EAI6B,cAJ7B,EAI6C,cAJ7C,EAKrB;AACE,cANmB,EAMH,cANG,EAMa,cANb,EAM6B,cAN7B,EAM6C,cAN7C,EAOrB;AACE,cARmB,EAQH,cARG,EAQa,cARb,EAQ6B,cAR7B,EAQ6C,cAR7C,EASrB;AACE,cAVmB,EAUH,cAVG,EAUa,cAVb,EAU6B,cAV7B,EAU6C,cAV7C,EAWrB;AACE,cAZmB,EAYH,cAZG,EAYa,cAZb,EAY6B,cAZ7B,EAY6C,cAZ7C,EAarB;AACE,cAdmB,EAcH,cAdG,EAca,cAdb,EAc6B,cAd7B,EAc6C,cAd7C,EAerB;AACE,cAhBmB,EAgBH,cAhBG,EAgBa,cAhBb,EAgB6B,cAhB7B,EAgB6C,cAhB7C,EAiBrB;AACE,cAlBmB,EAkBH,cAlBG,EAkBa,cAlBb,EAkB6B,cAlB7B,EAkB6C,cAlB7C,EAmBrB;AACE,cApBmB,EAoBH,cApBG,EAoBa,cApBb,EAoB6B,cApB7B,EAoB6C,cApB7C,EAqBrB;AACE,cAtBmB,EAsBH,cAtBG,EAsBa,cAtBb,EAsB6B,cAtB7B,EAsB6C,cAtB7C,EAuBrB;AACE,cAxBmB,EAwBH,cAxBG,EAwBa,cAxBb,EAwB6B,cAxB7B,EAwB6C,cAxB7C,EAyBrB;AACE,cA1BmB,EA0BH,cA1BG,EA0Ba,cA1Bb,EA0B6B,cA1B7B,EA0B6C,cA1B7C,EA2BrB;AACE,cA5BmB,EA4BH,cA5BG,EA4Ba,cA5Bb,EA4B6B,cA5B7B,EA4B6C,cA5B7C,EA6BrB;AACE,cA9BmB,EA8BH,cA9BG,EA8Ba,cA9Bb,EA8B6B,cA9B7B,EA8B6C,cA9B7C,EA+BrB;AACE,cAhCmB,EAgCH,cAhCG,EAgCa,cAhCb,EAgC6B,cAhC7B,EAgC6C,cAhC7C,EAiCrB;AACE,cAlCmB,EAkCH,cAlCG,EAkCa,cAlCb,EAkC6B,cAlC7B,EAkC6C,cAlC7C,EAmCrB;AACE,cApCmB,EAoCH,cApCG,EAoCa,cApCb,EAoC6B,cApC7B,EAoC6C,cApC7C,EAqCrB;AACE,cAtCmB,EAsCH,cAtCG,EAsCa,cAtCb,EAsC6B,cAtC7B,EAsC6C,cAtC7C,EAuCrB;AACE,cAxCmB,EAwCH,cAxCG,EAwCa,cAxCb,EAwC6B,cAxC7B,EAwC6C,cAxC7C,EAyCrB;AACE,cA1CmB,EA0CH,cA1CG,EA0Ca,cA1Cb,EA0C6B,cA1C7B,EA0C6C,cA1C7C,EA2CrB;AACE,cA5CmB,EA4CH,cA5CG,EA4Ca,cA5Cb,EA4C6B,cA5C7B,EA4C6C,cA5C7C,EA6CrB;AACE,cA9CmB,EA8CH,cA9CG,EA8Ca,cA9Cb,EA8C6B,cA9C7B,EA8C6C,cA9C7C,EA+CrB;AACE,cAhDmB,EAgDH,cAhDG,EAgDa,cAhDb,EAgD6B,cAhD7B,EAgD6C,cAhD7C,EAiDrB;AACE,cAlDmB,EAkDH,cAlDG,EAkDa,cAlDb,EAkD6B,cAlD7B,EAkD6C,cAlD7C,EAmDrB;AACE,cApDmB,EAoDH,cApDG,EAoDa,cApDb,EAoD6B,cApD7B,EAoD6C,cApD7C,EAqDrB;AACE,cAtDmB,EAsDH,cAtDG,EAsDa,cAtDb,EAsD6B,cAtD7B,EAsD6C,cAtD7C,EAuDrB;AACE,cAxDmB,EAwDH,cAxDG,EAwDa,cAxDb,EAwD6B,cAxD7B,EAwD6C,cAxD7C,EAyDrB;AACE,cA1DmB,EA0DH,cA1DG,EA0Da,cA1Db,EA0D6B,cA1D7B,EA0D6C,cA1D7C,EA2DrB;AACE,cA5DmB,EA4DH,cA5DG,EA4Da,cA5Db,EA4D6B,cA5D7B,EA4D6C,cA5D7C,EA6DrB;AACE,cA9DmB,EA8DH,cA9DG,EA8Da,cA9Db,EA8D6B,cA9D7B,EA8D6C,cA9D7C,EA+DrB;AACE,cAhEmB,EAgEH,cAhEG,EAgEa,cAhEb,EAgE6B,cAhE7B,EAgE6C,cAhE7C,EAiErB;AACE,cAlEmB,EAkEH,cAlEG,EAkEa,cAlEb,EAkE6B,cAlE7B,EAkE6C,cAlE7C,EAmErB;AACE,cApEmB,EAoEH,cApEG,EAoEa,cApEb,EAoE6B,cApE7B,EAoE6C,cApE7C,EAqErB;AACE,cAtEmB,EAsEH,cAtEG,EAsEa,cAtEb,EAsE6B,cAtE7B,EAsE6C,cAtE7C,EAuErB;AACE,cAxEmB,EAwEH,cAxEG,EAwEa,cAxEb,EAwE6B,cAxE7B,EAwE6C,cAxE7C,EAyErB;AACE,cA1EmB,EA0EH,cA1EG,EA0Ea,cA1Eb,EA0E6B,cA1E7B,EA0E6C,cA1E7C,EA2ErB;AACE,cA5EmB,EA4EH,cA5EG,EA4Ea,cA5Eb,EA4E6B,cA5E7B,EA4E6C,cA5E7C,EA6ErB;AACE,cA9EmB,EA8EH,cA9EG,EA8Ea,cA9Eb,EA8E6B,cA9E7B,EA8E6C,cA9E7C,EA+ErB;AACE,cAhFmB,EAgFH,cAhFG,EAgFa,cAhFb,EAgF6B,cAhF7B,EAgF6C,cAhF7C,EAiFrB;AACE,cAlFmB,EAkFH,cAlFG,EAkFa,cAlFb,EAkF6B,cAlF7B,EAkF6C,cAlF7C,EAmFrB;AACE,cApFmB,EAoFH,cApFG,EAoFa,cApFb,EAoF6B,cApF7B,EAoF6C,cApF7C,EAqFrB;AACE,cAtFmB,EAsFH,cAtFG,EAsFa,cAtFb,EAsF6B,cAtF7B,EAsF6C,cAtF7C,EAuFrB;AACE,cAxFmB,EAwFH,cAxFG,EAwFa,cAxFb,EAwF6B,cAxF7B,EAwF6C,cAxF7C,EAyFrB;AACE,cA1FmB,EA0FH,cA1FG,EA0Fa,cA1Fb,EA0F6B,cA1F7B,EA0F6C,cA1F7C,EA2FrB;AACE,cA5FmB,EA4FH,cA5FG,EA4Fa,cA5Fb,EA4F6B,cA5F7B,EA4F6C,cA5F7C,EA6FrB;AACE,cA9FmB,EA8FH,cA9FG,EA8Fa,cA9Fb,EA8F6B,cA9F7B,EA8F6C,cA9F7C,EA+FrB;AACE,cAhGmB,EAgGH,cAhGG,EAgGa,cAhGb,EAgG6B,cAhG7B,EAgG6C,cAhG7C,EAiGrB;AACE,cAlGmB,EAkGH,cAlGG,EAkGa,cAlGb,EAkG6B,cAlG7B,EAkG6C,cAlG7C,EAmGrB;AACE,cApGmB,EAoGH,cApGG,EAoGa,cApGb,EAoG6B,cApG7B,EAoG6C,cApG7C,EAqGrB;AACE,cAtGmB,EAsGH,cAtGG,EAsGa,cAtGb,EAsG6B,cAtG7B,EAsG6C,cAtG7C,EAuGrB;AACE,cAxGmB,EAwGH,cAxGG,EAwGa,cAxGb,EAwG6B,cAxG7B,EAwG6C,cAxG7C,EAyGrB;AACE,cA1GmB,EA0GH,cA1GG,EA0Ga,cA1Gb,EA0G6B,cA1G7B,EA0G6C,cA1G7C,EA2GrB;AACE,cA5GmB,EA4GH,cA5GG,EA4Ga,cA5Gb,EA4G6B,cA5G7B,EA4G6C,cA5G7C,EA6GrB;AACE,cA9GmB,EA8GH,cA9GG,EA8Ga,cA9Gb,EA8G6B,cA9G7B,EA8G6C,cA9G7C,EA+GrB;AACE,cAhHmB,EAgHH,cAhHG,EAgHa,cAhHb,EAgH6B,cAhH7B,EAgH6C,cAhH7C,EAiHrB;AACE,cAlHmB,EAkHH,cAlHG,EAkHa,cAlHb,EAkH6B,cAlH7B,EAkH6C,cAlH7C,EAmHrB;AACE,cApHmB,EAoHH,cApHG,EAoHa,cApHb,EAoH6B,cApH7B,EAoH6C,cApH7C,EAqHrB;AACE,cAtHmB,EAsHH,cAtHG,EAsHa,cAtHb,EAsH6B,cAtH7B,EAsH6C,cAtH7C,EAuHrB;AACE,cAxHmB,EAwHH,cAxHG,EAwHa,cAxHb,EAwH6B,cAxH7B,EAwH6C,cAxH7C,EAyHrB;AACE,cA1HmB,CAArB;;AA6HA,SAAS,WAAT,CAAqB,KAArB,EAAkC,KAAlC,EAA6C;AAAI;AAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,WAAN,EAAT,EAA8B,KAAK,CAAC,QAAN,EAA9B,EAAgD,KAAK,CAAC,OAAN,EAAhD,CAAd;AACA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,CAAC,WAAN,EAAT,EAA8B,KAAK,CAAC,QAAN,EAA9B,EAAgD,KAAK,CAAC,OAAN,EAAhD,CAAd;AACA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,KAAK,GAAG,KAAjB,CAAb;AACA,SAAO,IAAI,CAAC,KAAL,CAAW,IAAI,GAAG,OAAlB,CAAP;AACD;;AAGD,IAAa,0BAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AACA;AACE;AACE;AAEH;AAAC,2BAAc,KAAd,EAAyB;AACvB,UAAI,IAAI,GAAG,CAAX;AAAA,UAAc,MAAM,GAAG,CAAvB;AAAA,UAA0B,KAAK,GAAG,IAAlC;AACA,UAAI,QAAQ,GAAG,WAAW,CAAC,KAAD,EAAQ,oBAAR,CAA1B;;AACA,UAAI,KAAK,CAAC,OAAN,KAAkB,oBAAoB,CAAC,OAArB,EAAlB,IAAoD,CAApD,IAAyD,KAAK,CAAC,OAAN,KAAkB,mBAAmB,CAAC,OAApB,EAAlB,IAAmD,CAAhH,EAAmH;AACjH,YAAI,IAAI,GAAG,IAAX;;AACA,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,CAAC,IAAI,IAAI,EAAlD,EAAsD;AACpD,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,EAApB,EAAwB,CAAC,EAAzB,EAA6B;AAC3B,gBAAI,SAAS,GAAG,CAAC,YAAY,CAAC,CAAD,CAAZ,CAAgB,CAAhB,CAAD,GAAsB,EAAtC;;AACA,gBAAI,QAAQ,IAAI,SAAhB,EAA2B;AACzB,kBAAI,GAAG,QAAQ,GAAG,CAAlB;;AACA,kBAAI,IAAI,GAAG,SAAX,EAAsB;AACpB,oBAAI,GAAG,CAAP;AACA,iBAAC;AACF;;AACD,kBAAI,CAAC,GAAG,EAAR,EAAY;AACV,iBAAC,GAAG,CAAJ;AACA,oBAAI;AACL;;AACD,oBAAM,GAAG,CAAT;AACA,mBAAK,GAAG,IAAR;AACA,qBAAO,IAAI,OAAJ,CAAY,KAAZ,EAAmB,MAAM,GAAG,CAA5B,EAA+B,IAA/B,CAAP;AACD;;AACD,oBAAQ,GAAG,QAAQ,GAAG,SAAtB;AACD;AACF;AACF,OAtBD,MAsBO;AACL,6XAA2B,KAA3B;AACD;AACF;AACH;AACE;AACE;;AApCJ;AAAA;AAAA,WAqCE,qBAAY,KAAZ,EAA0B;AACxB,UAAM,KAAK,GAAG,KAAK,CAAC,IAApB;AACA,UAAM,MAAM,GAAG,KAAK,CAAC,KAAN,GAAc,CAA7B;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,GAAnB;AACA,UAAI,KAAK,GAAG,IAAI,IAAJ,CAAS,oBAAT,CAAZ;AACA,UAAI,OAAO,GAAG,IAAI,GAAG,CAArB;;AACA,UAAI,KAAK,IAAI,WAAT,IAAwB,KAAK,IAAI,SAArC,EAAgD;AAC9C,aAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,GAAG,WAA5B,EAAyC,CAAC,EAA1C,EAA8C;AAC5C,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,EAApB,EAAwB,CAAC,EAAzB,EAA6B;AAC3B,mBAAO,IAAI,CAAC,YAAY,CAAC,CAAD,CAAZ,CAAgB,CAAhB,CAAD,GAAsB,EAAjC;AACD;AACF;;AACD,aAAK,IAAI,EAAC,GAAG,CAAb,EAAgB,EAAC,GAAG,MAApB,EAA4B,EAAC,EAA7B,EAAiC;AAC/B,iBAAO,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,WAAT,CAAZ,CAAkC,EAAlC,CAAD,GAAwC,EAAnD;AACD;;AACD,aAAK,CAAC,OAAN,CAAc,oBAAoB,CAAC,OAArB,KAAiC,OAA/C;AACD,OAVD,MAUO;AACL,aAAK,GAAG,4WAAkB,KAArB,CAAL;AACD;;AACD,aAAO,KAAP;AACD;AACH;AACE;AACE;AACE;AAEH;;AA/DH;AAAA;AAAA,WA+DE,yBAAgB,MAAhB,EAAgC,KAAhC,EAA6C;AAC3C,UAAI,KAAK,IAAI,WAAT,IAAwB,KAAK,IAAI,SAArC,EAAgD;AAC9C,YAAM,GAAG,GAAG,KAAK,GAAG,WAApB;AACA,eAAO,CAAC,YAAY,CAAC,GAAD,CAAZ,CAAkB,MAAM,GAAG,CAA3B,CAAD,GAAiC,EAAxC;AACD;;AACD,6XAA6B,MAA7B,EAAqC,KAArC;AACD;AArEH;;AAAA;AAAA,EAAgD,uBAAhD;;AAAa,0BAA0B,KAA1B,GAA0B,SADtC,kCACsC,CAA1B,CAA0B,EAA1B;AAAA,SAsEZ,wEAtEY;AAsEZ,CAtEY;;;;;;AAuEb;;AC5NA;AACA;AACA;AACA;;AACA,SAAgB,WAAhB,CAA4B,UAA5B,EAA+C;AAC7C,MAAI,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,IAAZ,EAAkB,UAAU,CAAC,KAA7B,EAAoC,UAAU,CAAC,GAA/C,CAAxB;AACA,MAAI,IAAI,GAAG,iBAAiB,CAAC,GAAD,CAA5B;AACA,MAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,EAAjB,EAAqB,CAArB,EAAwB,GAAxB;AACA,SAAO,IAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAgB,aAAhB,CAA8B,KAA9B,EAAyC;AACvC,MAAI,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAN,EAAD,EAAsB,KAAK,CAAC,QAAN,KAAmB,CAAzC,EAA4C,KAAK,CAAC,OAAN,EAA5C,CAA3B;AACA,SAAO,cAAc,CAAC,GAAD,CAArB;AACD;;AAED,SAAgB,aAAhB,CAA8B,IAA9B,EAA6C,SAA7C,EAA8D;AAC5D,MAAI,CAAC,IAAL,GAAY,CAAC,SAAb;AACA,SAAO,IAAP;AACD;;AAED,SAAgB,cAAhB,CAA+B,IAA/B,EAA8C,KAA9C,EAA2D;AACzD,OAAK,GAAG,CAAC,KAAT;AACA,MAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,EAAzB,CAAxB;AACA,MAAI,CAAC,KAAL,GAAa,IAAI,CAAC,KAAL,CAAW,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,EAAd,GAAmB,EAApB,IAA0B,EAArC,IAA2C,CAAxD;AACA,SAAO,IAAP;AACD;;AAED,SAAgB,YAAhB,CAA6B,IAA7B,EAA4C,GAA5C,EAAuD;AACrD,MAAI,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAA3B;;AACA,MAAI,GAAG,IAAI,CAAX,EAAc;AACZ,WAAO,GAAG,IAAI,CAAd,EAAiB;AACf,UAAI,GAAG,cAAc,CAAC,IAAD,EAAO,IAAI,CAAC,KAAL,GAAa,CAApB,CAArB;AACA,WAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAAvB;AACA,SAAG,IAAI,KAAP;AACD;AACF,GAND,MAMO,IAAI,GAAG,GAAG,KAAV,EAAiB;AACtB,WAAO,GAAG,GAAG,KAAb,EAAoB;AAClB,SAAG,IAAI,KAAP;AACA,UAAI,GAAG,cAAc,CAAC,IAAD,EAAO,IAAI,CAAC,KAAL,GAAa,CAApB,CAArB;AACA,WAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAAvB;AACD;AACF;;AACD,MAAI,CAAC,GAAL,GAAW,GAAX;AACA,SAAO,IAAP;AACD;;AAED,SAASC,KAAT,CAAa,CAAb,EAAwB,CAAxB,EAAiC;AAC/B,SAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAf;AACD;;AAED,SAAS,GAAT,CAAa,CAAb,EAAwB,CAAxB,EAAiC;AAC/B,SAAO,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,CAAf,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,MAAT,CAAgB,UAAhB,EAAkC;AAClC;AACE,MAAI,MAAM,GACN,CAAC,CAAC,EAAF,EAAM,CAAN,EAAS,EAAT,EAAa,GAAb,EAAkB,GAAlB,EAAuB,GAAvB,EAA4B,GAA5B,EAAiC,GAAjC,EAAsC,IAAtC,EAA4C,IAA5C,EAAkD,IAAlD,EAAwD,IAAxD,EAA8D,IAA9D,EAAoE,IAApE,EAA0E,IAA1E,EAAgF,IAAhF,EAAsF,IAAtF,EAA4F,IAA5F,EAAkG,IAAlG,EAAwG,IAAxG,CADJ;AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,MAA5B;AACA,MAAM,KAAK,GAAG,UAAU,GAAG,GAA3B;AACA,MAAI,KAAK,GAAG,CAAC,EAAb;AACA,MAAI,EAAE,GAAG,MAAM,CAAC,CAAD,CAAf;;AAEA,MAAI,UAAU,GAAG,EAAb,IAAmB,UAAU,IAAI,MAAM,CAAC,YAAY,GAAG,CAAhB,CAA3C,EAA+D;AAC7D,UAAM,IAAI,KAAJ,CAAU,yBAAyB,UAAnC,CAAN;AACD,GAX+B,CAYlC;;;AAEE,MAAI,IAAJ;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAApB,EAAkC,CAAC,IAAI,CAAvC,EAA0C;AACxC,QAAM,EAAE,GAAG,MAAM,CAAC,CAAD,CAAjB;AACA,QAAI,GAAG,EAAE,GAAG,EAAZ;;AACA,QAAI,UAAU,GAAG,EAAjB,EAAqB;AACnB;AACD;;AACD,SAAK,GAAG,KAAK,GAAG,GAAG,CAAC,IAAD,EAAO,EAAP,CAAH,GAAgB,CAAxB,GAA4B,GAAG,CAACA,KAAG,CAAC,IAAD,EAAO,EAAP,CAAJ,EAAgB,CAAhB,CAAvC;AACA,MAAE,GAAG,EAAL;AACD;;AACD,MAAI,CAAC,GAAG,UAAU,GAAG,EAArB,CAxBgC,CAyBlC;AAEC;;AACC,OAAK,GAAG,KAAK,GAAG,GAAG,CAAC,CAAD,EAAI,EAAJ,CAAH,GAAa,CAArB,GAAyB,GAAG,CAACA,KAAG,CAAC,CAAD,EAAI,EAAJ,CAAHA,GAAa,CAAd,EAAiB,CAAjB,CAApC;;AACA,MAAIA,KAAG,CAAC,IAAD,EAAO,EAAP,CAAHA,KAAkB,CAAlBA,IAAuB,IAAI,GAAG,CAAP,KAAa,CAAxC,EAA2C;AACzC,SAAK,IAAI,CAAT;AACD,GA/B+B,CAgClC;;;AAEE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAD,EAAQ,CAAR,CAAH,GAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,KAAD,EAAQ,GAAR,CAAH,GAAkB,CAAnB,IAAwB,CAAzB,EAA4B,CAA5B,CAAnB,GAAoD,GAAlE,CAlCgC,CAmClC;;AAEE,MAAM,KAAK,GAAG,KAAK,KAAL,GAAa,KAA3B,CArCgC,CAsClC;;AAEE,MAAI,IAAI,GAAG,CAAP,GAAW,CAAf,EAAkB;AAChB,KAAC,GAAG,CAAC,GAAG,IAAJ,GAAW,GAAG,CAAC,IAAI,GAAG,CAAR,EAAW,EAAX,CAAH,GAAoB,EAAnC;AACD;;AACD,MAAI,IAAI,GAAGA,KAAG,CAACA,KAAG,CAAC,CAAC,GAAG,CAAL,EAAQ,EAAR,CAAHA,GAAiB,CAAlB,EAAqB,CAArB,CAAd;;AACA,MAAI,IAAI,KAAK,CAAC,CAAd,EAAiB;AACf,QAAI,GAAG,CAAP;AACD;;AAED,SAAO;AAAC,QAAI,EAAE,IAAP;AAAa,MAAE,EAAE,KAAjB;AAAwB,SAAK,EAAE;AAA/B,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,eAA3B,EAAkD;AAChD,MAAI,CAAC,GAAG,IAAI,eAAJ,GAAsB,SAA9B;AACA,GAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,eAAJ,GAAsB,SAAvB,EAAkC,MAAlC,CAAH,GAA+C,CAAhD,EAAmD,CAAnD,CAAH,GAA2D,CAA/D,GAAmE,IAAvE;AACA,MAAM,CAAC,GAAG,GAAG,CAACA,KAAG,CAAC,CAAD,EAAI,IAAJ,CAAJ,EAAe,CAAf,CAAH,GAAuB,CAAvB,GAA2B,GAArC;AACA,MAAM,IAAI,GAAG,GAAG,CAACA,KAAG,CAAC,CAAD,EAAI,GAAJ,CAAJ,EAAc,CAAd,CAAH,GAAsB,CAAnC;AACA,MAAM,MAAM,GAAGA,KAAG,CAAC,GAAG,CAAC,CAAD,EAAI,GAAJ,CAAJ,EAAc,EAAd,CAAHA,GAAuB,CAAtC;AACA,MAAM,KAAK,GAAG,GAAG,CAAC,CAAD,EAAI,IAAJ,CAAH,GAAe,MAAf,GAAwB,GAAG,CAAC,IAAI,MAAL,EAAa,CAAb,CAAzC;AAEA,SAAO,IAAI,IAAJ,CAAS,KAAT,EAAgB,MAAM,GAAG,CAAzB,EAA4B,IAA5B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,EAA3B,EAAuC,EAAvC,EAAmD,EAAnD,EAA6D;AAC3D,MAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAN,EAAS,CAAT,CAAR,GAAsB,MAAvB,IAAiC,IAAlC,EAAwC,CAAxC,CAAH,GAAgD,GAAG,CAAC,MAAMA,KAAG,CAAC,EAAE,GAAG,CAAN,EAAS,EAAT,CAAT,GAAwB,CAAzB,EAA4B,CAA5B,CAAnD,GAAoF,EAApF,GAAyF,QAAjG;AACA,GAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,MAAL,GAAc,GAAG,CAAC,EAAE,GAAG,CAAN,EAAS,CAAT,CAAlB,EAA+B,GAA/B,CAAH,GAAyC,CAA1C,EAA6C,CAA7C,CAAP,GAAyD,GAA7D;AACA,SAAO,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,eAAxB,EAA+C;AAC7C,MAAI,EAAE,GAAG,iBAAiB,CAAC,eAAD,CAAjB,CAAmC,WAAnC,EAAT,CAAyD;AAAzD;AAAA,MAEI,UAAU,GAAG,EAAE,GAAG,GAFtB;AAAA,MAE2B,CAAC,GAAG,MAAM,CAAC,UAAD,CAFrC;AAAA,MAEmD,YAAY,GAAG,iBAAiB,CAAC,EAAD,EAAK,CAAL,EAAQ,CAAC,CAAC,KAAV,CAFnF;AAAA,MAEqG,SAFrG;AAAA,MAGI,WAHJ;AAAA,MAGiB,YAHjB,CAD6C,CAK/C;;AAEE,cAAY,GAAG,eAAe,GAAG,YAAjC;;AACA,MAAI,YAAY,IAAI,CAApB,EAAuB;AACrB,QAAI,YAAY,IAAI,GAApB,EAAyB;AAC7B;AACM,iBAAW,GAAG,IAAI,GAAG,CAAC,YAAD,EAAe,EAAf,CAArB;AACA,eAAS,GAAGA,KAAG,CAAC,YAAD,EAAe,EAAf,CAAHA,GAAwB,CAApC;AACA,aAAO,IAAI,OAAJ,CAAY,UAAZ,EAAwB,WAAxB,EAAqC,SAArC,CAAP;AACD,KALD,MAKO;AACX;AACM,kBAAY,IAAI,GAAhB;AACD;AACF,GAVD,MAUO;AACT;AACI,cAAU,IAAI,CAAd;AACA,gBAAY,IAAI,GAAhB;;AACA,QAAI,CAAC,CAAC,IAAF,KAAW,CAAf,EAAkB;AAChB,kBAAY,IAAI,CAAhB;AACD;AACF;;AACD,aAAW,GAAG,IAAI,GAAG,CAAC,YAAD,EAAe,EAAf,CAArB;AACA,WAAS,GAAGA,KAAG,CAAC,YAAD,EAAe,EAAf,CAAHA,GAAwB,CAApC;AAEA,SAAO,IAAI,OAAJ,CAAY,UAAZ,EAAwB,WAAxB,EAAqC,SAArC,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAAuC,MAAvC,EAAuD,IAAvD,EAAmE;AACjE,MAAI,CAAC,GAAG,MAAM,CAAC,KAAD,CAAd;AACA,SAAO,iBAAiB,CAAC,CAAC,CAAC,EAAH,EAAO,CAAP,EAAU,CAAC,CAAC,KAAZ,CAAjB,GAAsC,CAAC,MAAM,GAAG,CAAV,IAAe,EAArD,GAA0D,GAAG,CAAC,MAAD,EAAS,CAAT,CAAH,IAAkB,MAAM,GAAG,CAA3B,CAA1D,GAA0F,IAA1F,GAAiG,CAAxG;AACD;AAED;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAwC,IAAxC,EAAoD;AAClD,MAAI,KAAK,IAAI,CAAb,EAAgB;AACd,WAAO,EAAP;AACD;;AACD,MAAI,KAAK,IAAI,EAAb,EAAiB;AACf,WAAO,EAAP;AACD;;AACD,MAAI,MAAM,CAAC,IAAD,CAAN,CAAa,IAAb,KAAsB,CAA1B,EAA6B;AAC3B,WAAO,EAAP;AACD;;AACD,SAAO,EAAP;AACD;;AACA,IC3NY,kBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,0BAAc;AAAK,aAAO,CAAP;AAAW;AADhC;AAAA;AAAA,WAGE,qBAAS;AAAK,aAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AAAiD;AAHjE;AAAA;AAAA,WAKE,4BAAgB;AAAK,aAAO,CAAP;AAAW;AALlC;AAAA;AAAA,WAOE,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAP;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,cAAI,GAAG,aAAa,CAAC,IAAD,EAAO,IAAI,CAAC,IAAL,GAAY,MAAnB,CAApB;AACA,cAAI,CAAC,KAAL,GAAa,CAAb;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,cAAI,GAAG,cAAc,CAAC,IAAD,EAAO,IAAI,CAAC,KAAL,GAAa,MAApB,CAArB;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,iBAAO,YAAY,CAAC,IAAD,EAAO,IAAI,CAAC,GAAL,GAAW,MAAlB,CAAnB;;AACF;AACE,iBAAO,IAAP;AAbJ;AAeD;AAzBH;AAAA;AAAA,WA2BE,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;AA3B7G;AAAA;AAAA,WA6BE,oBAAW,IAAX,EAAwB;AACtB,UAAM,GAAG,GAAG,WAAW,CAAC,IAAD,CAAX,CAAkB,MAAlB,EAAZ,CADsB,CAE1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;AAjCH;AAAA;AAAA,WAmCE,uBAAc,IAAd,EAAwC,cAAxC,EAA8D;AAChE;AACI,UAAI,cAAc,KAAK,CAAvB,EAA0B;AACxB,sBAAc,GAAG,CAAjB;AACD;;AAED,UAAM,aAAa,GAAG,CAAC,IAAI,CAAJ,GAAQ,cAAT,IAA2B,CAAjD;AACA,UAAM,IAAI,GAAG,IAAI,CAAC,aAAD,CAAjB;AAEA,UAAM,MAAM,GAAG,WAAW,CAAC,IAAD,CAA1B;AACA,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,OAAP,KAAmB,CAAnB,IAAwB,MAAM,CAAC,MAAP,MAAmB,CAA3C,CAAf,EAV4D,CAUE;;AAC9D,UAAM,IAAI,GAAG,MAAM,CAAC,OAAP,EAAb;AACA,UAAM,SAAS,GAAG,WAAW,CAAC,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,CAAvB,EAA0B,CAA1B,CAAD,CAA7B;AACA,aAAO,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,KAAL,CAAW,CAAC,IAAI,GAAG,SAAS,CAAC,OAAV,EAAR,IAA+B,QAA1C,IAAsD,CAAjE,IAAsE,CAA7E;AACD;AAjDH;AAAA;AAAA,WAmDE,oBAAQ;AAAc,aAAO,aAAa,CAAC,IAAI,IAAJ,EAAD,CAApB;AAAmC;AAnD3D;AAAA;AAAA,WAqDE,iBAAQ,IAAR,EAAqB;AACnB,aAAO,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAlE,IACH,CAAC,KAAK,CAAC,WAAW,CAAC,IAAD,CAAX,CAAkB,OAAlB,EAAD,CADV;AAED;AAxDH;;AAAA;AAAA,EAAwC,WAAxC,CD2NC;;AC3NY,kBAAkB,KAAlB,GAAkB,SAD9B,0BAC8B,CAAlB,CAAkB,EAAlB;AAAA,SAyDZ,wDAzDY;AAyDZ,CAzDY;;;;;;AA0Db;;AC/DA,IAAM,cAAc,GAAG,IAAvB;AACA,IAAM,aAAa,GAAG,KAAK,cAA3B;AACA,IAAM,sBAAsB,GAAG,KAAK,cAAL,GAAsB,GAArD;AACA,IAAM,eAAe,GAAG,KAAK,aAAL,GAAqB,sBAA7C;AACA,IAAM,OAAO,GAAG,KAAK,cAAL,GAAsB,GAAtC;AACA,IAAM,wBAAwB,GAAG,OAAjC;AACA,IAAMC,iBAAe,GAAG,SAAxB;;AAEA,SAASC,qBAAT,CAA6B,IAA7B,EAAyC;AACvC,SAAO,IAAI,GAAG,CAAP,KAAa,CAAb,IAAkB,IAAI,GAAG,GAAP,KAAe,CAAjC,IAAsC,IAAI,GAAG,GAAP,KAAe,CAA5D;AACD;;AAED,SAAS,sBAAT,CAAgC,IAAhC,EAA4C;AAC1C,MAAI,gBAAgB,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,MAAM,IAAN,GAAa,GAAd,IAAqB,EAAhC,CAAvB;AACA,MAAI,0BAA0B,GAAG,gBAAgB,GAAG,sBAAnB,GAA4C,OAA7E;AACA,MAAI,SAAS,GAAG,gBAAgB,GAAG,EAAnB,GAAwB,IAAI,CAAC,KAAL,CAAW,0BAA0B,GAAG,aAAxC,CAAxC;AACA,MAAI,SAAS,GAAG,0BAA0B,GAAG,aAA7C;AAEA,MAAI,SAAS,GAAG,SAAS,GAAG,CAA5B,CAN0C,CAMZ;;AAE9B,MAAI,SAAS,KAAK,CAAd,IAAmB,SAAS,KAAK,CAAjC,IAAsC,SAAS,KAAK,CAAxD,EAA2D;AACzD,aAAS;AACT,aAAS,GAAG,SAAS,GAAG,CAAxB;AACD;;AACD,MAAI,SAAS,KAAK,CAAd,IAAmB,SAAS,GAAG,KAAK,cAAL,GAAsB,GAArD,IAA4D,CAAC,gBAAgB,CAAC,IAAD,CAAjF,EAAyF;AACvF,aAAS,IAAI,CAAb;AACD,GAFD,MAEO,IAAI,SAAS,KAAK,CAAd,IAAmB,SAAS,GAAG,KAAK,cAAL,GAAsB,GAArD,IAA4D,gBAAgB,CAAC,IAAI,GAAG,CAAR,CAAhF,EAA4F;AACjG,aAAS;AACV;;AACD,SAAO,SAAP;AACD;;AAED,SAAS,uBAAT,CAAiC,KAAjC,EAAgD,IAAhD,EAA4D;AAC1D,MAAI,IAAI,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,CAAX;;AACA,MAAIA,qBAAmB,CAAC,IAAD,CAAvB,EAA+B;AAC7B,QAAI,CAAC,CAAD,CAAJ;AACD;;AACD,SAAO,IAAI,CAAC,KAAK,GAAG,CAAT,CAAX;AACD;;AAED,SAAS,eAAT,CAAyB,IAAzB,EAAqC;AACnC,SAAO,gBAAgB,CAAC,IAAD,CAAhB,GAAyB,EAAzB,GAA8B,EAArC;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,IAA7B,EAAyC;AACvC,SAAO,sBAAsB,CAAC,IAAI,GAAG,CAAR,CAAtB,GAAmC,sBAAsB,CAAC,IAAD,CAAhE;AACD;;AAED,SAAgB,gBAAhB,CAAiC,IAAjC,EAA6C;AAC3C,MAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAP,GAAY,EAAb,IAAmB,EAA3B;AACA,SAAO,CAAC,KAAM,CAAC,GAAG,CAAL,GAAU,CAAC,CAAX,GAAe,EAApB,CAAR;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAgB,oBAAhB,CAAqC,KAArC,EAAoD,IAApD,EAAgE;AAC9D,MAAI,UAAU,GAAG,sBAAsB,CAAC,IAAI,GAAG,CAAR,CAAtB,GAAmC,sBAAsB,CAAC,IAAD,CAA1E;AACA,MAAI,QAAQ,GAAG,CAAC,UAAU,IAAI,GAAd,GAAoB,UAApB,GAAkC,UAAU,GAAG,EAAhD,IAAuD,GAAtE;AACA,MAAI,QAAQ,GAAG,gBAAgB,CAAC,IAAD,CAA/B;AACA,MAAI,WAAW,GAAG,QAAQ,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,EAAiD,EAAjD,CAAH,GACG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,CAD7B;;AAEA,MAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,eAAW,CAAC,CAAD,CAAX,GADgB,CACC;AAClB;;AACD,MAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,eAAW,CAAC,CAAD,CAAX,GADgB,CACC;AAClB;;AACD,SAAO,WAAW,CAAC,KAAK,GAAG,CAAT,CAAlB;AACD;;AAED,SAAgB,wBAAhB,CAAyC,IAAzC,EAAsD;AACpD,MAAI,WAAW,GAAG,CAAlB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,KAAzB,EAAgC,CAAC,EAAjC,EAAqC;AACnC,eAAW,IAAI,oBAAoB,CAAC,CAAD,EAAI,IAAI,CAAC,IAAT,CAAnC;AACD;;AACD,SAAO,WAAW,GAAG,IAAI,CAAC,GAA1B;AACD;;AAED,SAAgB,cAAhB,CAA+B,IAA/B,EAA8C,GAA9C,EAAyD;AACvD,MAAI,KAAK,GAAG,GAAG,IAAI,CAAnB;;AACA,MAAI,CAAC,KAAL,EAAY;AACV,OAAG,GAAG,CAAC,GAAP;AACD;;AACD,SAAO,GAAG,GAAG,CAAb,EAAgB;AACd,QAAI,KAAJ,EAAW;AACT,UAAI,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAN,CAAf,GAA6B,IAAI,CAAC,KAA5C,EAAmD;AACjD,WAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAN,CAAf,GAA6B,IAAI,CAAC,KAAlC,GAA0C,CAAjD;AACA,YAAI,CAAC,IAAL;AACA,YAAI,CAAC,KAAL,GAAa,CAAb;AACD,OAJD,MAIO;AACL,YAAI,CAAC,KAAL,IAAc,GAAd;AACA,WAAG,GAAG,CAAN;AACD;AACF,KATD,MASO;AACL,UAAI,GAAG,IAAI,IAAI,CAAC,KAAhB,EAAuB;AACrB,YAAI,CAAC,IAAL;AACA,WAAG,IAAI,IAAI,CAAC,KAAZ;AACA,YAAI,CAAC,KAAL,GAAa,eAAe,CAAC,IAAI,CAAC,IAAN,CAA5B;AACD,OAJD,MAIO;AACL,YAAI,CAAC,KAAL,IAAc,GAAd;AACA,WAAG,GAAG,CAAN;AACD;AACF;AACF;;AACD,SAAO,IAAP;AACD;;AAED,SAAgB,YAAhB,CAA6B,IAA7B,EAA4C,GAA5C,EAAuD;AACrD,MAAI,KAAK,GAAG,GAAG,IAAI,CAAnB;;AACA,MAAI,CAAC,KAAL,EAAY;AACV,OAAG,GAAG,CAAC,GAAP;AACD;;AACD,SAAO,GAAG,GAAG,CAAb,EAAgB;AACd,QAAI,KAAJ,EAAW;AACT,UAAI,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAN,CAAnB,GAAiC,wBAAwB,CAAC,IAAD,CAAnE,EAA2E;AACzE,WAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAN,CAAnB,GAAiC,wBAAwB,CAAC,IAAD,CAAzD,GAAkE,CAAzE;AACA,YAAI,CAAC,IAAL;AACA,YAAI,CAAC,KAAL,GAAa,CAAb;AACA,YAAI,CAAC,GAAL,GAAW,CAAX;AACD,OALD,MAKO,IAAI,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAApB,GAA8C,IAAI,CAAC,GAA7D,EAAkE;AACvE,WAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAApB,GAA8C,IAAI,CAAC,GAAnD,GAAyD,CAAhE;AACA,YAAI,CAAC,KAAL;AACA,YAAI,CAAC,GAAL,GAAW,CAAX;AACD,OAJM,MAIA;AACL,YAAI,CAAC,GAAL,IAAY,GAAZ;AACA,WAAG,GAAG,CAAN;AACD;AACF,KAdD,MAcO;AACL,UAAI,GAAG,IAAI,IAAI,CAAC,GAAhB,EAAqB;AACnB,WAAG,IAAI,IAAI,CAAC,GAAZ;AACA,YAAI,CAAC,KAAL;;AACA,YAAI,IAAI,CAAC,KAAL,KAAe,CAAnB,EAAsB;AACpB,cAAI,CAAC,IAAL;AACA,cAAI,CAAC,KAAL,GAAa,eAAe,CAAC,IAAI,CAAC,IAAN,CAA5B;AACD;;AACD,YAAI,CAAC,GAAL,GAAW,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAA/B;AACD,OARD,MAQO;AACL,YAAI,CAAC,GAAL,IAAY,GAAZ;AACA,WAAG,GAAG,CAAN;AACD;AACF;AACF;;AACD,SAAO,IAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAgBC,eAAhB,CAA8B,KAA9B,EAAyC;AACvC,MAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,KAAT,CAAb;AACA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAL,EAAd;AAAA,MAAkC,MAAM,GAAG,IAAI,CAAC,QAAL,EAA3C;AAAA,MAA4D,IAAI,GAAG,IAAI,CAAC,OAAL,EAAnE;AACA,MAAI,SAAS,GAAGF,iBAAe,GAAG,CAAlBA,GAAsB,OAAO,KAAK,GAAG,CAAf,CAAtBA,GAA0C,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,CAAzB,CAA1CA,GACZ,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADYA,GACoB,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,CAAT,IAAc,GAAzB,CADpBA,GAEZ,IAAI,CAAC,KAAL,CAAW,CAAC,OAAO,MAAM,GAAG,CAAhB,IAAqB,GAAtB,IAA6B,EAA7B,IAAmC,MAAM,GAAG,CAAT,IAAc,CAAd,GAAkB,CAAlB,GAAsBC,qBAAmB,CAAC,KAAD,CAAnBA,GAA6B,CAAC,CAA9BA,GAAkC,CAAC,CAA5F,IAAiG,IAA5G,CAFJ;AAGA,WAAS,GAAG,IAAI,CAAC,KAAL,CAAW,SAAS,GAAG,GAAvB,CAAZ;AACA,MAAI,iBAAiB,GAAG,SAAS,GAAG,MAApC;AACA,MAAI,mBAAmB,GAAG,IAAI,CAAC,KAAL,CAAW,iBAAiB,GAAG,aAApB,GAAoC,eAA/C,CAA1B;AACA,MAAI,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,CAAC,mBAAmB,GAAG,EAAtB,GAA2B,GAA5B,IAAmC,GAA9C,IAAqD,CAAjE;AACA,MAAI,kBAAkB,GAAG,sBAAsB,CAAC,KAAD,CAA/C;AACA,MAAI,SAAS,GAAG,iBAAiB,GAAG,kBAApC;;AACA,SAAO,SAAS,GAAG,CAAnB,EAAsB;AACpB,SAAK;AACL,sBAAkB,GAAG,sBAAsB,CAAC,KAAD,CAA3C;AACA,aAAS,GAAG,iBAAiB,GAAG,kBAAhC;AACD;;AACD,MAAI,MAAM,GAAG,CAAb;AACA,MAAI,IAAI,GAAG,SAAX;;AACA,SAAO,IAAI,GAAG,oBAAoB,CAAC,MAAD,EAAS,KAAT,CAAlC,EAAmD;AACjD,QAAI,IAAI,oBAAoB,CAAC,MAAD,EAAS,KAAT,CAA5B;AACA,UAAM;AACP;;AACD,SAAO,IAAI,OAAJ,CAAY,KAAZ,EAAmB,MAAnB,EAA2B,IAA3B,CAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAgBE,aAAhB,CAA4B,UAA5B,EAA+D;AAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAzB;AACA,MAAM,MAAM,GAAG,UAAU,CAAC,KAA1B;AACA,MAAM,IAAI,GAAG,UAAU,CAAC,GAAxB;AACA,MAAI,IAAI,GAAG,sBAAsB,CAAC,KAAD,CAAjC;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,QAAI,IAAI,oBAAoB,CAAC,CAAD,EAAI,KAAJ,CAA5B;AACD;;AACD,MAAI,IAAI,IAAR;AACA,MAAI,QAAQ,GAAG,IAAI,GAAG,wBAAtB;AACA,MAAI,KAAK,GAAG,QAAQ,IAAI,CAAxB;;AACA,MAAI,CAAC,KAAL,EAAY;AACV,YAAQ,GAAG,CAAC,QAAZ;AACD;;AACD,MAAI,KAAK,GAAG,IAAZ;AACA,MAAI,MAAM,GAAG,CAAb;AACA,MAAI,IAAI,GAAG,CAAX;;AACA,SAAO,QAAQ,GAAG,CAAlB,EAAqB;AACnB,QAAI,KAAJ,EAAW;AACT,UAAI,QAAQ,KAAKF,qBAAmB,CAAC,KAAD,CAAnBA,GAA6B,GAA7BA,GAAmC,GAAxC,CAAZ,EAA0D;AACxD,gBAAQ,IAAIA,qBAAmB,CAAC,KAAD,CAAnBA,GAA6B,GAA7BA,GAAmC,GAA/C;AACA,aAAK;AACN,OAHD,MAGO,IAAI,QAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAvC,EAAwD;AAC7D,gBAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAnC;AACA,cAAM;AACP,OAHM,MAGA;AACL,YAAI,IAAI,QAAR;AACA,gBAAQ,GAAG,CAAX;AACD;AACF,KAXD,MAWO;AACL,UAAI,QAAQ,KAAKA,qBAAmB,CAAC,KAAK,GAAG,CAAT,CAAnBA,GAAiC,GAAjCA,GAAuC,GAA5C,CAAZ,EAA8D;AAC5D,gBAAQ,IAAIA,qBAAmB,CAAC,KAAK,GAAG,CAAT,CAAnBA,GAAiC,GAAjCA,GAAuC,GAAnD;AACA,aAAK;AACN,OAHD,MAGO;AACL,YAAI,MAAM,GAAG,CAAb,EAAgB;AACd,gBAAM;AACP,SAFD,MAEO;AACL,gBAAM,GAAG,EAAT;AACA,eAAK;AACN;;AACD,YAAI,QAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAvC,EAAwD;AACtD,kBAAQ,IAAI,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAnC;AACD,SAFD,MAEO;AACL,cAAI,GAAG,uBAAuB,CAAC,MAAD,EAAS,KAAT,CAAvB,GAAyC,QAAzC,GAAoD,CAA3D;AACA,kBAAQ,GAAG,CAAX;AACD;AACF;AACF;AACF;;AACD,SAAO,IAAI,IAAJ,CAAS,KAAT,EAAgB,MAAM,GAAG,CAAzB,EAA4B,IAA5B,CAAP;AACD;;AAED,SAAgB,cAAhB,CAA+B,QAA/B,EAA+C;AAC7C,MAAI,CAAC,QAAL,EAAe;AACb,WAAO,EAAP;AACD;;AACD,MAAM,SAAS,GAAG,CAAC,EAAD,EAAK,QAAL,EAAe,QAAf,EAAyB,QAAzB,EAAmC,QAAnC,EAA6C,QAA7C,EAAuD,QAAvD,EAAiE,QAAjE,EAA2E,QAA3E,EAAqF,QAArF,CAAlB;AACA,MAAM,WAAW,GAAG,CAClB,QADkB,EACR,cADQ,EACQ,cADR,EACwB,cADxB,EACwC,cADxC,EACwD,cADxD,EACwE,cADxE,EAElB,cAFkB,EAEF,cAFE,EAEc,cAFd,CAApB;AAIA,MAAM,WAAW,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,QAAT,EAAmB,QAAnB,EAA6B,QAA7B,EAAuC,QAAvC,EAAiD,QAAjD,EAA2D,QAA3D,EAAqE,QAArE,EAA+E,QAA/E,CAApB;AACA,MAAM,aAAa,GAAG,CACpB,EADoB,EAChB,QADgB,EACN,QADM,EACI,QADJ,EACc,QADd,EACwB,cADxB,EACwC,cADxC,EACwD,cADxD,EACwE,cADxE,EAEpB,oBAFoB,CAAtB;AAIA,MAAM,eAAe,GAAG,CACtB,EADsB,EAClB,QADkB,EACR,QADQ,EACE,cADF,EACkB,cADlB,EACkC,QADlC,EAC4C,cAD5C,EAC4D,cAD5D,EAEtB,oBAFsB,EAEA,oBAFA,CAAxB;AAIA,MAAM,MAAM,GAAG,QAAf;AAAA,MAAyB,QAAQ,GAAG,QAApC;AACA,MAAI,GAAG,GAAG,CAAV;AACA,MAAI,MAAM,GAAG,EAAb;AACA,MAAI,IAAI,GAAG,CAAX;;AACA,SAAO,QAAQ,GAAG,CAAlB,EAAqB;AACnB,QAAI,CAAC,GAAG,QAAQ,GAAG,EAAnB;;AACA,QAAI,IAAI,KAAK,CAAb,EAAgB;AACd,SAAG,GAAG,CAAN;AACD,KAFD,MAEO,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,UAAI,CAAC,KAAK,CAAV,EAAa;AACX,cAAM,CAAC,OAAP,CAAe,WAAW,CAAC,CAAD,CAA1B,EAA+B,SAAS,CAAC,GAAD,CAAxC;AACD,OAFD,MAEO;AACL,cAAM,CAAC,OAAP,CAAe,WAAW,CAAC,GAAD,CAA1B;AACD;AACF,KANM,MAMA,IAAI,IAAI,KAAK,CAAb,EAAgB;AACrB,YAAM,CAAC,OAAP,CAAe,aAAa,CAAC,CAAD,CAA5B;AACD,KAFM,MAEA;AACL,UAAI,CAAC,KAAK,CAAV,EAAa;AACX,cAAM,CAAC,OAAP,CAAe,eAAe,CAAC,CAAD,CAA9B,EAAmC,MAAnC,EAA2C,GAA3C;AACD;;AACD;AACD;;AACD,YAAQ,GAAG,IAAI,CAAC,KAAL,CAAW,QAAQ,GAAG,EAAtB,CAAX;;AACA,QAAI,IAAI,KAAK,CAAT,IAAc,QAAQ,KAAK,CAA/B,EAAkC;AAChC,YAAM,CAAC,OAAP,CAAe,SAAS,CAAC,CAAD,CAAxB;AACD;;AACD,QAAI;AACL;;AACD,QAAM,GAAG,MAAM,CAAC,IAAP,CAAY,EAAZ,EAAgB,KAAhB,CAAsB,EAAtB,CAAT;;AACA,MAAI,MAAM,CAAC,MAAP,KAAkB,CAAtB,EAAyB;AACvB,UAAM,CAAC,IAAP,CAAY,MAAZ;AACD,GAFD,MAEO,IAAI,MAAM,CAAC,MAAP,GAAgB,CAApB,EAAuB;AAC5B,UAAM,CAAC,MAAP,CAAc,MAAM,CAAC,MAAP,GAAgB,CAA9B,EAAiC,CAAjC,EAAoC,QAApC;AACD;;AACD,SAAO,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAP;AACD;ACxRD;AACA;AACA;;;AAEA,IAAa,iBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,0BAAc;AAAK,aAAO,CAAP;AAAW;AADhC;AAAA;AAAA,WAGE,mBAAU,IAAV,EAAuB;AACrB,UAAI,IAAI,IAAI,gBAAgB,CAAC,IAAD,CAA5B,EAAoC;AAClC,eAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,EAAwC,EAAxC,CAAP;AACD,OAFD,MAEO;AACL,eAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,EAA5B,EAAgC,EAAhC,EAAoC,EAApC,CAAP;AACD;AACF;AATH;AAAA;AAAA,WAWE,4BAAgB;AAAK,aAAO,CAAP;AAAW;AAXlC;AAAA;AAAA,WAaE,iBAAQ,IAAR,EAAqB;AACnB,UAAI,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAN,CAAhB,IAA+B,QAAQ,CAAC,IAAI,CAAC,KAAN,CAAvC,IAAuD,QAAQ,CAAC,IAAI,CAAC,GAAN,CAAvE;AACA,OAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAL,GAAa,CAAlB,IAAuB,IAAI,CAAC,KAAL,KAAe,gBAAgB,CAAC,IAAI,CAAC,IAAN,CAAhB,GAA8B,EAA9B,GAAmC,EAAlD,CAA3B;AACA,OAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAL,GAAW,CAAhB,IAAqB,IAAI,CAAC,GAAL,IAAY,oBAAoB,CAAC,IAAI,CAAC,KAAN,EAAa,IAAI,CAAC,IAAlB,CAAzD;AACA,aAAO,CAAC,IAAI,CAAC,KAAK,CAACE,aAAW,CAAC,IAAD,CAAXA,CAAkB,OAAlBA,EAAD,CAAlB;AACD;AAlBH;AAAA;AAAA,WAoBE,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AACxD,UAAI,GAAG,IAAI,OAAJ,CAAY,IAAI,CAAC,IAAjB,EAAuB,IAAI,CAAC,KAA5B,EAAmC,IAAI,CAAC,GAAxC,CAAP;;AAEA,cAAQ,MAAR;AACE,aAAK,GAAL;AACE,cAAI,CAAC,IAAL,IAAa,MAAb;AACA,cAAI,CAAC,KAAL,GAAa,CAAb;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,cAAI,GAAG,cAAc,CAAC,IAAD,EAAO,MAAP,CAArB;AACA,cAAI,CAAC,GAAL,GAAW,CAAX;AACA,iBAAO,IAAP;;AACF,aAAK,GAAL;AACE,iBAAO,YAAY,CAAC,IAAD,EAAO,MAAP,CAAnB;;AACF;AACE,iBAAO,IAAP;AAbJ;AAeD;AAtCH;AAAA;AAAA,WAwCE,iBAAQ,IAAR,EAA0D;AAAA,UAAnC,MAAmC,uEAAf,GAAe;AAAA,UAAV,MAAU,uEAAD,CAAC;AAAI,aAAO,KAAK,OAAL,CAAa,IAAb,EAAmB,MAAnB,EAA2B,CAAC,MAA5B,CAAP;AAA6C;AAxC7G;AAAA;AAAA,WA0CE,oBAAW,IAAX,EAAwB;AACtB,UAAM,GAAG,GAAGA,aAAW,CAAC,IAAD,CAAXA,CAAkB,MAAlBA,EAAZ,CADsB,CAE1B;;AACI,aAAO,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgB,GAAvB;AACD;AA9CH;AAAA;AAAA,WAgDE,uBAAc,IAAd,EAAwC,cAAxC,EAA8D;AAC5D,UAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAjB;AACA,aAAO,IAAI,CAAC,IAAL,CAAU,wBAAwB,CAAC,IAAD,CAAxB,GAAiC,CAA3C,CAAP;AACD;AAnDH;AAAA;AAAA,WAqDE,oBAAQ;AAAc,aAAOD,eAAa,CAAC,IAAI,IAAJ,EAAD,CAApB;AAAmC;AAC3D;AAEC;AACE;;AAzDH;AAAA;AAAA,WA0DE,qBAAY,IAAZ,EAAyB;AAAa,aAAO,UAAU,CAACC,aAAW,CAAC,IAAD,CAAZ,CAAjB;AAAuC;AAC/E;AAEC;AACE;;AA9DH;AAAA;AAAA,WA+DE,uBAAc,IAAd,EAA2B;AAAa,aAAOD,eAAa,CAAC,QAAQ,CAAC,IAAD,CAAT,CAApB;AAAuC;AA/DjF;;AAAA;AAAA,EAAuC,WAAvC;;AAAa,iBAAiB,KAAjB,GAAiB,SAD7B,yBAC6B,CAAjB,CAAiB,EAAjB;AAAA,SAgEZ,sDAhEY;AAgEZ,CAhEY;;;;;;AAiEb;;AC7EA,IAAM,QAAQ,GAAG,CAAC,KAAD,EAAQ,OAAR,EAAiB,OAAjB,EAA0B,OAA1B,EAAmC,MAAnC,EAA2C,KAA3C,EAAkD,OAAlD,CAAjB;AACA,IAAM,MAAM,GAAG,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,KAAzB,EAAgC,KAAhC,EAAuC,KAAvC,EAA8C,MAA9C,EAAsD,MAAtD,EAA8D,MAA9D,EAAsE,MAAtE,EAA8E,IAA9E,EAAoF,MAApF,CAAf;AACA,IAAM,WAAW,GACb,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,KAAzB,EAAgC,KAAhC,EAAuC,QAAvC,EAAiD,QAAjD,EAA2D,MAA3D,EAAmE,MAAnE,EAA2E,MAA3E,EAAmF,MAAnF,EAA2F,IAA3F,EAAiG,MAAjG,CADJ;AAGA;AACA;AACA;;AAEA,IAAa,uBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,2BAAkB,KAAlB,EAAiC,IAAjC,EAA8C;AAAY,aAAO,KAAK,gBAAL,CAAsB,KAAtB,EAA6B,IAA7B,CAAP;AAA4C;AADxG;AAAA;AAAA,WAGE,0BAAiB,KAAjB,EAAgC,IAAhC,EAA6C;AAC3C,aAAO,gBAAgB,CAAC,IAAD,CAAhB,GAAyB,WAAW,CAAC,KAAK,GAAG,CAAT,CAApC,GAAkD,MAAM,CAAC,KAAK,GAAG,CAAT,CAA/D;AACD;AALH;AAAA;AAAA,WAOE,6BAAoB,OAApB,EAAmC;AAAY,aAAO,QAAQ,CAAC,OAAO,GAAG,CAAX,CAAf;AAA+B;AAPhF;AAAA;AAAA,WASE,yBAAgB,IAAhB,EAAmC;AACjC,uBAAU,cAAc,CAAC,IAAI,CAAC,GAAN,CAAxB,cAAsC,KAAK,gBAAL,CAAsB,IAAI,CAAC,KAA3B,EAAkC,IAAI,CAAC,IAAvC,CAAtC,cAAsF,cAAc,CAAC,IAAI,CAAC,IAAN,CAApG;AACD;AAXH;AAAA;AAAA,WAaE,wBAAe,IAAf,EAAkC;AAAY,aAAO,cAAc,CAAC,IAAI,CAAC,GAAN,CAArB;AAAkC;AAblF;AAAA;AAAA,WAeE,yBAAgB,UAAhB,EAAkC;AAAY,aAAO,cAAc,CAAC,UAAD,CAArB;AAAoC;AAfpF;AAAA;AAAA,WAiBE,yBAAgB,IAAhB,EAA4B;AAAY,aAAO,cAAc,CAAC,IAAD,CAArB;AAA8B;AAjBxE;;AAAA;AAAA,EAA6C,iBAA7C;;AAAa,uBAAuB,KAAvB,GAAuB,SADnC,+BACmC,CAAvB,CAAuB,EAAvB;AAAA,SAkBZ,kEAlBY;AAkBZ,CAlBY;;;;;;AAmBb;;AC7BA;AACA;AACA;AACA;;AAEA,IAAa,oBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AACA;AACE;AACE;AACF,uBAAU,IAAV,EAAoB;AAClB,aAAQ,IAAI,YAAY,IAAhB,IAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAL,EAAD,CAA/B,GAAmD,KAAK,eAAL,CAAqB,IAArB,CAAnD,GAAgF,IAAvF;AACD;AACH;AAEC;AACE;;AAVH;AAAA;AAAA,WAWE,iBAAQ,IAAR,EAA2B;AACzB,aAAO,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,KAAN,CAAzC,IAAyD,SAAS,CAAC,IAAI,CAAC,GAAN,CAAlE,GAA+E,KAAK,aAAL,CAAmB,IAAnB,CAA/E,GAC+E,IADtF;AAED;AAdH;AAAA;AAAA,WAgBY,yBAAgB,IAAhB,EAA0B;AAClC,aAAO;AAAC,YAAI,EAAE,IAAI,CAAC,WAAL,EAAP;AAA2B,aAAK,EAAE,IAAI,CAAC,QAAL,KAAkB,CAApD;AAAuD,WAAG,EAAE,IAAI,CAAC,OAAL;AAA5D,OAAP;AACD;AAlBH;AAAA;AAAA,WAoBY,uBAAc,IAAd,EAAiC;AACzC,UAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,EAA8C,EAA9C,CAAf,CADyC,CAE7C;;AACI,YAAM,CAAC,WAAP,CAAmB,IAAI,CAAC,IAAxB;AACA,aAAO,MAAP;AACD;AAzBH;;AAAA;AAAA,EAA0C,cAA1C;;AAAa,oBAAoB,KAApB,GAAoB,SADhC,4BACgC,CAApB,CAAoB,EAApB;AAAA,SA0BZ,4DA1BY;AA0BZ,CA1BY;;;;;;AA2Bb;;ACjCA;AACA;AACA;AACA;AACA;;AAEA,IAAa,uBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WACY,yBAAgB,IAAhB,EAA0B;AAClC,aAAO;AAAC,YAAI,EAAE,IAAI,CAAC,cAAL,EAAP;AAA8B,aAAK,EAAE,IAAI,CAAC,WAAL,KAAqB,CAA1D;AAA6D,WAAG,EAAE,IAAI,CAAC,UAAL;AAAlE,OAAP;AACD;AAHH;AAAA;AAAA,WAKY,uBAAc,IAAd,EAAiC;AACzC,UAAM,MAAM,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,IAAd,EAAoB,IAAI,CAAC,KAAL,GAAa,CAAjC,EAAoC,IAAI,CAAC,GAAzC,CAAT,CAAf,CADyC,CAE7C;;AACI,YAAM,CAAC,cAAP,CAAsB,IAAI,CAAC,IAA3B;AACA,aAAO,MAAP;AACD;AAVH;;AAAA;AAAA,EAA6C,oBAA7C;;AAAa,uBAAuB,KAAvB,GAAuB,SADnC,+BACmC,CAAvB,CAAuB,EAAvB;AAAA,SAWZ,kEAXY;AAWZ,CAXY;;;;;;AAYb;;;AAAE,ICoBW,mBAAb;AAAA;AAAA,CDpBE;;ACoBW,mBAAmB,KAAnB,GAAmB,gEATtB;AAAA,QACR;AADQ,CASsB,CAAnB;AAPT,mBAAe,KAAf,GAAe,gEAAsB;AAAA,SAAoB,uCAAyB,CAAzB,EAAyB;AAAA,gBAA6B,wBAA7B;AAClF,GADqC;AACjB,SAAE,mEAAkB,2DAAlB;AADe,CAAtB,CAAf;AAGK;AAAE;ACjCX;ADkCwB;AChCxB;AACA;;AAEA,IAAa,iBAAb;AAAA;;AACE,mBAA4C,IAA5C;AACA,mBAA4B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAA5B;AAED,CAJD;;;;AAIC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,IAL4B,mBAK5B;;AAAyB,IAN1B,SAAU;AAAA;AAAA,CAMgB;;AANI,SCqBT,CDpBT,IADkB,GAClB,2BCmBD,CDnBC,ECmBD;AAAQ,SAAE,KAAS,CAAC,IAAC,SAAX,GAAF;AAEnB,CDtB8B;;;;sBCuB/B,Q;;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,eAAb;AAUE,2BAAmB,UAAnB,EAAsD;AAAA;;AAAnC;AATX,qBAAY,KAAZ;AASkD;;AAV5D;AAAA;AAAA,SAQE,eAAY;AAAc,aAAO,KAAK,SAAZ;AAAwB,KARpD;AAAA,SAIE,aAAa,KAAb,EAA2B;AACzB,WAAK,SAAL,GAAsB,KAAK,KAAK,EAAV,IAAgB,KAAK,KAAK,IAAhD,CADyB,CAC4B;AACtD;AANH;;AAAA;AAAA;;;;;;;;;;;;;;;;;cAWC;;;;AACD;AAAA,UAEoC;AAAA,UAJH,yDAAU;AAIP,GAFpC;AAAA;;AARE,0DADC,4DAAK,EACN,GAAF,yBAAE,EAAF,UAAE,EAAF,IAAE;AASF;AAdC;AAgBD;;;AAhB2C,IAAI,eAA2B,GAAoB,yBAAY,QAAZ,EAAe;AAAA;;AAqCjD,OApChC,QAoCgC;AAL1D,mBAAuB,QAAvB;AACA,gBAAS,KAAT;AAIsE,CArC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsC1C;;;AACD;AAAA,UAEoC;AAAA;AAAA;AAAA,YAJrB,qDAIqB;AAJf,aAAC,iEAAU,CAAC;AAAA,eAAM,WAAN;AAAA,OAAD,CAAX;AAIe;AAAA,GAFpC;AAAA;;AAJoC,0DAAjC,sEAAe,CAAC,eAAD,CAAkB;;AAJvB,eAAe,4DAAxB,CAdH,yDAAS,6DAoBW,CAnBnB,iEAmB8B,CAnBtB;AAAA,SAmB6B,WAnB7B;AAAA,CAmBsB,CAAX,CApBpB,CAcG,CAAwB,EAZ1B,eAY0B,CAAf;AASb;AApBI;AAsBJ;AArBuC;AAEnC;AACmD;AAsBvD;AArBoB;AAuBpB;;AAKA,IA5BkD,iBAC9C;AA8BF,6BA9B+C,QA8B/C,EAA4E,WAA5E,EA7BE;AAAA;;AA6BwD,SA7BvC,QA6BuC;AA7BT,uBA6B2B,WA7B3B;AA8B/C,SAAK,QAAL,GA7B+C,WA6BpB,CA5B5B,aA4BC;AACD;;AAhCC;AAAA;AAAA,WAkCF,4BAAgB;AAAK,aAAO,KAAK,WAAL,CAAiB,aAAxB;AAAwC;AAlC3D;;AAAA;AAAA,GA2BJ;;;;;;;;;;;;;;;;;AAQC;;;AACD;AAAA,UAEsC;AAAA;AAAA;AAAA,YARvB,qDAQuB;AARjB,aAAC,iEAAU,CAAC;AAAA,eAAM,WAAN;AAAA,OAAD,CAAX;AAQiB;AAAA,GAFtC,EAN4D;AAAA,UAA+B,yDAAU;AAAzC,GAM5D;AAAA;;AATa,iBAAiB,4DAA1B,CAJH,yDAAS,6DAOW,CANnB,iEAM8B,CANtB;AAAA,SAM6B,WAN7B;AAAA,CAMsB,CAAX,CAPpB,CAIG,CAA0B,EAHG,iBAGH,CAAjB;AAUb;AAZgB;AAchB;AAdyG;AAgBzG;;AAeA,IAAa,iBAAiB,sBAA9B;AAAA;;AAAA;;AACE,6BAAmD,QAAnD,EAA6D,UAA7D,EAAgG;AAAA;;AAAA,+BACxF,QADwF,EAC9E,UAD8E;AAE/F;;AAHH;AAAA,EAAuC,iBAAvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AAAA,UAEsC;AAAA;AAAA;AAAA,YANvB,qDAMuB;AANjB,aAAC,iEAAU,CAAC;AAAA,eAAM,WAAN;AAAA,OAAD,CAAX;AAMiB;AAAA,GAFtC,EAJ4D;AAAA,UAAe,yDAAU;AAAzB,GAI5D;AAAA;;AALa,iBAAiB,kFAA1B,CAdH,yDAAS,6DAeW,CAdnB,iEAc8B,CAdtB;AAAA,SAc6B,WAd7B;AAAA,CAcsB,CAAX,CAfpB,CAcG,CAA0B,EAbG,iBAaH,CAAjB;AAMb;AAjBI;AAmBJ;;AAEA,IAnB0B,WAAE;AACxB,uBAAS,eAAT,EAqF8C,MArF9C,EAqFmG,SArFnG,EACA,OADA,EAsFmC,WAtFnC,EACqB,SADrB,EAuFc,SAvFd,EAuFkC;AAAA;;AAAA;;AAFxB,SAnFV,eAmFU,GAnFW,eAmFX;AAAyF,SAnFhD,SAmFgD;AACzF,SAnFM,OAmFN;AAAyB,SAnFW,WAmFX,GAlFnC,WAkFmC;AAA8C,qBAlFpC,SAkFoC;AAnE3E,SAbR,QAaQ,GAbC,IAAE,6CAAF,EAaD;AAbc;AAAiB;AAiBvC;;AAiBe,iBAAQ,KAAR;AACjB;AAEK;AAEc;AAAW;AAA6C;AAC9C;AAA+C;;AAoChE,sBAAa,IAAI,2DAAJ,EAAb;AAMR,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AAEA,SAAK,OAAL,GAAe,SAAS,GAAG,QAAH,GAAc,SAAtC;AAEA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAAQ,aAAI,CAAC,aAAL;AAAuB,KAA1D,CAAzB;AACD;;AAhGyB;AAAA;AAAA,WAkG1B,8BAAkB;AAAA;;AAChB,WAAK,OAAL,CAAa,QAAb,CAAsB,IAAtB,CAA2B,4DAAI,CAAC,CAAD,CAA/B,EAAoC,SAApC,CAA8C;AAC5C,eAAI,CAAC,sBAAL;;AACA,YAAI,OAAI,CAAC,KAAT,EAAgB;AACd,iBAAI,CAAC,iBAAL;AACD;AACF,OALD;AAMD;AAzGyB;AAAA;AAAA,WA2G1B,qBAAY,OAAZ,EAAkC;AAChC,UAAI,OAAO,CAAC,SAAR,IAAqB,KAAK,KAA9B,EAAqC;AACnC,aAAK,eAAL,CAAqB,KAAK,SAA1B;AACD;;AAED,UAAI,OAAO,CAAC,SAAR,IAAqB,CAAC,OAAO,CAAC,SAAR,CAAkB,aAA5C,EAA2D;AACzD,aAAK,sBAAL;AACD;AACF;AACH;AAEC;AACE;;AAvHyB;AAAA;AAAA,WAwH1B,kBAAM;AAAc,aAAO,KAAK,KAAZ;AAAoB;AAC1C;AAEC;AACE;;AA5HyB;AAAA;AAAA,WA6H1B,gBAAI;AACF,UAAI,CAAC,KAAK,KAAV,EAAiB;AACf,aAAK,KAAL,GAAa,IAAb;;AACA,aAAK,eAAL,CAAqB,KAAK,SAA1B;;AACA,aAAK,UAAL,CAAgB,IAAhB,CAAqB,IAArB;;AACA,aAAK,iBAAL;AACD;AACF;AApIyB;AAAA;AAAA,WAsIlB,6BAAiB;AAAA;;AACvB,UAAM,MAAM,GAAG,KAAK,OAApB;AACA,kBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,eAAM,OAAI,CAAC,KAAL,EAAN;AAAA,OADtC,EAC0D,KAAK,QAD/D,EAER,KAAK,KAAL,GAAa,CAAC,KAAK,YAAL,CAAkB,aAAnB,CAAb,GAAiD,EAFzC,EAE6C,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAP,EAAD,CAAH,GAAiC,EAFpF,EAGR,kCAHQ,CAAZ;AAID;AACH;AAEC;AACE;;AAhJyB;AAAA;AAAA,WAiJ1B,iBAAK;AACH,UAAI,KAAK,KAAT,EAAgB;AACd,aAAK,KAAL,GAAa,KAAb;;AACA,aAAK,eAAL;;AACA,aAAK,QAAL,CAAc,IAAd;;AACA,aAAK,UAAL,CAAgB,IAAhB,CAAqB,KAArB;;AACA,aAAK,eAAL,CAAqB,YAArB;AACD;AACF;AACH;AAEC;AACE;;AA7JyB;AAAA;AAAA,WA8J1B,kBAAM;AACJ,UAAI,KAAK,MAAL,EAAJ,EAAmB;AACjB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AApKyB;AAAA;AAAA,WAsK1B,uBAAW;AACT,WAAK,eAAL;;AAEA,WAAK,QAAL,CAAc,IAAd;;AACA,WAAK,iBAAL,CAAuB,WAAvB;AACD;AA3KyB;AAAA;AAAA,WA6K1B,mBAAU,KAAV,EAA8B;AAAA;;AAChC;AACI,UAAM,GAAG,GAAG,KAAK,CAAC,KAAlB;;AACA,UAAM,YAAY,GAAG,KAAK,gBAAL,EAArB;;AAEA,UAAI,QAAQ,GAAG,CAAC,CAAhB;AACA,UAAI,gBAAgB,GAAG,KAAvB;AACA,UAAI,WAAW,GAAgB,IAA/B;;AACA,UAAM,iBAAiB,GAAG,KAAK,kBAAL,CAAwB,KAAxB,CAA1B;;AAEA,UAAI,CAAC,iBAAD,IAAsB,YAAY,CAAC,MAAvC,EAA+C;AAC7C,oBAAY,CAAC,OAAb,CAAqB,UAAC,IAAD,EAAO,KAAP,EAAY;AAC/B,cAAI,IAAI,CAAC,QAAL,CAAc,KAAK,CAAC,MAApB,CAAJ,EAAgD;AAC9C,4BAAgB,GAAG,IAAnB;AACA,uBAAW,GAAG,IAAd;AACD;;AACD,cAAI,IAAI,KAAK,OAAI,CAAC,SAAL,CAAe,aAA5B,EAA2C;AACzC,oBAAQ,GAAG,KAAX;AACD;AACF,SARD;AASD,OApB2B,CAqBhC;;;AAEI,UAAI,GAAG,KAAK,GAAG,CAAC,KAAZ,IAAqB,GAAG,KAAK,GAAG,CAAC,KAArC,EAA4C;AAC1C,YAAI,gBAAgB,KAAK,KAAK,SAAL,KAAmB,IAAnB,IAA2B,KAAK,SAAL,KAAmB,QAAnD,CAApB,EAAkF;AACxF;AACQ;AACQ;AACR,iEAAS,CAAC,WAAD,EAAc,OAAd,CAAT,CAAgC,IAAhC,CAAqC,4DAAI,CAAC,CAAD,CAAzC,EAA8C,SAA9C,CAAwD;AAAA,mBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,WAAxD;AACD;;AACD;AACD,OA/B2B,CAgChC;;;AAEI,UAAI,iBAAiB,IAAI,gBAAzB,EAA2C;AACzC,aAAK,IAAL;;AAEA,YAAI,YAAY,CAAC,MAAjB,EAAyB;AACvB,kBAAQ,GAAR;AACE,iBAAK,GAAG,CAAC,SAAT;AACE,sBAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,GAAG,CAApB,EAAuB,YAAY,CAAC,MAAb,GAAsB,CAA7C,CAAX;AACA;;AACF,iBAAK,GAAG,CAAC,OAAT;AACE,kBAAI,KAAK,SAAL,MAAoB,QAAQ,KAAK,CAAC,CAAtC,EAAyC;AACvC,wBAAQ,GAAG,YAAY,CAAC,MAAb,GAAsB,CAAjC;AACA;AACD;;AACD,sBAAQ,GAAG,IAAI,CAAC,GAAL,CAAS,QAAQ,GAAG,CAApB,EAAuB,CAAvB,CAAX;AACA;;AACF,iBAAK,GAAG,CAAC,IAAT;AACE,sBAAQ,GAAG,CAAX;AACA;;AACF,iBAAK,GAAG,CAAC,GAAT;AACE,sBAAQ,GAAG,YAAY,CAAC,MAAb,GAAsB,CAAjC;AACA;AAhBJ;;AAkBA,sBAAY,CAAC,QAAD,CAAZ,CAAuB,KAAvB;AACD;;AACD,aAAK,CAAC,cAAN;AACD;AACF;AAzOyB;AAAA;AAAA,WA2OlB,qBAAS;AAAc,aAAO,KAAK,WAAL,CAAiB,aAAjB,CAA+B,SAA/B,CAAyC,QAAzC,CAAkD,QAAlD,CAAP;AAAqE;AA3O1E;AAAA;AAAA,WA6OlB,4BAAmB,KAAnB,EAAuC;AAC7C,aAAO,KAAK,OAAL,CAAa,gBAAb,GAAgC,QAAhC,CAAyC,KAAK,CAAC,MAA/C,CAAP;AACD;AA/OyB;AAAA;AAAA,WAiPlB,4BAAgB;AACtB,UAAM,IAAI,GAAG,KAAK,KAAlB;;AACA,UAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,eAAO,EAAP;AACD;;AACD,aAAO,IAAI,CAAC,SAAL,CAAe,MAAf,CAAsB,cAAI;AAAA,eAAI,CAAC,IAAI,CAAC,QAAV;AAAA,OAA1B,EAA8C,GAA9C,CAAkD,cAAI;AAAA,eAAI,IAAI,CAAC,UAAL,CAAgB,aAApB;AAAA,OAAtD,CAAP;AACD;AAvPyB;AAAA;AAAA,WAyPlB,yBAAa;AACnB,UAAM,IAAI,GAAG,KAAK,KAAlB;;AACA,UAAI,KAAK,MAAL,MAAiB,IAArB,EAA2B;AACzB,aAAK,sBAAL,CACI,KAAK,OAAL,KAAiB,SAAjB,GACI,gBAAgB,CACZ,KAAK,OAAL,CAAa,QADD,EACW,KAAK,cAAL,IAAuB,KAAK,YAAL,CAAkB,aADpD,EACmE,KAAK,SADxE,EAEZ,KAAK,SAAL,KAAmB,MAFP,CADpB,GAII,KAAK,kBAAL,CAAwB,KAAK,SAA7B,CALR;AAMD;AACF;AAnQyB;AAAA;AAAA,WAqQlB,4BAAmB,SAAnB,EAA4C;AAClD,aAAO,KAAK,CAAC,OAAN,CAAc,SAAd,IAA2B,SAAS,CAAC,CAAD,CAApC,GAA0C,SAAS,CAAC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAjD;AACD;AAvQyB;AAAA;AAAA,WAyQlB,2BAAe;AACrB,UAAM,QAAQ,GAAG,KAAK,SAAtB;AACA,UAAM,WAAW,GAAG,KAAK,YAAzB;;AACA,UAAI,WAAJ,EAAiB;AACf,YAAM,eAAe,GAAG,KAAK,WAAL,CAAiB,aAAzC;AACA,YAAM,mBAAmB,GAAG,WAAW,CAAC,aAAxC;AAEA,gBAAQ,CAAC,WAAT,CAAqB,eAArB,EAAsC,mBAAtC;AACA,gBAAQ,CAAC,WAAT,CAAqB,mBAArB,EAA0C,UAA1C;AACA,gBAAQ,CAAC,WAAT,CAAqB,mBAArB,EAA0C,WAA1C;AACD;;AACD,UAAI,KAAK,cAAT,EAAyB;AACvB,gBAAQ,CAAC,WAAT,CAAqB,KAAK,SAAL,CAAe,IAApC,EAA0C,KAAK,cAA/C;AACA,aAAK,cAAL,GAAsB,IAAtB;AACD;AACF;AAxRyB;AAAA;AAAA,WA0RlB,2BAA+C;AAAA,UAA/B,SAA+B,uEAAJ,IAAI;;AACrD,WAAK,eAAL;;AACA,UAAI,SAAS,KAAK,MAAlB,EAA0B;AACxB,YAAM,QAAQ,GAAG,KAAK,SAAtB;AACA,YAAM,mBAAmB,GAAG,KAAK,YAAL,CAAkB,aAA9C;AACA,YAAM,aAAa,GAAG,KAAK,cAAL,GAAsB,KAAK,cAAL,IAAuB,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAnE,CAHwB,CAI9B;;AAEM,gBAAQ,CAAC,QAAT,CAAkB,aAAlB,EAAiC,UAAjC,EAA6C,UAA7C;AACA,gBAAQ,CAAC,QAAT,CAAkB,mBAAlB,EAAuC,UAAvC,EAAmD,QAAnD;AACA,gBAAQ,CAAC,QAAT,CAAkB,aAAlB,EAAiC,SAAjC,EAA4C,MAA5C;AAEA,gBAAQ,CAAC,WAAT,CAAqB,aAArB,EAAoC,mBAApC;AACA,gBAAQ,CAAC,WAAT,CAAqB,KAAK,SAAL,CAAe,IAApC,EAA0C,aAA1C;AACD;AACF;AAzSyB;AAAA;AAAA,WA2SlB,gCAAuB,SAAvB,EAA4C;AAClD,UAAM,IAAI,GAAG,KAAK,KAAlB;;AACA,UAAI,IAAJ,EAAU;AACR,YAAI,CAAC,SAAL,EAAgB;AACd,mBAAS,GAAG,KAAK,kBAAL,CAAwB,KAAK,SAA7B,CAAZ;AACD;;AAED,YAAM,QAAQ,GAAG,KAAK,SAAtB;AACA,YAAM,eAAe,GAAG,KAAK,WAAL,CAAiB,aAAzC,CANQ,CAOd;;AAEM,gBAAQ,CAAC,WAAT,CAAqB,eAArB,EAAsC,QAAtC;AACA,gBAAQ,CAAC,WAAT,CAAqB,eAArB,EAAsC,UAAtC;AACA,YAAI,CAAC,SAAL,GAAiB,KAAK,OAAL,KAAiB,QAAjB,GAA4B,IAA5B,GAAmC,SAApD;AACN;AAEK;AACM;AAEH;;AAAF,YAAM,aAAa,GAAG,SAAS,CAAC,MAAV,CAAiB,MAAjB,MAA6B,CAAC,CAA9B,GAAkC,QAAlC,GAA6C,UAAnE;AACA,gBAAQ,CAAC,QAAT,CAAkB,eAAlB,EAAmC,aAAnC;AAEA,YAAM,aAAa,GAAG,KAAK,cAA3B;;AACA,YAAI,aAAJ,EAAmB;AACjB,kBAAQ,CAAC,WAAT,CAAqB,aAArB,EAAoC,QAApC;AACA,kBAAQ,CAAC,WAAT,CAAqB,aAArB,EAAoC,UAApC;AACA,kBAAQ,CAAC,QAAT,CAAkB,aAAlB,EAAiC,aAAjC;AACD;AACF;AACF;AAxUyB;;AAAA;AAAA,GAmB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuTA;AAAA,UAAqC;AAAA,UApPN,gEAAiB;AAoPX,GAArC,EApPoD;AAAA,UAAM;AAAN,GAoPpD,EApP+E;AAAA;AAAA;AAAA,YAAD,qDAAC;AAAK,aAAC,yDAAD;AAAL;AAAA,GAoP/E,EApPsG;AAAA,UAC/E,qDAAM;AADyE,GAoPtG,EAnPiC;AAAA,UAAmB,yDAAU;AAA7B,GAmPjC,EAnPkE;AAAA,UAA8B,wDAAS;AAAvC,GAmPlE,EAlPE;AAAA,UAA2B,SAA3B;AAAoC;AAAA,YAA/B,uDAAQ;AAAuB;AAApC,GAkPF;AAAA;;AAlTkD,0DAA/C,mEAAY,CAAC,eAAD,EAAkB;AAAC,QAAM,EAAE;AAAT,CAAlB,CAAmC;;AACkB,0DAAjE,mEAAY,CAAC,eAAD,EAAkB;AAAC,MAAI,EAAE,yDAAP;AAAmB,QAAM,EAAE;AAA3B,CAAlB,CAAqD;;AAChB,0DAAjD,mEAAY,CAAC,iBAAD,EAAoB;AAAC,QAAM,EAAE;AAAT,CAApB,CAAqC;;AAUzC,0DAAR,4DAAK,EAAG;;AAKM,0DAAd,4DAAK,CAAC,MAAD,CAAS;;AAeN,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AASC,0DAAT,6DAAM,EAAG;;AAhEC,WAAW,4DAApB,CADH,yDAAS,6DAoE0E,CApEhE,yDAoEgE,CApEnF,CACG,EAqEG,qDAtE8B,IAAU,+DAsEhC,EAtEsB,CACjC,CAAoB,EADsC,WACtC,CAAX;AAD0D,IAAc,uBAAc,GC7G/F,CAAC,WAAD,EAAc,iBAAd,EAAiC,iBAAjC,EAAoD,eAApD,EAAqE,eAArE,EAAsF,SAAtF,CD6GmE;;AC1GvE,IAAa,iBAAb;AAAA;AAAA;;AAAa,iBAAiB,KAAjB,GAAiB,gEADnB;AAAA;AAAA,CACmB,CAAjB;AADmC,iBAAW,KAAX,GAAW,gEAC9C;AAAA,oBACZ,yBADY,CACZ,CADY,EACZ;AAAA;AAAA;AADY,CAD8C,CAAX;ACiEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,cAAb;AAAA;;AAEE,kBAA+B,IAA/B;AAKA,kBAAW,IAAX;AAKD,CAZD;;;;AAYC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;IAb2B,U,GAD1B,oBCpFoB,KDoFpB,EAAU,OAAV,EAAsB,YAAtB,EAA8B;AAAA;;ACpFV,ODqFM,KCrFN;AAAqB;AAA0B;AAAoC,C;;IAG3F,Y;AAIX,wBACY,KADZ,EACgC,SADhC,EAC6D,iBAD7D,EAEY,SAFZ,EAE0C,yBAF1C,EAGY,eAHZ,EAG2C;AAAA;;AAF/B;AAAoB;AAA6B;AACjD;AAA8B;AAC9B;AAAmC;;;;WAE/C,cAAK,OAAL,EAA0C,OAA1C,EAAuD;AACrD,UAAI,CAAC,KAAK,UAAV,EAAsB;AACpB,aAAK,WAAL,GAAmB,KAAK,cAAL,CAAoB,OAApB,EAA6B,OAA7B,CAAnB;AACA,aAAK,UAAL,GAAkB,KAAK,iBAAL,CAAuB,eAAvB,CACd,KAAK,yBAAL,CAA+B,uBAA/B,CAA0D,KAAK,KAA/D,CADc,EACyD,KAAK,iBAAL,CAAuB,MADhF,EAEd,KAAK,SAFS,EAEE,KAAK,WAAL,CAAiB,KAFnB,CAAlB;AAGD;;AAED,aAAO,KAAK,UAAZ;AACD;;;WAED,iBAAK;AACH,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,iBAAL,CAAuB,MAAvB,CAA8B,KAAK,iBAAL,CAAuB,OAAvB,CAA+B,KAAK,UAAL,CAAgB,QAA/C,CAA9B;;AACA,aAAK,UAAL,GAAkB,IAAlB;;AAEA,YAAI,KAAK,WAAL,CAAiB,OAArB,EAA8B;AAC5B,eAAK,eAAL,CAAqB,UAArB,CAAgC,KAAK,WAAL,CAAiB,OAAjD;;AACA,eAAK,WAAL,CAAiB,OAAjB,CAAyB,OAAzB;;AACA,eAAK,WAAL,GAAmB,IAAnB;AACD;AACF;AACF;;;WAEO,wBAAe,OAAf,EAAmD,OAAnD,EAAgE;AACtE,UAAI,CAAC,OAAL,EAAc;AACZ,eAAO,IAAI,UAAJ,CAAe,EAAf,CAAP;AACD,OAFD,MAEO,IAAI,OAAO,YAAY,0DAAvB,EAAoC;AACzC,YAAM,OAAO,GAAG,OAAO,CAAC,kBAAR,CAA2B,OAA3B,CAAhB;;AACA,aAAK,eAAL,CAAqB,UAArB,CAAgC,OAAhC;;AACA,eAAO,IAAI,UAAJ,CAAe,CAAC,OAAO,CAAC,SAAT,CAAf,EAAoC,OAApC,CAAP;AACD,OAJM,MAIA;AACL,eAAO,IAAI,UAAJ,CAAe,CAAC,CAAC,KAAK,SAAL,CAAe,UAAf,WAA6B,OAA7B,EAAD,CAAD,CAAf,CAAP;AACD;AACF;;;;;;ACtDH,IAAM,IAAI,GAAG,SAAP,IAAO,IAAQ,CAArB;;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,SAAb;AACE,qBAAsC,SAAtC,EAAoD;AAAA;;AAAd;AAAkB;AAC1D;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;AAbX;AAAA;AAAA,WAaE,sBAAU;AACR,UAAM,KAAK,GAAG,KAAK,SAAL,EAAd;;AACA,aAAO,CAAC,KAAK,UAAL,CAAgB,KAAhB,CAAD,GAA0B,IAA1B,GAAiC,KAAK,WAAL,CAAiB,KAAjB,CAAxC;AACD;AACH;AAEC;AACE;AACE;AAEJ;;AAvBD;AAAA;AAAA,WAuBU,qBAAY,cAAZ,EAAkC;AACxC,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAA5B;AACA,UAAM,mBAAmB,GAAG,IAAI,CAAC,KAAL,CAAW,YAAvC;AACA,UAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAP,CAAwB,IAAxB,EAA8B,eAA9B,CAAD,CAAhC;AACA,UAAI,CAAC,KAAL,CAAW,eAAX,cAAiC,aAAa,GAAG,cAAjD;AACA,aAAO;AAAA,eAAM,IAAI,CAAC,KAAL,CAAW,eAAX,IAA8B,mBAApC;AAAA,OAAP;AACD;AACH;AAEC;AACE;AACE;AAEJ;;AApCD;AAAA;AAAA,WAoCU,oBAAW,cAAX,EAAiC;AACvC,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAAf,CAAoB,qBAApB,EAAb;;AACA,UAAM,iBAAiB,GAAG,MAAM,CAAC,UAAP,IAAqB,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,KAAtC,CAA1B;AACA,UAAM,WAAW,GAAG,MAAM,cAA1B;AACA,aAAO,iBAAiB,IAAI,cAAc,GAAG,WAA7C;AACD;AACH;AAEC;AACE;AACE;AAEJ;;AAhDD;AAAA;AAAA,WAgDU,qBAAS;AACf,UAAM,QAAQ,GAAG,KAAK,SAAL,CAAe,aAAf,CAA6B,KAA7B,CAAjB;;AACA,cAAQ,CAAC,SAAT,GAAqB,yBAArB;AAEA,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAA5B;AACA,UAAI,CAAC,WAAL,CAAiB,QAAjB;AACA,UAAM,KAAK,GAAG,QAAQ,CAAC,qBAAT,GAAiC,KAAjC,GAAyC,QAAQ,CAAC,WAAhE;AACA,UAAI,CAAC,WAAL,CAAiB,QAAjB;AAEA,aAAO,KAAP;AACD;AA1DH;;AAAA;AAAA;;;;AA2DC,C;;AACD;AAAA,UAAmC;AAAA;AAAA;AAAA,YA3DpB,qDA2DoB;AA3Dd,aAAC,yDAAD;AA2Dc;AAAA,GAAnC;AAAA;;AA3DyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAD5B,SAAS,4DAAlB,CADH,yDAAU,6DAEU,CAFE,yDAEF,CAFpB,CACG,CAAkB,EADS,SACT,CAAT;;AA4DX,ICvEW,gBAAb;AAAA;AAAA,CDuEE;;;;;;;;;;;;;;;;;;;;;;iBCrED;;;AADU,0DAAR,4DAAK,EAAG;ACHX;ADLC;ACOD;ADNU;AAEE;ACOZ;;;IACa,c;;;;;;;;ADNgF;AAAO;ACShG;AACE;AAEJ;AAAA,mBAAM,MAAN,EAAkB,CAAU;AAC9B;AAEC;AACE;AACE;AAEJ;;;;WAAC,iBAAQ,MAAR,EAAoB,CAAU;;;;;AAGhC;AACA;AACA;;;IACa,W;AAoBX,uBACY,cADZ,EACkE,WADlE,EAEY,gBAFZ,EAEuE,cAFvE,EAEgG;AAAA;;AAAA;;AADpF;AAAsD;AACtD;AAA2D;;AACrE,kBAAc,CAAC,QAAf,CAAwB,YAAxB,CAAqC,SAArC,CAA+C,UAAC,MAAD,EAAY;AAAO,aAAI,CAAC,OAAL,CAAa,MAAb;AAAuB,KAAzF;;AAEA,SAAK,MAAL,GAAc,IAAI,OAAJ,CAAY,UAAC,OAAD,EAAU,MAAV,EAAgB;AACxC,aAAI,CAAC,QAAL,GAAgB,OAAhB;AACA,aAAI,CAAC,OAAL,GAAe,MAAf;AACD,KAHa,CAAd;AAIA,SAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,EAAuB,aAAQ,CAA/B;AACD;AACH;AAEC;AAEG;AAAO;AAGX;;;;;SA7BE,eAAqB;AACnB,UAAI,KAAK,WAAL,IAAoB,KAAK,WAAL,CAAiB,YAAzC,EAAuD;AACrD,eAAO,KAAK,WAAL,CAAiB,YAAjB,CAA8B,QAArC;AACD;AACF;AACH;AAEC;AAAyD;AAAO;AAKjE;;;;WAgBE,eAAM,MAAN,EAAkB;AAChB,UAAI,KAAK,cAAT,EAAyB;AACvB,aAAK,QAAL,CAAc,MAAd;;AACA,aAAK,oBAAL;AACD;AACF;;;WAEO,kBAAS,MAAT,EAAqB;AAC3B,WAAK,OAAL,CAAa,MAAb;;AACA,WAAK,oBAAL;AACD;AACH;AAEC;AACE;AACE;AAEJ;;;;WAAC,iBAAQ,MAAR,EAAoB;AAAA;;AAClB,UAAI,KAAK,cAAT,EAAyB;AACvB,YAAI,CAAC,KAAK,cAAV,EAA0B;AACxB,eAAK,QAAL,CAAc,MAAd;AACD,SAFD,MAEO;AACL,cAAM,OAAO,GAAG,KAAK,cAAL,EAAhB;;AACA,cAAI,OAAO,IAAI,OAAO,CAAC,IAAvB,EAA6B;AAC3B,mBAAO,CAAC,IAAR,CACI,gBAAM;AACJ,kBAAI,MAAM,KAAK,KAAf,EAAsB;AACpB,uBAAI,CAAC,QAAL,CAAc,MAAd;AACD;AACF,aALL,EAMI,aAAQ,CANZ;AAOD,WARD,MAQO,IAAI,OAAO,KAAK,KAAhB,EAAuB;AAC5B,iBAAK,QAAL,CAAc,MAAd;AACD;AACF;AACF;AACF;;;WAEO,gCAAoB;AAC1B,UAAM,cAAc,GAAG,KAAK,cAAL,CAAoB,QAApB,CAA6B,aAApD;AACA,oBAAc,CAAC,UAAf,CAA0B,WAA1B,CAAsC,cAAtC;;AACA,WAAK,cAAL,CAAoB,OAApB;;AAEA,UAAI,KAAK,gBAAT,EAA2B;AACzB,YAAM,gBAAgB,GAAG,KAAK,gBAAL,CAAsB,QAAtB,CAA+B,aAAxD;AACA,wBAAgB,CAAC,UAAjB,CAA4B,WAA5B,CAAwC,gBAAxC;;AACA,aAAK,gBAAL,CAAsB,OAAtB;AACD;;AAED,UAAI,KAAK,WAAL,IAAoB,KAAK,WAAL,CAAiB,OAAzC,EAAkD;AAChD,aAAK,WAAL,CAAiB,OAAjB,CAAyB,OAAzB;AACD;;AAED,WAAK,cAAL,GAAsB,IAAtB;AACA,WAAK,gBAAL,GAAwB,IAAxB;AACA,WAAK,WAAL,GAAmB,IAAnB;AACD;;;;;;AAEF,IC/HW,mBD+HX;;AC/HD,WAAY,mBAAZ,EAA+B;AAC7B;AACA;AACD,CAHD,EAAY,mBAAmB,KAAnB,mBAAmB,MAA/B;;AAIC,ICoCY,cAAb;AAiBE,0BAC8B,SAD9B,EACsD,MADtD,EAC+F,KAD/F,EAC4G;AAAA;;AAA9E;AAAwB;AAAyC;AAhBvF,oBAAW,IAAI,6CAAJ,EAAX;AAMC,oBAA6B,IAA7B;AAEA,oBAAW,IAAX;AAKU,wBAAe,IAAI,2DAAJ,EAAf;AAG6F;;AAlBlH;AAAA;AAAA,WAoBE,iBAAQ,MAAR,EAAc;AAAU,WAAK,YAAL,CAAkB,IAAlB,CAAuB,MAAvB;AAAiC;AApB3D;AAAA;AAAA,WAsBE,oBAAQ;AAAK,WAAK,YAAL,GAAoB,KAAK,SAAL,CAAe,aAAnC;AAAmD;AAtBlE;AAAA;AAAA,WAwBE,2BAAe;AAAA;;AACb,UAAO,aAAP,GAAwB,KAAK,MAA7B,CAAO,aAAP;;AACA,WAAK,KAAL,CAAW,iBAAX,CAA6B;AAE3B,+DAAS,CAAgB,aAAhB,EAA+B,SAA/B,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,OAAI,CAAC,QAAN,CAFjB,EAGL;AACa,sEAAM,CAAC,WAAC;AAAA,iBAAI,CAAC,CAAC,KAAF,KAAY,GAAG,CAAC,MAAhB,IAA0B,OAAI,CAAC,QAAnC;AAAA,SAAF,CAJd,EAKK,SALL,CAKe,eAAK;AAAA,iBAAI,qBAAqB,CAAC;AAC7B,gBAAI,CAAC,KAAK,CAAC,gBAAX,EAA6B;AAC3B,qBAAI,CAAC,KAAL,CAAW,GAAX,CAAe;AAAA,uBAAM,OAAI,CAAC,OAAL,CAAa,mBAAmB,CAAC,GAAjC,CAAN;AAAA,eAAf;AACD;AACF,WAJ6B,CAAzB;AAAA,SALpB,EAF2B,CAYjC;AAEK;;AACC,YAAI,YAAY,GAAG,KAAnB;AACA,+DAAS,CAAa,OAAI,CAAC,SAAL,CAAe,aAA5B,EAA2C,WAA3C,CAAT,CACK,IADL,CAEQ,iEAAS,CAAC,OAAI,CAAC,QAAN,CAFjB,EAEkC,2DAAG,CAAC;AAAA,iBAAM,YAAY,GAAG,KAArB;AAAA,SAAD,CAFrC,EAGQ,iEAAS,CAAC;AAAA,iBAAM,uDAAS,CAAa,aAAb,EAA4B,SAA5B,CAAT,CAAgD,IAAhD,CAAqD,iEAAS,CAAC,OAAI,CAAC,QAAN,CAA9D,EAA+E,4DAAI,CAAC,CAAD,CAAnF,CAAN;AAAA,SAAD,CAHjB,EAIQ,8DAAM,CAAC;AAAA,cAAE,MAAF,UAAE,MAAF;AAAA,iBAAc,aAAa,KAAK,MAAhC;AAAA,SAAD,CAJd,EAKK,SALL,CAKe;AAAQ,sBAAY,GAAG,IAAf;AAAsB,SAL7C,EAhB2B,CAsBjC;AAEK;AACM;AACM;;AACX,+DAAS,CAAa,aAAb,EAA4B,OAA5B,CAAT,CAA8C,IAA9C,CAAmD,iEAAS,CAAC,OAAI,CAAC,QAAN,CAA5D,EAA6E,SAA7E,CAAuF,kBAAS;AAAA,cAAP,MAAO,UAAP,MAAO;;AAC9F,cAAI,OAAI,CAAC,QAAL,KAAkB,IAAlB,IAA0B,aAAa,KAAK,MAA5C,IAAsD,CAAC,YAA3D,EAAyE;AACvE,mBAAI,CAAC,KAAL,CAAW,GAAX,CAAe;AAAA,qBAAM,OAAI,CAAC,OAAL,CAAa,mBAAmB,CAAC,cAAjC,CAAN;AAAA,aAAf;AACD;;AACD,sBAAY,GAAG,KAAf;AACD,SALD;AAMD,OAjCD;;AAmCA,UAAI,CAAC,aAAa,CAAC,QAAd,CAAuB,QAAQ,CAAC,aAAhC,CAAL,EAAqD;AACnD,YAAM,aAAa,GAAG,aAAa,CAAC,aAAd,kBAAtB;AACA,YAAM,cAAc,GAAG,4BAA4B,CAAC,aAAD,CAA5B,CAA4C,CAA5C,CAAvB;AAEA,YAAM,cAAc,GAAG,aAAa,IAAI,cAAjB,IAAmC,aAA1D;AACA,sBAAc,CAAC,KAAf;AACD;AACF;AApEH;AAAA;AAAA,WAsEE,uBAAW;AAAA;;AACT,UAAM,IAAI,GAAG,KAAK,SAAL,CAAe,IAA5B;AACA,UAAM,WAAW,GAAG,KAAK,YAAzB;AAEA,UAAI,cAAJ;;AACA,UAAI,WAAW,IAAI,WAAW,CAAC,OAAD,CAA1B,IAAuC,IAAI,CAAC,QAAL,CAAc,WAAd,CAA3C,EAAuE;AACrE,sBAAc,GAAG,WAAjB;AACD,OAFD,MAEO;AACL,sBAAc,GAAG,IAAjB;AACD;;AACD,WAAK,KAAL,CAAW,iBAAX,CAA6B;AAC3B,kBAAU,CAAC;AAAA,iBAAM,cAAc,CAAC,KAAf,EAAN;AAAA,SAAD,CAAV;AACA,eAAI,CAAC,YAAL,GAAoB,IAApB;AACD,OAHD;;AAKA,WAAK,QAAL,CAAc,IAAd;AACD;AAtFH;;AAAA;AAAA,GDpCC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBC2HA;;;AACD;AAAA,UAAwC;AAAA;AAAA;AAAA,YAtEjC,qDAsEiC;AAtE3B,aAAC,yDAAD;AAsE2B;AAAA,GAAxC,EAtE+B;AAAA,UAAiC,yDAAU;AAA3C,GAsE/B,EAtE8E;AAAA,UAA0B,qDAAM;AAAhC,GAsE9E;AAAA;;AAnFuC,0DAApC,gEAAS,CAAC,QAAD,EAAW;AAAC,QAAM,EAAE;AAAT,CAAX,CAA2B;;AAE5B,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AAEU,0DAAlB,6DAAM,CAAC,SAAD,CAAY;;AAfR,cAAc,4DAAvB,CAlBH,yDAAS,6DAoCG,CAnCX,yDAmCW,CApCZ,CAkBG,CAAuB,EAjBf,cAiBe,CAAd;;AAjBiB,IAC5B,aAAM;ACSN,yBACY,eADZ,EACqD,SADrD,EACoG,SADpG,EAEY,UAFZ,EDRiF,gBCQjF,EDPQ,OCOR,EAEsG;AAAA;;AAAA;;AAD1F,SDPV,eCOU,GDPM,eCON;AAAyC,SDNhC,SCMgC,GDNxB,SCMwB;AAA+C,qBDL1E,SCK0E;ADLxD,sBAE5C,UAF4C;ACMD;AAA4C;AAV/E,uCAA8B,IAAI,6CAAJ,EAA9B;AACA,6BAA0C,IAAI,GAAJ,EAA1C;AACA,+BAAsB,CAAC,eAAD,CAAtB;AACA,sBAA4B,EAA5B;ADQL,6BCNC,CDOW,gBCPX,EDO4B,UCP5B,EAA+B,UAA/B,EAA2C,UAA3C,EAAuD,YAAvD,EAAqE,MAArE,EAA6E,aAA7E,CDMD;ACLK,wBAA+C,EAA/C,CAI8F,CAHxG;;AAKI,SDEH,2BCFG,CAAiC,SAAjC,CAA2C;AACzC,UAAI,OAAI,CAAC,YAAL,CAAkB,MAAtB,EAA8B;AAC5B,YAAM,gBAAgB,GAAG,OAAI,CAAC,YAAL,CAAkB,OAAI,CAAC,YAAL,CAAkB,MAAlB,GAA2B,CAA7C,CAAzB;AACA,oBAAY,CAAC,OAAI,CAAC,OAAN,EAAe,gBAAgB,CAAC,QAAjB,CAA0B,aAAzC,EAAwD,OAAI,CAAC,2BAA7D,CAAZ;;AACA,eAAI,CAAC,iBAAL;;AACA,eAAI,CAAC,cAAL,CAAoB,gBAAgB,CAAC,QAAjB,CAA0B,aAA9C;AACD;AACF,KAPD;AAQD;;ADrBK;AAAA;AAAA,WCuBN,cAAK,SAAL,EAA0C,eAA1C,EAAqE,OAArE,EAAmF,OAAnF,EAA0F;AAAA;;AACxF,UAAM,WAAW,GAAG,OAAO,CAAC,SAAR,YAA6B,WAA7B,GAA2C,OAAO,CAAC,SAAnD,GAA+D,SAAS,CAAC,OAAO,CAAC,SAAT,CAAT,GACpB,KAAK,SAAL,CAAe,aAAf,CAA6B,OAAO,CAAC,SAArC,CADoB,GAEpB,KAAK,SAAL,CAAe,IAF9E;;AAGA,UAAM,QAAQ,GAAG,KAAK,gBAAL,CAAsB,cAAtB,CAAqC,IAArC,EAA2C,IAA3C,CAAjB;;AAEA,UAAM,yBAAyB,GAAG,KAAK,UAAL,CAAgB,UAAhB,EAAlC;;AACA,UAAM,eAAe,GAAG,SAAlB,eAAkB;AACtB,YAAI,CAAC,OAAI,CAAC,UAAL,CAAgB,MAArB,EAA6B;AAC3B,kBAAQ,CAAC,WAAT,CAAqB,OAAI,CAAC,SAAL,CAAe,IAApC,EAA0C,YAA1C;;AACA,iBAAI,CAAC,iBAAL;AACD;AACF,OALD;;AAOA,UAAI,CAAC,WAAL,EAAkB;AAChB,cAAM,IAAI,KAAJ,2CAA4C,OAAO,CAAC,SAAR,IAAqB,MAAjE,kCAAN;AACD;;AAED,UAAM,WAAW,GAAG,IAAI,cAAJ,EAApB;;AACA,UAAM,UAAU,GACZ,KAAK,cAAL,CAAoB,SAApB,EAA+B,OAAO,CAAC,QAAR,IAAoB,eAAnD,EAAoE,OAApE,EAA6E,WAA7E,EAA0F,OAA1F,CADJ;;AAGA,UAAI,eAAe,GACf,OAAO,CAAC,QAAR,KAAqB,KAArB,GAA6B,KAAK,eAAL,CAAqB,SAArB,EAAgC,WAAhC,CAA7B,GAA4E,IADhF;;AAEA,UAAI,aAAa,GAAiC,KAAK,sBAAL,CAA4B,SAA5B,EAAuC,WAAvC,EAAoD,UAApD,CAAlD;;AACA,UAAI,WAAW,GAAgB,IAAI,WAAJ,CAAgB,aAAhB,EAA+B,UAA/B,EAA2C,eAA3C,EAA4D,OAAO,CAAC,aAApE,CAA/B;;AAEA,WAAK,iBAAL,CAAuB,WAAvB;;AACA,WAAK,mBAAL,CAAyB,aAAzB;;AACA,iBAAW,CAAC,MAAZ,CAAmB,IAAnB,CAAwB,yBAAxB,EAAmD,yBAAnD;AACA,iBAAW,CAAC,MAAZ,CAAmB,IAAnB,CAAwB,eAAxB,EAAyC,eAAzC;;AACA,iBAAW,CAAC,KAAZ,GAAoB,UAAC,MAAD,EAAY;AAAO,mBAAW,CAAC,KAAZ,CAAkB,MAAlB;AAA4B,OAAnE;;AACA,iBAAW,CAAC,OAAZ,GAAsB,UAAC,MAAD,EAAY;AAAO,mBAAW,CAAC,OAAZ,CAAoB,MAApB;AAA8B,OAAvE;;AAEA,WAAK,mBAAL,CAAyB,aAAa,CAAC,QAAvC,EAAiD,OAAjD;;AACA,UAAI,KAAK,UAAL,CAAgB,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,gBAAQ,CAAC,QAAT,CAAkB,KAAK,SAAL,CAAe,IAAjC,EAAuC,YAAvC;AACD;;AAED,UAAI,eAAe,IAAI,eAAe,CAAC,QAAvC,EAAiD;AAC/C,aAAK,qBAAL,CAA2B,eAAe,CAAC,QAA3C,EAAqD,OAArD;AACD;;AACD,aAAO,WAAP;AACD;ADlEK;AAAA;AAAA,WCoEN,oBAAW,MAAX,EAAuB;AAAI,WAAK,UAAL,CAAgB,OAAhB,CAAwB,qBAAW;AAAA,eAAI,WAAW,CAAC,OAAZ,CAAoB,MAApB,CAAJ;AAAA,OAAnC;AAAsE;ADpE3F;AAAA;AAAA,WCsEN,yBAAa;AAAc,aAAO,KAAK,UAAL,CAAgB,MAAhB,GAAyB,CAAhC;AAAoC;ADtEzD;AAAA;AAAA,WCwEE,yBAAgB,SAAhB,EAAqD,WAArD,EAAqE;AAC3E,UAAI,eAAe,GAAG,SAAS,CAAC,uBAAV,CAAkC,gBAAlC,CAAtB;AACA,UAAI,eAAe,GAAG,eAAe,CAAC,MAAhB,CAAuB,KAAK,SAA5B,CAAtB;;AACA,WAAK,eAAL,CAAqB,UAArB,CAAgC,eAAe,CAAC,QAAhD;;AACA,iBAAW,CAAC,WAAZ,CAAwB,eAAe,CAAC,QAAhB,CAAyB,aAAjD;AACA,aAAO,eAAP;AACD;AD9EK;AAAA;AAAA,WCgFE,gCAAuB,SAAvB,EAA4D,WAA5D,EAA8E,UAA9E,EAA6F;AAEnG,UAAI,aAAa,GAAG,SAAS,CAAC,uBAAV,CAAkC,cAAlC,CAApB;AACA,UAAI,aAAa,GAAG,aAAa,CAAC,MAAd,CAAqB,KAAK,SAA1B,EAAqC,UAAU,CAAC,KAAhD,CAApB;;AACA,WAAK,eAAL,CAAqB,UAArB,CAAgC,aAAa,CAAC,QAA9C;;AACA,iBAAW,CAAC,WAAZ,CAAwB,aAAa,CAAC,QAAd,CAAuB,aAA/C;AACA,aAAO,aAAP;AACD;ADvFK;AAAA;AAAA,WCyFE,6BAAoB,cAApB,EAAoD,OAApD,EAAmE;AACzE,WAAK,iBAAL,CAAuB,OAAvB,CAA+B,UAAC,UAAD,EAAmB;AAChD,YAAI,SAAS,CAAC,OAAO,CAAC,UAAD,CAAR,CAAb,EAAoC;AAClC,wBAAc,CAAC,UAAD,CAAd,GAA6B,OAAO,CAAC,UAAD,CAApC;AACD;AACF,OAJD;AAKD;AD/FK;AAAA;AAAA,WCiGE,+BAAsB,gBAAtB,EAA0D,OAA1D,EAAyE;AAC/E,WAAK,mBAAL,CAAyB,OAAzB,CAAiC,UAAC,UAAD,EAAmB;AAClD,YAAI,SAAS,CAAC,OAAO,CAAC,UAAD,CAAR,CAAb,EAAoC;AAClC,0BAAgB,CAAC,UAAD,CAAhB,GAA+B,OAAO,CAAC,UAAD,CAAtC;AACD;AACF,OAJD;AAKD;ADvGK;AAAA;AAAA,WCyGE,wBACJ,SADI,EACiC,eADjC,EAC4D,OAD5D,EAC0E,WAD1E,EAEJ,OAFI,EAEoB;AAC1B,UAAI,CAAC,OAAL,EAAc;AACZ,eAAO,IAAI,UAAJ,CAAe,EAAf,CAAP;AACD,OAFD,MAEO,IAAI,OAAO,YAAY,0DAAvB,EAAoC;AACzC,eAAO,KAAK,sBAAL,CAA4B,OAA5B,EAAqC,WAArC,CAAP;AACD,OAFM,MAEA,IAAI,QAAQ,CAAC,OAAD,CAAZ,EAAuB;AAC5B,eAAO,KAAK,iBAAL,CAAuB,OAAvB,CAAP;AACD,OAFM,MAEA;AACL,eAAO,KAAK,oBAAL,CAA0B,SAA1B,EAAqC,eAArC,EAAsD,OAAtD,EAA+D,WAA/D,EAA4E,OAA5E,CAAP;AACD;AACF;ADrHK;AAAA;AAAA,WCuHE,gCAAuB,OAAvB,EAAkD,WAAlD,EAA6E;AACnF,UAAM,OAAO,GAAG;AACd,iBAAS,EAAE,WADG;AAEd,aAFc,iBAER,MAFQ,EAEF;AAAI,qBAAW,CAAC,KAAZ,CAAkB,MAAlB;AAA4B,SAF9B;AAGd,eAHc,mBAGN,MAHM,EAGA;AAAI,qBAAW,CAAC,OAAZ,CAAoB,MAApB;AAA8B;AAHlC,OAAhB;AAKA,UAAM,OAAO,GAAG,OAAO,CAAC,kBAAR,CAA2B,OAA3B,CAAhB;;AACA,WAAK,eAAL,CAAqB,UAArB,CAAgC,OAAhC;;AACA,aAAO,IAAI,UAAJ,CAAe,CAAC,OAAO,CAAC,SAAT,CAAf,EAAoC,OAApC,CAAP;AACD;ADhIK;AAAA;AAAA,WCkIE,2BAAkB,OAAlB,EAAiC;AACvC,UAAM,SAAS,GAAG,KAAK,SAAL,CAAe,cAAf,WAAiC,OAAjC,EAAlB;;AACA,aAAO,IAAI,UAAJ,CAAe,CAAC,CAAC,SAAD,CAAD,CAAf,CAAP;AACD;ADrIK;AAAA;AAAA,WCuIE,8BACJ,SADI,EACiC,eADjC,EAC4D,OAD5D,EAC0E,OAD1E,EAEJ,OAFI,EAEoB;AAC1B,UAAM,kBAAkB,GAAG,SAAS,CAAC,uBAAV,CAAkC,OAAlC,CAA3B;AACA,UAAM,oBAAoB,GACtB,uDAAQ,CAAC,MAAT,CAAgB;AAAC,iBAAS,EAAE,CAAC;AAAC,iBAAO,EAAE,cAAV;AAA0B,kBAAQ,EAAE;AAApC,SAAD,CAAZ;AAA4D,cAAM,EAAE;AAApE,OAAhB,CADJ;AAEA,UAAM,YAAY,GAAG,kBAAkB,CAAC,MAAnB,CAA0B,oBAA1B,CAArB;AACA,UAAM,iBAAiB,GAAG,YAAY,CAAC,QAAb,CAAsB,aAAhD;;AACA,UAAI,OAAO,CAAC,UAAZ,EAAwB;AACrB,yBAAiC,CAAC,SAAlC,CAA4C,GAA5C,CAAgD,2BAAhD;AACF;;AACD,WAAK,eAAL,CAAqB,UAArB,CAAgC,YAAY,CAAC,QAA7C,EAT0B,CAU9B;AACI;;;AACA,aAAO,IAAI,UAAJ,CAAe,CAAC,CAAC,iBAAD,CAAD,CAAf,EAAsC,YAAY,CAAC,QAAnD,EAA6D,YAA7D,CAAP;AACD;ADtJK;AAAA;AAAA,WCwJE,wBAAe,OAAf,EAA+B;AAAA;;AACrC,UAAM,MAAM,GAAG,OAAO,CAAC,aAAvB;;AACA,UAAI,MAAM,IAAI,OAAO,KAAK,KAAK,SAAL,CAAe,IAAzC,EAA+C;AAC7C,aAAK,CAAC,IAAN,CAAW,MAAM,CAAC,QAAlB,EAA4B,OAA5B,CAAoC,iBAAO;AACzC,cAAI,OAAO,KAAK,OAAZ,IAAuB,OAAO,CAAC,QAAR,KAAqB,QAAhD,EAA0D;AACxD,mBAAI,CAAC,iBAAL,CAAuB,GAAvB,CAA2B,OAA3B,EAAoC,OAAO,CAAC,YAAR,CAAqB,aAArB,CAApC;;AACA,mBAAO,CAAC,YAAR,CAAqB,aAArB,EAAoC,MAApC;AACD;AACF,SALD;;AAOA,aAAK,cAAL,CAAoB,MAApB;AACD;AACF;ADpKK;AAAA;AAAA,WCsKE,6BAAiB;AACvB,WAAK,iBAAL,CAAuB,OAAvB,CAA+B,UAAC,KAAD,EAAQ,OAAR,EAAe;AAC5C,YAAI,KAAJ,EAAW;AACT,iBAAO,CAAC,YAAR,CAAqB,aAArB,EAAoC,KAApC;AACD,SAFD,MAEO;AACL,iBAAO,CAAC,eAAR,CAAwB,aAAxB;AACD;AACF,OAND;;AAOA,WAAK,iBAAL,CAAuB,KAAvB;AACD;AD/KK;AAAA;AAAA,WCiLE,2BAAkB,WAAlB,EAA0C;AAAA;;AAChD,UAAM,kBAAkB,GAAG,SAArB,kBAAqB;AACzB,YAAM,KAAK,GAAG,OAAI,CAAC,UAAL,CAAgB,OAAhB,CAAwB,WAAxB,CAAd;;AACA,YAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACd,iBAAI,CAAC,UAAL,CAAgB,MAAhB,CAAuB,KAAvB,EAA8B,CAA9B;AACD;AACF,OALD;;AAMA,WAAK,UAAL,CAAgB,IAAhB,CAAqB,WAArB;;AACA,iBAAW,CAAC,MAAZ,CAAmB,IAAnB,CAAwB,kBAAxB,EAA4C,kBAA5C;AACD;AD1LK;AAAA;AAAA,WC4LE,6BAAoB,aAApB,EAA+D;AAAA;;AACrE,WAAK,YAAL,CAAkB,IAAlB,CAAuB,aAAvB;;AACA,WAAK,2BAAL,CAAiC,IAAjC;;AAEA,mBAAa,CAAC,SAAd,CAAwB;AACtB,YAAM,KAAK,GAAG,OAAI,CAAC,YAAL,CAAkB,OAAlB,CAA0B,aAA1B,CAAd;;AACA,YAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACd,iBAAI,CAAC,YAAL,CAAkB,MAAlB,CAAyB,KAAzB,EAAgC,CAAhC;;AACA,iBAAI,CAAC,2BAAL,CAAiC,IAAjC;AACD;AACF,OAND;AAOD;ADvMK;;AAAA;AAAA,GADsB;;;;ACyM7B,C;;AACD;AAAA,UAAuC;AAAA,UA/LR,6DAAc;AA+LN,GAAvC,EA/LiD;AAAA,UAAiB,uDAAQ;AAAzB,GA+LjD,EA/L8E;AAAA;AAAA;AAAA,YAAD,qDAAC;AAAK,aAAC,yDAAD;AAAL;AAAA,GA+L9E,EA/LqG;AAAA,UAC3E;AAD2E,GA+LrG,EA9LuC;AAAA,UAAwB,+DAAgB;AAAxC,GA8LvC,EA9LmF;AAAA,UAAe,qDAAM;AAArB,GA8LnF;AAAA;;AA7LE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAZW,aAAa,4DAAtB,CADH,yDAAU,6DAWwE,CAX5D,yDAW4D,CAXlF,CACG,CAAsB,EADK,aACL,CAAb;AClBb;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,QAAb;AACE,oBACY,UADZ,EAC0D,SAD1D,EACuF,WADvF,EAEY,OAFZ,EAEmC;AAAA;;AADvB;AAA8C;AAA6B;AAC3E;AAA2B;AACzC;AAEC;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;AAdT;AAAA;AAAA,WAcE,cAAK,OAAL,EAAgD;AAAA,UAA7B,OAA6B,uEAAF,EAAE;AAC9C,UAAM,eAAe,GAAG,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAK,OAAvB,EAAgC,OAAhC,CAAxB;AACA,aAAO,KAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,UAA3B,EAAuC,KAAK,SAA5C,EAAuD,OAAvD,EAAgE,eAAhE,CAAP;AACD;AACH;AAEC;AACE;AACE;AAEJ;;AAxBD;AAAA;AAAA,WAwBE,oBAAW,MAAX,EAAuB;AAAI,WAAK,WAAL,CAAiB,UAAjB,CAA4B,MAA5B;AAAsC;AACnE;AAEC;AACE;AACE;AAEJ;;AA/BD;AAAA;AAAA,WA+BE,yBAAa;AAAc,aAAO,KAAK,WAAL,CAAiB,aAAjB,EAAP;AAA0C;AA/BvE;;AAAA;AAAA;;;;AAgCC,C;;AACD;AAAA,UAAkC;AAAA,UA/BR,uEAAwB;AA+BhB,GAAlC,EA/BsD;AAAA,UAAiB,uDAAQ;AAAzB,GA+BtD,EA/BmF;AAAA,UAAmB;AAAnB,GA+BnF,EA9BE;AAAA,UAAqB;AAArB,GA8BF;AAAA;;AA5BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AA4BE,IAjCmB,cADpB;AAAA;AAAA,CAkCC;;AAlCqB,cCII,CDHd,IADU,GACV,gECFH;AAAA,QACR;AADQ,CDEG,CADU;ACAU,cAAE,KAAF,GAAE,gEACjC;AAAA,SAAiB,EAAC,gCAAiC,CAAjC,EAAiC;AAAA,WACnD,UAAY,cAAZ,GADmD;AAGxC,GAHX;AAGW,cAAc,QAAd;AAHX,CADiC,CAAF;ACVjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,YAAb;AAAA;;AACE,uBAAgB,IAAhB;AACA,qBAAyC,YAAzC;AACA,eAA2B,SAA3B;AACD,CAJD;;;;AAIC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;ACIA,IDTyB,YCSP,GAAG,SDTI,YCSJ,CAAC,EAAD;AAAA,SDVpB,SCU0C,CDVhC,ECUgC,CDV1C,ICUkD,EAAE,KDV9B,ECUF;AAAA,CAArB;;ADV+B,QAAE,GACpB,YADkB;ACY/B,IAAI,UAAU,GAAG,CAAjB;AAiBA;AACA;AACA;AACA;AACA;;AAEA,IAAa,aAAb,GACE,uBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;+CAEC,E;;;AACD;AAAA,UAGiC;AAAA,UALC,0DAAW;AAKZ,GAHjC;AAAA;AAEA;AANC;AAQD;AACA;AACA;;;AAEA,IAAa,UAAb;AAqCE,sBAA8C,GAA9C,EAA0D,UAA1D,EAAqF;AAAA;;AAA3B;AAA4B;AAC/E;AAIL;AAAW;AAEA;;AA9BJ,oBAAW,KAAX,CAuB4E,CAtBvF;;AAwBI,SAAK,IAAL,GAAY,GAAZ;AACD;;AAxCH;AAAA;AAAA,WA0CE,iCAAqB;AACvB;AACI;AACI;AACI;AACR,WAAK,UAAL,GAAkB,KAAK,WAAL,CAAiB,KAAnC;AACD;AAhDH;AAAA;AAAA,WAkDE,oBAAQ;AACN,UAAI,CAAC,SAAS,CAAC,KAAK,KAAN,CAAd,EAA4B;AAC1B,aAAK,KAAL,qBAAwB,UAAU,EAAlC;AACD;AACF;AAtDH;AAAA;AAAA,SAwDE,eAAU;AAAK,aAAO,KAAK,IAAL,CAAU,QAAV,KAAuB,KAAK,EAAnC;AAAwC;AAxDzD;AAAA;AAAA,SA0DE,eAAM;AAAK,aAAO,YAAY,CAAC,KAAK,GAAN,CAAZ,GAAyB,KAAK,GAA9B,GAAoC,KAAK,KAAhD;AAAwD;AA1DrE;AAAA;AAAA,SA4DE,eAAc;AAAK,uBAAU,KAAK,KAAf;AAA+B;AA5DpD;AAAA;AAAA,WA8DE,wBAAY;AACV,aAAO,CAAC,SAAS,CAAC,KAAK,aAAN,CAAT,GAAgC,CAAC,KAAK,aAAtC,GAAsD,CAAC,KAAK,IAAL,CAAU,aAAlE,KAAoF,KAAK,MAAhG;AACD;AAhEH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiEC,Y;;;AACD;AAAA,UAG8B;AAAA;AAAA;AAAA,YAhCf,qDAgCe;AAhCT,aAAC,iEAAU,CAAC;AAAA,eAAM,MAAN;AAAA,OAAD,CAAX;AAgCS;AAAA,GAH9B,EA7BuD;AAAA,UAAiB,yDAAU;AAA3B,GA6BvD;AAAA;;AA3DW,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AASY,0DAApB,4DAAK,CAAC,YAAD,CAAe;;AAIiC,0DAArD,sEAAe,CAAC,aAAD,EAAgB;AAAC,aAAW,EAAE;AAAd,CAAhB,CAAsC;;AAnC3C,UAAU,4DAAnB,CADH,yDAAS,6DAsCW,CAtCD,iEAsCY,CAAC;AAAA,SAtCG,MAsCH;AAAA,CAAD,CAAX,CAtCpB,CACG,CAAmB,EADuB,UACvB,CAAV;AAD+C;AAAE;AAuE9D;AACA;AACA;;AAWA,IAAa,MAAb;AAsCE,kBAAsC,IAAtC,EAAoD,MAApD,EAAkF,GAAlF,EAAwG;AAAA;;AAAlE;AAA4C;AAAuB;AAClG;AACW;AAIhB;AACK;AAET;;AAjCY,0BAAiB,IAAI,2DAAJ,EAAjB;AACZ;AAEK;AAC2B;AAC3B;AAMiC;AAAW;AAKnC;;AAqBF,qBAAY,IAAI,2DAAJ,EAAZ;AAZR,SAAK,aAAL,GAAqB,MAAM,CAAC,aAA5B;AACA,SAAK,WAAL,GAAmB,MAAM,CAAC,WAA1B;AACA,SAAK,KAAL,GAAa,MAAM,CAAC,KAApB;AACD;;AA1CH;AAAA;AAAA,WAqDE,eAAM,IAAN,EAAsB;AACpB,UAAI,CAAC,IAAI,CAAC,QAAV,EAAoB;AAClB,aAAK,eAAL,CAAqB,IAAI,CAAC,EAA1B;AACD;AACF;AACH;AAEC;AACE;AACE;;AA9DL;AAAA;AAAA,WA+DE,gBAAO,EAAP,EAAc;AAAI,WAAK,eAAL,CAAqB,EAArB,EAAyB,KAAzB;AAAkC;AA/DtD;AAAA;AAAA,WAiEE,8BAAkB;AAChB,UAAI,CAAC,SAAS,CAAC,KAAK,QAAN,CAAd,EAA+B;AAC7B,YAAM,OAAM,GAAG,KAAK,KAAL,CAAW,KAAX,GAAmB,KAAK,KAAL,CAAW,KAAX,CAAiB,EAApC,GAAyC,IAAxD;;AACA,YAAI,YAAY,CAAC,OAAD,CAAhB,EAA0B;AACxB,eAAK,eAAL,CAAqB,OAArB,EAA6B,KAA7B;;AACA,eAAK,GAAL,CAAS,aAAT;AACD;AACF;AACF;AAzEH;AAAA;AAAA,WA2EU,yBAAgB,MAAhB,EAAiD;AAAA,UAApB,aAAoB,uEAAJ,IAAI;;AACvD,UAAI,KAAK,QAAL,KAAkB,MAAtB,EAA8B;AAC5B,YAAI,gBAAgB,GAAG,KAAvB;;AAEA,YAAI,aAAJ,EAAmB;AACjB,eAAK,SAAL,CAAe,IAAf,CAAoB;AAAC,oBAAQ,EAAE,KAAK,QAAhB;AAA0B,kBAAM,EAAN,MAA1B;AAAkC,0BAAc,EAAE;AAAQ,8BAAgB,GAAG,IAAnB;AAA0B;AAApF,WAApB;AACD;;AAED,YAAI,CAAC,gBAAL,EAAuB;AACrB,eAAK,QAAL,GAAgB,MAAhB;AACA,eAAK,cAAL,CAAoB,IAApB,CAAyB,MAAzB;AACD;AACF;AACF;AAxFH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAyFC,Q;;;AACD;AAAA,UAG0B;AAAA;AAAA;AAAA,YAvDX,wDAuDW;AAvDF,aAAC,MAAD;AAuDE;AAAA,GAH1B,EApDwC;AAAA,UAAsB;AAAtB,GAoDxC,EApD8E;AAAA,UAAW,gEAAiB;AAA5B,GAoD9E;AAAA;;AApFW,0DAAR,4DAAK,EAAG;;AAQC,0DAAT,6DAAM,EAAG;;AAMD,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAEoB,0DAA5B,sEAAe,CAAC,UAAD,CAAa;;AAenB,0DAAT,6DAAM,EAAG;;AAnDC,MAAM,4DAAf,CAVH,yDAAS,gEAgDc,CA/CtB,MA+CsB,CAhDvB,CAUG,CAAe,EATP,MASO,CAAN;AATS;AACpB;AACI;AACF;AAsGJ;;AAkBA,IAxHiB,UAAQ;AACA,sBAwHe,IAxHf,EAwHoC,OAxHpC,EAwHgE,GAxHhE,EAwH2E;AAAA;;AAA5D;AAAqB,SAvHhC,OAuHgC;AAA4B;AAAe;;AAzH/E;AAAA;AAAA,WA2HvB,2BAAe;AAzH0F;AA2HvG,aAAO,KAAK,OAAL,CAAa,UAAb,CAAwB,aAAxB,CAAsC,QAAtC,KAAmD,IAAI,CAAC,YAA/D;AACD;AA9HsB;;AAAA;AAAA,GAwHzB;;;;;;;;;;;;;;;;;;;;;;;;AAOC;;;AACD;AAAA,UAG8B;AAAA;AAAA;AAAA,YAVf,wDAUe;AAVN,aAAC,MAAD;AAUM;AAAA,GAH9B,EAPwC;AAAA,UAA8B;AAA9B,GAOxC,EAPoF;AAAA,UAAU;AAAV,GAOpF;AAAA;;AARa,UAAU,4DAAnB,CAjBH,yDAAS,gEAkBc,CAjBtB,MAiBsB,CAlBvB,CAiBG,CAAmB,EAhBX,UAgBW,CAAV;AAhBc;AACzB;ACzOF;AD2OsB;ACzOtB;;AAmBA,IDuNI,YAAkB;AAAA;AAAA,CCvNtB;;ADuN2C,6BACvC,oBADuC,CACxB,CADwB,EACxB;AAAA;AAA6C,CADrB;;AAEvC,YAAM,KAAN,GAAU,iEACV;AAAgB,MAAE,cAAlB;AAAkC,aAClC,sBAAoB,EAApB,EADA;AACoB,YAAkB,CADtC;AACsC,cACtC,qCAAmB,EAAnB,EAAmB,GAAnB,EAAmB;AAAA,UAAmC,IAAnC,EAAmC;AACtD,iEAAsB,aAAtB,EAAwB,IAAxB;;GAHA;;cAG4E,U;AAAA,SAC5E;GAJA;AAIwB,aAJxB;AAIwC,UAJxC;AAIwC,MACxC,GALA;AAKA,qBAAwB,EAAxB,EAAwB,CAAxB,EAAwB,SAAxB,GAA0C,sBACjC,CADiC,EAC/B,IAD+B,EAC/B,QAD+B,EAC/B,CAD+B,EAC/B,MAD+B,CAA1C,EACW,gBAA6C,CAA7C,EAA6C,IAA7C,CADX,EAED,wBACD,yBADC,CAFC,CALA;AAQF;AAAA;;;;;;;GARE;kMAAA;iBChNH;ADgNG,CADU,CAAV;;ACrNO,0DAAR,4DAAK,EAAG;;AAKc,0DAAtB,4DAAK,CAAC,cAAD,CAAiB;;ACzBzB,IDgByB,kBChBD,GAAG,CDF1B,aCE0B,EAAgB,MAAhB,EDDjB,UCCiB,EAAoC,UAApC,EDDC,YCCD,CAA3B;;ADAM,IAAG,YAAqB;AAAA;AAAA,CAAxB;;AACJ,YCEuB,CDFV,IAAb,GAAe,gECCN;AAAA,MDAT;ACAS,CDDM,CAAf;ACCyC,YAAE,KAAF,GAAW,gEAA2B;AAAE,SAAC,WAAe,oBAAf,CAEnF,CAFmF,EAEnF;AAAA;AAAA,GAFgF;AAEhF;AAFgF,CAA3B,CAAX;ACV3C;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,mBAAb;AAAA;;AFeG,kBEdU,KFcV;AEbD,uBAAgB,KAAhB;AACA,wBAAiB,IAAjB;AACA,kBAAW,IAAX;AACA,iBAAU,CAAV;AACA,kBAAW,EAAX;AACA,gBAAS,KAAT;AAED,CATD;;;;AASC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACkCA;AD7CC;AC+CD;AD/CuB;ACiDvB;;AAEA,IDlDgC,qBCkDhC,GACE,+BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,CAD3E;;;;;;;;uDAEC,E;;;AACD;AAAA,UAE0C;AAAA,UAJR,0DAAW;AAIH,GAF1C;AAAA;AACA;AALC;AAOD;AAPoB;AASpB;;;AAEA,IAAa,kBAX8C,GAYzD,4BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,CAD3E;;;;;;;;oDAEC,E;;;AACD;AAAA,UAEuC;AAAA,UAJL,0DAAW;AAIN,GAFvC;AAAA;AACA;AALC;AAOD;AAPoB;AASpB;;;AAEA,IAXuD,iBAC1C,GAWX,2BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,CAD3E;;;;;;;;mDAEC,E;;;AACD;AAAA,UAEsC;AAAA,UAJJ,0DAAW;AAIP,GAFtC;AAAA;AACA;AALC;AAOD;AAPoB;AASpB;;;AAEA,IAXsD,iBACzC,GAWX,2BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,CAD3E;;;;;;;;mDAEC,E;;;AACD;AAAA,UAEsC;AAAA,UAJJ,0DAAW;AAIP,GAFtC;AAAA;AACA;AALC;AAOD;AACA;AACA;;;AAEA,IAXsD,mBACxB,GAW5B,6BAAmB,WAAnB,EAAuE;AAAA;;AAApD;AAAwD,CAD7E;;;;;;;;qDAEC,E;;;AACD;AAAA,UAEwC;AAAA,UAJN,0DAAW;AAIL,GAFxC;AAAA;AACA;AALC;AAAmB;AAAE;AAStB;;;AAEA,IAXwD,qBACxB,GAW9B,+BAAmB,WAAnB,EAAqE;AAAA;;AAAlD;AAAsD,CAD3E;;;;;;;;uDAEC,E;;;AACD;AAAA,UAE0C;AAAA,UAJR,0DAAW;AAIH,GAF1C;AAAA;AACA;AALC;AAOD;;;AAP0D,IAAC,aACzB;AAyJhC,yBAAY,MAAZ,EAAuC;AAAA;;AA/EvC,qBAAY,CAAZ;AACA,iBAAkB,EAAlB;AACF;AACW;AAA8B;AAAW;AACnD;;AAoDU,gBAAO,CAAP;AACX;AAEK;AAK0C;AAAW;AAEnD;AAAW;AAAyC;;AAI/C,sBAAa,IAAI,2DAAJ,CAAyB,IAAzB,CAAb;AAUR,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,aAAL,GAAqB,MAAM,CAAC,aAA5B;AACA,SAAK,cAAL,GAAsB,MAAM,CAAC,cAA7B;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,OAAL,GAAe,MAAM,CAAC,OAAtB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,MAAL,GAAc,MAAM,CAAC,MAArB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACD;;AAlK+B;AAAA;AAAA,WAoKhC,uBAAW;AAAc,aAAO,KAAK,IAAL,GAAY,CAAnB;AAAuB;AApKhB;AAAA;AAAA,WAsKhC,mBAAO;AAAc,aAAO,KAAK,IAAL,GAAY,KAAK,SAAxB;AAAoC;AAtKzB;AAAA;AAAA,WAwKhC,wBAAY;AAAc,aAAO,CAAC,KAAK,OAAL,EAAD,IAAmB,KAAK,QAA/B;AAA0C;AAxKpC;AAAA;AAAA,WA0KhC,4BAAgB;AAAc,aAAO,CAAC,KAAK,WAAL,EAAD,IAAuB,KAAK,QAAnC;AAA8C;AA1K5C;AAAA;AAAA,WA4KhC,oBAAW,UAAX,EAA6B;AAAU,WAAK,YAAL,CAAkB,UAAlB;AAAgC;AA5KvC;AAAA;AAAA,WA8KhC,qBAAY,OAAZ,EAAkC;AAAU,WAAK,YAAL,CAAkB,KAAK,IAAvB;AAA+B;AA9K3C;AAAA;AAAA,WAgLhC,oBAAW,UAAX,EAAqB;AAAa,aAAO,UAAU,KAAK,CAAC,CAAvB;AAA2B;AAC/D;AAEC;AACE;;AApL+B;AAAA;AAAA,WAqLxB,wBAAe,KAAf,EAA8B,GAA9B,EAAyC;AAC/C,UAAI,KAAK,QAAT,EAAmB;AACjB,YAAI,KAAK,GAAG,CAAZ,EAAe;AACrB;AACQ;AACQ;AACQ;AAChB,cAAI,KAAK,GAAG,CAAZ,EAAe;AACb,iBAAK,KAAL,CAAW,OAAX,CAAmB,CAAC,CAApB;AACD,WAFD,MAEO,IAAI,KAAK,KAAK,CAAd,EAAiB;AACtB,iBAAK,KAAL,CAAW,OAAX,CAAmB,CAAnB;AACD;;AACD,eAAK,KAAL,CAAW,OAAX,CAAmB,CAAnB;AACD;;AACD,YAAI,GAAG,GAAG,KAAK,SAAf,EAA0B;AAChC;AACQ;AACQ;AACQ;AAChB,cAAI,GAAG,GAAI,KAAK,SAAL,GAAiB,CAA5B,EAAgC;AAC9B,iBAAK,KAAL,CAAW,IAAX,CAAgB,CAAC,CAAjB;AACD,WAFD,MAEO,IAAI,GAAG,KAAM,KAAK,SAAL,GAAiB,CAA9B,EAAkC;AACvC,iBAAK,KAAL,CAAW,IAAX,CAAgB,KAAK,SAAL,GAAiB,CAAjC;AACD;;AACD,eAAK,KAAL,CAAW,IAAX,CAAgB,KAAK,SAArB;AACD;AACF;AACF;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEJ;;AA1N2B;AAAA;AAAA,WA0NxB,0BAAc;AACpB,UAAI,KAAK,GAAG,CAAZ;AACA,UAAI,GAAG,GAAG,KAAK,SAAf;AACA,UAAI,UAAU,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,OAAL,GAAe,CAA1B,CAAjB;AACA,UAAI,WAAW,GAAG,KAAK,OAAL,GAAe,CAAf,KAAqB,CAArB,GAAyB,UAAU,GAAG,CAAtC,GAA0C,UAA5D;;AAEA,UAAI,KAAK,IAAL,IAAa,UAAjB,EAA6B;AACjC;AACM,WAAG,GAAG,KAAK,OAAX;AACD,OAHD,MAGO,IAAI,KAAK,SAAL,GAAiB,KAAK,IAAtB,GAA6B,UAAjC,EAA6C;AACxD;AACM,aAAK,GAAG,KAAK,SAAL,GAAiB,KAAK,OAA9B;AACD,OAHM,MAGA;AACX;AACM,aAAK,GAAG,KAAK,IAAL,GAAY,UAAZ,GAAyB,CAAjC;AACA,WAAG,GAAG,KAAK,IAAL,GAAY,WAAlB;AACD;;AAED,aAAO,CAAC,KAAD,EAAQ,GAAR,CAAP;AACD;AACH;AAEC;AACE;;AAjP+B;AAAA;AAAA,WAkPxB,4BAAgB;AACtB,UAAI,IAAI,GAAG,IAAI,CAAC,IAAL,CAAU,KAAK,IAAL,GAAY,KAAK,OAA3B,IAAsC,CAAjD;AACA,UAAI,KAAK,GAAG,IAAI,GAAG,KAAK,OAAxB;AACA,UAAI,GAAG,GAAG,KAAK,GAAG,KAAK,OAAvB;AAEA,aAAO,CAAC,KAAD,EAAQ,GAAR,CAAP;AACD;AAxP+B;AAAA;AAAA,WA0PxB,yBAAgB,SAAhB,EAAyB;AAC/B,UAAM,UAAU,GAAG,KAAK,IAAxB;AACA,WAAK,IAAL,GAAY,eAAe,CAAC,SAAD,EAAY,KAAK,SAAjB,EAA4B,CAA5B,CAA3B;;AAEA,UAAI,KAAK,IAAL,KAAc,UAAd,IAA4B,QAAQ,CAAC,KAAK,cAAN,CAAxC,EAA+D;AAC7D,aAAK,UAAL,CAAgB,IAAhB,CAAqB,KAAK,IAA1B;AACD;AACF;AAjQ+B;AAAA;AAAA,WAmQxB,sBAAa,OAAb,EAA4B;AAClC,WAAK,SAAL,GAAiB,IAAI,CAAC,IAAL,CAAU,KAAK,cAAL,GAAsB,KAAK,QAArC,CAAjB;;AAEA,UAAI,CAAC,QAAQ,CAAC,KAAK,SAAN,CAAb,EAA+B;AAC7B,aAAK,SAAL,GAAiB,CAAjB;AACD,OALiC,CAMtC;;;AAEI,WAAK,KAAL,CAAW,MAAX,GAAoB,CAApB;;AACA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,IAAI,KAAK,SAA1B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,aAAK,KAAL,CAAW,IAAX,CAAgB,CAAhB;AACD,OAXiC,CAYtC;;;AAEI,WAAK,eAAL,CAAqB,OAArB,EAdkC,CAetC;;;AAEI,UAAI,KAAK,OAAL,GAAe,CAAf,IAAoB,KAAK,SAAL,GAAiB,KAAK,OAA9C,EAAuD;AACrD,YAAI,KAAK,GAAG,CAAZ;AACA,YAAI,GAAG,GAAG,KAAK,SAAf,CAFqD,CAG3D;;AAEM,YAAI,KAAK,MAAT,EAAiB;AAAA,qCACA,KAAK,cAAL,EADA;;AAAA;;AACd,eADc;AACP,aADO;AAEhB,SAFD,MAEO;AAAA,sCACU,KAAK,gBAAL,EADV;;AAAA;;AACJ,eADI;AACG,aADH;AAEN;;AAED,aAAK,KAAL,GAAa,KAAK,KAAL,CAAW,KAAX,CAAiB,KAAjB,EAAwB,GAAxB,CAAb,CAXqD,CAY3D;;AAEM,aAAK,cAAL,CAAoB,KAApB,EAA2B,GAA3B;AACD;AACF;AApS+B;;AAAA;AAAA,GADwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAsSzD;;;AACD;AAAA,UAAuC;AAAA,UA7IjB;AA6IiB,GAAvC;AAAA;;AAzNwD,0DAArD,mEAAY,CAAC,qBAAD,EAAwB;AAAC,QAAM,EAAE;AAAT,CAAxB,CAAyC;;AACH,0DAAlD,mEAAY,CAAC,kBAAD,EAAqB;AAAC,QAAM,EAAE;AAAT,CAArB,CAAsC;;AACD,0DAAjD,mEAAY,CAAC,iBAAD,EAAoB;AAAC,QAAM,EAAE;AAAT,CAApB,CAAqC;;AACA,0DAAjD,mEAAY,CAAC,iBAAD,EAAoB;AAAC,QAAM,EAAE;AAAT,CAApB,CAAqC;;AACE,0DAAnD,mEAAY,CAAC,mBAAD,EAAsB;AAAC,QAAM,EAAE;AAAT,CAAtB,CAAuC;;AACE,0DAArD,mEAAY,CAAC,qBAAD,EAAwB;AAAC,QAAM,EAAE;AAAT,CAAxB,CAAyC;;AAK7C,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AASC,0DAAT,6DAAM,EAAG;;AAOD,0DAAR,4DAAK,EAAG;;AC5OX,ID8J0B,UC9JV,GAAG,CD4FlB,aC5FkB,ED4FT,qBC5FS,ED6FS,kBC7FT,ED8FjB,iBC9FiB,ED8FF,iBC9FE,ED8FuB,mBC9FvB,ED+Fb,qBC/Fa,CAAnB;;AD+F6B,IAC3B,mBAAU;AAAA;AAAA,CADiB;;ACzFhB,mBAAmB,KAAnB,GAAmB,gEADrB;AAAA;AAAA,CACqB,CAAnB;AAD+B,mBAAc,KAAd,GAAwB,gEACvD;AAAA,oBACZ,2BADY,CACZ,CADY,EACZ;AAAA;AAAA,GADY;AACZ;AADY,CADuD,CAAxB;;IC1B/B,O;AACX,mBAAmB,IAAnB,EAAwC,KAAxC,EAAsD;AAAA;;AAAnC;AAAqB;;AACtC,QAAI,CAAC,KAAL,EAAY;AACV,WAAK,KAAL,GAAa,IAAb;AACD;AACF;;;;WAED,oBAAQ;AAAK,aAAO,KAAK,IAAL,KAAc,QAAd,IAA0B,KAAK,KAAL,KAAe,QAAhD;AAA2D;;;;;;AAG1E,IAAM,eAAe,GAAG;AACtB,WAAS,CAAC,YAAD,EAAe,YAAf,CADa;AAEtB,WAAS,CAAC,SAAD,EAAY,UAAZ;AAFa,CAAxB;;AAKA,SAAgB,aAAhB,CAA8B,QAA9B,EAAyE;AAAA,MAAzB,OAAyB,uEAAf,eAAe;AACvE,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,EAAb,EAAiB,IAAjB,EAAxB;;AAEA,MAAI,eAAe,CAAC,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,WAAO,EAAP;AACD;;AAED,MAAM,cAAc,GAAG,eAAe,CAAC,KAAhB,CAAsB,KAAtB,EAA6B,GAA7B,CAAiC,iBAAO;AAAA,WAAI,OAAO,CAAC,KAAR,CAAc,GAAd,CAAJ;AAAA,GAAxC,EAAgE,GAAhE,CAAoE,UAAC,WAAD,EAAY;AACrG,QAAI,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAP,IAA2B,WAAvC;AACA,WAAO,IAAI,OAAJ,CAAY,KAAK,CAAC,CAAD,CAAjB,EAAsB,KAAK,CAAC,CAAD,CAA3B,CAAP;AACD,GAHsB,CAAvB;AAKA,MAAM,cAAc,GAAG,cAAc,CAAC,MAAf,CAAsB,qBAAW;AAAA,WAAI,WAAW,CAAC,QAAZ,EAAJ;AAAA,GAAjC,CAAvB;;AAEA,MAAI,cAAc,CAAC,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,UAAM,0DAAN;AACD;;AAED,MAAI,cAAc,CAAC,MAAf,KAA0B,CAA1B,IAA+B,cAAc,CAAC,MAAf,GAAwB,CAA3D,EAA8D;AAC5D,UAAM,0EAAN;AACD;;AAED,SAAO,cAAP;AACD;;AAED,SAAgB,eAAhB,CAAgC,QAAhC,EAA+C,aAA/C,EAAmE,QAAnE,EAAwF,UAAxF,EAAiH;AAC/G,SAAO,IAAI,gDAAJ,CAAwB,oBAAU;AACvC,QAAM,SAAS,GAAG,EAAlB;;AACA,QAAM,MAAM,GAAG,SAAT,MAAS;AAAA,aAAM,UAAU,CAAC,IAAX,CAAgB,IAAhB,CAAN;AAAA,KAAf;;AACA,QAAM,OAAO,GAAG,SAAV,OAAU;AAAA,aAAM,UAAU,CAAC,IAAX,CAAgB,KAAhB,CAAN;AAAA,KAAhB;;AACA,QAAM,QAAQ,GAAG,SAAX,QAAW;AAAA,aAAM,UAAU,CAAC,IAAX,CAAgB,CAAC,UAAU,EAA3B,CAAN;AAAA,KAAjB;;AAEA,YAAQ,CAAC,OAAT,CAAiB,UAAC,OAAD,EAAiB;AAChC,UAAI,OAAO,CAAC,IAAR,KAAiB,OAAO,CAAC,KAA7B,EAAoC;AAClC,iBAAS,CAAC,IAAV,CAAe,QAAQ,CAAC,MAAT,CAAgB,aAAhB,EAA+B,OAAO,CAAC,IAAvC,EAA6C,QAA7C,CAAf;AACD,OAFD,MAEO;AACL,iBAAS,CAAC,IAAV,CACI,QAAQ,CAAC,MAAT,CAAgB,aAAhB,EAA+B,OAAO,CAAC,IAAvC,EAA6C,MAA7C,CADJ,EAEI,QAAQ,CAAC,MAAT,CAAgB,aAAhB,EAA+B,OAAO,CAAC,KAAvC,EAA8C,OAA9C,CAFJ;AAGD;AACF,KARD;AAUA,WAAO;AAAQ,eAAS,CAAC,OAAV,CAAkB,uBAAa;AAAA,eAAI,aAAa,EAAjB;AAAA,OAA/B;AAAsD,KAArE;AACD,GAjBM,CAAP;AAkBD;;AAED,IAAM,WAAW,GAAG,SAAd,WAAc,CAAI,IAAJ;AAAA,SAAqB,IAAI,GAAG,CAAP,GAAW,6DAAK,CAAI,IAAJ,CAAhB,GAA4B,UAAC,CAAD;AAAA,WAAsB,CAAtB;AAAA,GAAjD;AAAA,CAApB;;AACA;;AACA,SAAgB,YAAhB,CAA6B,SAA7B,EAAgD,UAAhD,EAAoE,UAApE,EAA6F;AAC3F,SAAO,UAAC,MAAD,EAA4B;AACjC,QAAI,OAAO,GAAG,IAAd;AACA,QAAM,cAAc,GAAG,MAAM,CAAC,IAAP,CACnB,2DAAG,CAAC,cAAI;AAAA,aAAK;AAAC,YAAI,EAAJ;AAAD,OAAL;AAAA,KAAL,CADgB,EACI,8DAAM,CAAC,eAAK;AACjC,UAAM,aAAa,GAAG,UAAU,EAAhC;;AACA,UAAI,aAAa,KAAK,KAAK,CAAC,IAAxB,KAAiC,CAAC,OAAD,IAAY,OAAO,CAAC,IAAR,KAAiB,aAA9D,CAAJ,EAAkF;AAChF,eAAO,GAAG,KAAV;AACA,eAAO,IAAP;AACD;;AACD,UAAI,OAAO,IAAI,OAAO,CAAC,IAAR,KAAiB,KAAK,CAAC,IAAtC,EAA4C;AAC1C,eAAO,GAAG,IAAV;AACD;;AACD,aAAO,KAAP;AACD,KAV4B,CADV,EAYnB,6DAAK,EAZc,CAAvB;AAaA,QAAM,YAAY,GAAG,cAAc,CAAC,IAAf,CAAoB,8DAAM,CAAC,eAAK;AAAA,aAAI,KAAK,CAAC,IAAV;AAAA,KAAN,CAA1B,EAAiD,WAAW,CAAC,SAAD,CAA5D,CAArB;AACA,QAAM,aAAa,GAAG,cAAc,CAAC,IAAf,CAAoB,8DAAM,CAAC,eAAK;AAAA,aAAI,CAAC,KAAK,CAAC,IAAX;AAAA,KAAN,CAA1B,EAAkD,WAAW,CAAC,UAAD,CAA7D,CAAtB;AACA,WAAO,mDAAK,CAAC,YAAD,EAAe,aAAf,CAAL,CACF,IADE,CAEC,8DAAM,CAAC,eAAK;AACV,UAAI,KAAK,KAAK,OAAd,EAAuB;AACrB,eAAO,GAAG,IAAV;AACA,eAAO,KAAK,CAAC,IAAN,KAAe,UAAU,EAAhC;AACD;;AACD,aAAO,KAAP;AACD,KANK,CAFP,EASC,2DAAG,CAAC,eAAK;AAAA,aAAI,KAAK,CAAC,IAAV;AAAA,KAAN,CATJ,CAAP;AAUD,GA3BD;AA4BD;;AAED,SAAgB,gBAAhB,CACI,QADJ,EACmB,aADnB,EACuC,QADvC,EACyD,UADzD,EACoF,MADpF,EAC4F,OAD5F,EAEkB;AAAA,MADmF,SACnF,uEAD+F,CAC/F;AAAA,MAAd,UAAc,uEAAD,CAAC;AAChB,MAAM,cAAc,GAAG,aAAa,CAAC,QAAD,CAApC;;AAEA,MAAI,cAAc,CAAC,MAAf,KAA0B,CAA1B,IAA+B,cAAc,CAAC,CAAD,CAAd,CAAkB,QAAlB,EAAnC,EAAiE;AAC/D,WAAO,aAAQ,CAAf;AACD;;AAED,MAAM,YAAY,GAAG,eAAe,CAAC,QAAD,EAAW,aAAX,EAA0B,cAA1B,EAA0C,UAA1C,CAAf,CACK,IADL,CACU,YAAY,CAAC,SAAD,EAAY,UAAZ,EAAwB,UAAxB,CADtB,EAEK,SAFL,CAEe,cAAI;AAAA,WAAK,IAAI,GAAG,MAAM,EAAT,GAAc,OAAO,EAA9B;AAAA,GAFnB,CAArB;AAIA,SAAO;AAAA,WAAM,YAAY,CAAC,WAAb,EAAN;AAAA,GAAP;AACD;AC5GD;AACA;AACA;AHgLC;AG9KD;AACA;;;AAEA,IAAa,gBAAb;AAAA;;AACE,mBAA4C,IAA5C;AACA,mBAA4B,MAA5B;AACA,kBAAW,OAAX;AAEA,wBAAiB,KAAjB;AAEA,mBAAY,CAAZ;AACA,oBAAa,CAAb;AACD,CATD;;;;AASC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACaA,IAAIL,QAAM,GAAG,CAAb;;AAgBA,IDxCC,gBAAU;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,2BAAgB;AC6CP,aAAO,KAAK,KAAL,YAAsB,0DAA7B;AAA2C;AD9CtD;;AAAA;AAAA,GCwCX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAOC;;;AANU,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;AAKX;AAvBC;AAyBD;;;AAEA,IA1BgC,UAC9B;AAwIA,sBAxIwC,WAwIxC,EAvIA,SAuIA,EACgF,QADhF,EAvIa,wBAuIb,EAtIA,gBAsIA,EAE4F,MAF5F,EAtIgB,OAsIhB,EAGuD,SAHvD,EAG+E,eAH/E,EAII,cAJJ,EAIkC;AAAA;;AAAA;;AA1I8C,SAAE,WAAF,GAAmB,WAAnB;AAuItB,SAtIlD,SAsIkD;AAE9C;AAA2C;AAAwB;AAAmC;AACzG;AAEH;;AA5BI,iBAAQ,IAAI,2DAAJ,EAAR;AACZ;AA1G8D;AA8GzD;;AAAO,kBAAS,IAAI,2DAAJ,EAAT;AAEF,qDAAqCA,QAAM,EAA3C;AAoBN,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,cAAL,GAAsB,MAAM,CAAC,cAA7B;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,UAAL,GAAkB,MAAM,CAAC,UAAzB;AACA,SAAK,aAAL,GAAqB,IAAI,YAAJ,CACjB,gBADiB,EACC,QADD,EACW,gBADX,EAC6B,SAD7B,EACwC,wBADxC,EACkE,cADlE,CAArB;AAGA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CA7I5B,SA6I4B,CAA2B;AAClD,UAAI,OAAI,CAAC,UAAT,EAAqB;AACnB,wBAAgB,CACZ,OAAI,CAAC,WAAL,CAAiB,aADL,EACoB,OAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,aAD7C,EAC4D,OAAI,CAAC,SADjE,EAEZ,OAAI,CAAC,SAAL,KAAmB,MAFP,EAEe,YAFf,CAAhB;AAGD;AACF,KANwB,CAAzB;AAOD;;AA/JD;AAAA;AAAA,WA8HQ,uBAAW;AACjB,UAAI,KAAK,cAAT,EAAyB;AACvB,eAAO,IAAP;AACD;;AACD,UAAI,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,YAA9B,EAA4C;AAC1C,eAAO,IAAP;AACD;;AACD,aAAO,KAAP;AACD;AACH;AACO;AACW;AAAO;AAAuD;AACC;;AA1I/E;AAAA;AAAA,WAuKA,cAAK,OAAL,EAAkB;AAAA;;AAChB,UAAI,CAAC,KAAK,UAAN,IAAoB,CAAC,KAAK,WAAL,EAAzB,EAA6C;AAC3C,aAAK,UAAL,GAAkB,KAAK,aAAL,CAAmB,IAAnB,CAAwB,KAAK,UAA7B,EAAyC,OAAzC,CAAlB;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,KAAzB,GAAiC,KAAK,YAAtC;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,OAAzB,GAAmC,OAAnC;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB,GAAwC,KAAK,YAA7C;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,EAAzB,GAA8B,KAAK,mBAAnC;;AAEA,aAAK,SAAL,CAAe,YAAf,CAA4B,KAAK,WAAL,CAAiB,aAA7C,EAA4D,kBAA5D,EAAgF,KAAK,mBAArF;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,eAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,SAAlC,EAA6C,WAA7C,CAAyD,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAAlF;AACD,SAX0C,CAYjD;AAEK;AACM;;;AACL,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,aAAlC,GAhB2C,CAiBjD;AAEK;AACM;AACM;AACM;;;AACjB,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,YAAlC;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,iBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,SADtC,EAC0D,KAAK,MAD/D,EAER,CAAC,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAA1B,CAFQ,CAAZ;AAGA,aAAK,KAAL,CAAW,IAAX;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;AA7MC;AAAA;AAAA,WA6MA,iBAAK;AACH,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,SAAL,CAAe,eAAf,CAA+B,KAAK,WAAL,CAAiB,aAAhD,EAA+D,kBAA/D;;AACA,aAAK,aAAL,CAAmB,KAAnB;;AACA,aAAK,UAAL,GAAkB,IAAlB;AACA,aAAK,MAAL,CAAY,IAAZ;;AACA,aAAK,eAAL,CAAqB,YAArB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;AA5NC;AAAA;AAAA,WA4NA,kBAAM;AACJ,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AACH;AAEC;AACE;;AAtOD;AAAA;AAAA,WAuOA,kBAAM;AAAc,aAAO,KAAK,UAAL,IAAmB,IAA1B;AAAiC;AAvOrD;AAAA;AAAA,WAyOA,oBAAQ;AACN,WAAK,sBAAL,GAA8B,gBAAgB,CAC1C,KAAK,SADqC,EAC1B,KAAK,WAAL,CAAiB,aADS,EACM,KAAK,QADX,EACqB,KAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,CADrB,EAC6C,KAAK,IAAL,CAAU,IAAV,CAAe,IAAf,CAD7C,EAE1C,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,CAF0C,EAEnB,CAAC,KAAK,SAFa,EAEF,CAAC,KAAK,UAFJ,CAA9C;AAGD;AA7OD;AAAA;AAAA,WA+OA,6BAAmF;AAAA,UAAtE,UAAsE,UAAtE,UAAsE;AAAA,UAA1D,YAA0D,UAA1D,YAA0D;AAAA,UAA5C,cAA4C,UAA5C,cAA4C;AAAA,UAA5B,YAA4B,UAA5B,YAA4B;;AACjF,UAAI,YAAY,IAAI,KAAK,MAAL,EAApB,EAAmC;AACjC,aAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB,GAAwC,YAAY,CAAC,YAArD;AACD,OAHgF,CAIrF;;;AACI,UAAI,CAAC,UAAU,IAAI,YAAd,IAA8B,cAA/B,KAAkD,KAAK,WAAL,EAAtD,EAA0E;AACxE,aAAK,KAAL;AACD;AACF;AAvPD;AAAA;AAAA,WAyPA,uBAAW;AACT,WAAK,KAAL,GADS,CAEb;AACI;;AACA,UAAI,KAAK,sBAAT,EAAiC;AAC/B,aAAK,sBAAL;AACD;;AACD,WAAK,iBAAL,CAAuB,WAAvB;AACD;AAjQD;;AAAA;AAAA,GAyBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0OA;AAAA,UAAoC;AAAA,UA1HT,yDAAU;AA0HD,GAApC,EA1HyC;AAAA,UAA8B,wDAAS;AAAvC,GA0HzC,EA1HoF;AAAA,UAAQ,uDAAQ;AAAhB,GA0HpF,EAzHE;AAAA,UAA8B,uEAAwB;AAAtD,GAyHF,EAzH4D;AAAA,UAAgB,+DAAgB;AAAhC,GAyH5D,EAzHgG;AAAA,UAAM;AAAN,GAyHhG,EAxHE;AAAA,UAAqB,qDAAM;AAA3B,GAwHF,EAxHiC;AAAA;AAAA;AAAA,YAAD,qDAAC;AAAK,aAAC,yDAAD;AAAL;AAAA,GAwHjC,EAxHwD;AAAA,UAA0C,gEAAiB;AAA3D,GAwHxD,EAvHE;AAAA,UAAoB,6DAAc;AAAlC,GAuHF;AAAA;;AA9NW,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAeA,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAKC,0DAAT,6DAAM,EAAG;;AAKA,0DAAT,6DAAM,EAAG;;AA9FC,UAAU,4DAAnB,CADH,yDAAS,6DAmH4B,CAnHlB,yDAmHkB,CAnHrC,CACG,CAAmB,EADa,UACb,CAAV;;AA0OX,IA3O8C,gBAAc;AAAA;AAAA,CA2O5D;;ACzRW,gBAAgB,KAAhB,GAAgB,gEANnB;AAAA,QACR;AADQ,CAMmB,CAAhB;AALc,gBAAE,KAAF,GAAmB,gEAClC;AAAA,SAAW,WACrB,wBADqB,CACE,CADF,EAErB;AAAA,iBAAe,IAAG,gBAAlB;AACD,GAHW;AAGV,SACW;AAJD,CADkC,CAAnB;ACR3B;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,oBAAb;AAAA;;AACE,aAAM,GAAN;AACA,kBAAW,KAAX;AACA,iBAAU,KAAV;AAGA,mBAAY,KAAZ;AAED,CARD;;;;AAQC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACdA;ADIC;ACFD;;AAgBA,IDbiC,cCajC;AAgEE,0BAAY,MAAZ,EAAwC;AAAA;;AAC1C;AAAY;AACwB;AAC1B;AACW;AAbV,iBAAQ,CAAR;AAUP,SAAK,GAAL,GAAW,MAAM,CAAC,GAAlB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,OAAL,GAAe,MAAM,CAAC,OAAtB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,MAAL,GAAc,MAAM,CAAC,MAArB;AACD;AACH;AACO;AAEF;AAAO;AAEA;;;AA9EZ;AAAA;AAAA,SAaE,eAAO;AAAa,aAAO,KAAK,IAAZ;AAAmB,KAbzC;AAAA,SASE,aAAQ,GAAR,EAAmB;AACjB,WAAK,IAAL,GAAY,CAAC,QAAQ,CAAC,GAAD,CAAT,IAAkB,GAAG,IAAI,CAAzB,GAA6B,GAA7B,GAAmC,GAA/C;AACD;AAXH;AAAA;AAAA,WA0EE,oBAAQ;AAAK,aAAO,eAAe,CAAC,KAAK,KAAN,EAAa,KAAK,GAAlB,CAAtB;AAA+C;AA1E9D;AAAA;AAAA,WA4EE,2BAAe;AAAK,aAAO,MAAM,KAAK,QAAL,EAAN,GAAwB,KAAK,GAApC;AAA0C;AA5EhE;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA6EC;;;AACD;AAAA,UAAwC;AAAA,UAdlB;AAckB,GAAxC;AAAA;;AArEE,0DADC,4DAAK,EACN,GAAF,wBAAE,EAAF,KAAE,EAAF,IAAE;;AAWS,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAUA,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAgBT,IA9EyB,oBAf1B;AAAA;AAAA,CA6FC;;AA5FQ,oBCCuB,CDDJ,IAAnB,GAAmB,gECAlB;AAAA,QDC+B;ACD/B,CDAkB,CAAnB;AAER,oBAAe,KAAf,GCFoE,gEAAyB;ADGrF,SAAE,wCCDX,CDCW,ECDX;AAAA;AAAA,GAF8F;AAE9F;AAF8F,CAAzB,CDEpE;AERF;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,eAAb;AAAA;;AACE,aAAM,EAAN;AACA,kBFSC,KETD;AFWW,oBEVE,KFUF;AETZ,CAJD;;;;AAIC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACqBA,ID1B4B,yBC0BG,GAAG;AD3BvB,SC4BF,ED5Bc,iEC2BW;AAEhC,aAAW,ED5Be,iEC4BH,CAAC;AAAA,WAAM,SAAN;AAAA,GAAD,CAFS;AAGhC,OAAK,EAAE;AAHyB,CAAlC;AAMA;AACA;AACA;;AA8BA,IAAa,SAAb;AA2DE,qBAAY,MAAZ,EAA6C,kBAA7C,EAAkF;AAAA;;AAArC;AAzD7C,oBAAkC,EAAlC;AACA,oBAAW,KAAX;AACF;AAAY;AAMF;AAAW;AAGmC;;AA2B5C,iBAAQ,IAAI,2DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,iBAAQ,IAAI,2DAAJ,EAAR;AACZ;AAEK;AAEC;AAAW;AAEA;;AAAL,sBAAa,IAAI,2DAAJ,CAAyB,IAAzB,CAAb;;AAEV,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;;AAGE,SAAK,GAAL,GAAW,MAAM,CAAC,GAAlB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACD;;AA9DH;AAAA;AAAA,WAgEE,yBAAa;AAAK,uBAAU,KAAK,QAAf,qBAAkC,KAAK,GAAvC;AAA+C;AAhEnE;AAAA;AAAA,WAkEE,eAAM,KAAN,EAAmB;AACjB,UAAI,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,QAA5B,EAAsC;AACpC,aAAK,YAAL,CAAkB,KAAlB;AACD;;AACD,WAAK,KAAL,CAAW,IAAX,CAAgB,KAAhB;AACD;AAvEH;AAAA;AAAA,WAyEE,sBAAU;AAAK,WAAK,SAAL;AAAmB;AAzEpC;AAAA;AAAA,WA2EE,qBAAY,KAAZ,EAAyB;AACvB,UAAI,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,QAA5B,EAAsC;AACpC,aAAK,MAAL,CAAY,KAAK,UAAL,IAAmB,KAAK,IAAL,KAAc,KAAjC,GAAyC,CAAzC,GAA6C,KAAzD;AACD;AACF;AA/EH;AAAA;AAAA,WAiFE,uBAAc,KAAd,EAAkC;AACpC;AACI,cAAQ,KAAK,CAAC,KAAd;AACE,aAAK,GAAG,CAAC,SAAT;AACA,aAAK,GAAG,CAAC,SAAT;AACE,eAAK,MAAL,CAAY,KAAK,IAAL,GAAY,CAAxB;AACA;;AACF,aAAK,GAAG,CAAC,OAAT;AACA,aAAK,GAAG,CAAC,UAAT;AACE,eAAK,MAAL,CAAY,KAAK,IAAL,GAAY,CAAxB;AACA;;AACF,aAAK,GAAG,CAAC,IAAT;AACE,eAAK,MAAL,CAAY,CAAZ;AACA;;AACF,aAAK,GAAG,CAAC,GAAT;AACE,eAAK,MAAL,CAAY,KAAK,GAAjB;AACA;;AACF;AACE;AAhBJ,OAFgC,CAoBpC;;;AAEI,WAAK,CAAC,cAAN;AACD;AAxGH;AAAA;AAAA,WA0GE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,OAAO,CAAC,MAAD,CAAX,EAAqB;AACnB,aAAK,MAAL,CAAY,KAAK,IAAjB;AACD;AACF;AA9GH;AAAA;AAAA,WAgHE,oBAAQ;AACN,WAAK,QAAL,GAAgB,KAAK,CAAC,IAAN,CAAW;AAAC,cAAM,EAAE,KAAK;AAAd,OAAX,EAA+B,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAW;AAAC,cAAI,EAAE,CAAP;AAAU,eAAK,EAAE;AAAjB,SAAX;AAAA,OAA/B,CAAhB;;AACA,WAAK,YAAL,CAAkB,KAAK,IAAvB;AACD;AAnHH;AAAA;AAAA,WAqHE,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;AArHzE;AAAA;AAAA,WAuHE,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;AAvHjE;AAAA;AAAA,WAyHE,iBAAK;AACH,WAAK,KAAL,CAAW,IAAX,CAAgB,KAAK,QAArB;;AACA,WAAK,YAAL,CAAkB,KAAK,IAAvB;AACD;AA5HH;AAAA;AAAA,WA8HE,0BAAiB,UAAjB,EAAoC;AAAI,WAAK,QAAL,GAAgB,UAAhB;AAA6B;AA9HvE;AAAA;AAAA,WAgIE,gBAAO,KAAP,EAA2C;AAAA,UAArB,cAAqB,uEAAJ,IAAI;AACzC,UAAM,OAAO,GAAG,eAAe,CAAC,KAAD,EAAQ,KAAK,GAAb,EAAkB,CAAlB,CAA/B;;AACA,UAAI,CAAC,KAAK,QAAN,IAAkB,CAAC,KAAK,QAAxB,IAAoC,KAAK,IAAL,KAAc,OAAtD,EAA+D;AAC7D,aAAK,IAAL,GAAY,OAAZ;AACA,aAAK,UAAL,CAAgB,IAAhB,CAAqB,KAAK,IAA1B;AACD;;AACD,UAAI,cAAJ,EAAoB;AAClB,aAAK,QAAL,CAAc,KAAK,IAAnB;AACA,aAAK,SAAL;AACD;;AACD,WAAK,YAAL,CAAkB,KAAK,IAAvB;AACD;AA3IH;AAAA;AAAA,WA6IE,oBAAW,KAAX,EAAgB;AACd,WAAK,MAAL,CAAY,KAAZ,EAAmB,KAAnB;;AACA,WAAK,kBAAL,CAAwB,YAAxB;AACD;AAhJH;AAAA;AAAA,WAkJU,uBAAc,KAAd,EAA2B;AACjC,UAAM,IAAI,GAAG,KAAK,QAAL,GAAgB,KAA7B;;AAEA,UAAI,IAAI,IAAI,CAAZ,EAAe;AACb,eAAO,GAAP;AACD;;AACD,UAAI,IAAI,GAAG,CAAP,IAAY,IAAI,GAAG,CAAvB,EAA0B;AACxB,eAAO,QAAQ,CAAC,CAAC,IAAI,GAAG,GAAR,EAAa,OAAb,CAAqB,CAArB,CAAD,EAA0B,EAA1B,CAAf;AACD;;AAED,aAAO,CAAP;AACD;AA7JH;AAAA;AAAA,WA+JU,sBAAa,SAAb,EAA8B;AAAA;;AACpC,WAAK,QAAL,GAAgB,SAAhB;AACA,WAAK,QAAL,CAAc,OAAd,CAAsB,UAAC,OAAD,EAAU,KAAV;AAAA,eAAoB,OAAO,CAAC,IAAR,GAAe,OAAI,CAAC,aAAL,CAAmB,KAAnB,CAAnC;AAAA,OAAtB;AACD;AAlKH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmKC;;;AACD;AAAA,UAAmC;AAAA,UAzGb;AAyGa,GAAnC,EAzGyC;AAAA,UAA0B,gEAAiB;AAA3C,GAyGzC;AAAA;;AA1JW,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AACmC,0DAA3C,mEAAY,CAAC,0DAAD,EAAc;AAAC,QAAM,EAAE;AAAT,CAAd,CAA+B;;AAOlC,0DAAT,6DAAM,EAAG;;AAOA,0DAAT,6DAAM,EAAG;;AAOA,0DAAT,6DAAM,EAAG;;AA8GV,IApKoB,eA7BrB;AAAA;AAAA,CAiMC;;AAhMQ,eCpCkB,CDoCJ,IAAd,GAAc,gEACL;AAAA;AAAA,CADK,CAAd;AACuC,eAC/C,KAD+C,GAClC,gECvCsE;ADuC9C,SCtC1B,EDuCX,SACE,uBADF,CACW,CADX,EACW;AAAA,gBAAe,oBAAf;AACK,GC1CmE;AD0CnE;AC1CmE,CDuCtE,CADkC;AE3CjD;AFgDY;AE9CZ;AFiDI;AAEsB;AACE;AACxB;AAAoC;;AE9CxC,IF+CI,eAAc,GAEhB,2BAAQ;AAAA;;AEhDR,iBAA6D,OAA7D;AACA,qBAAyC,YAAzC;AACA,cAAyB,MAAzB;AACD,CAJD;;;;AAIC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACFA,IAAIA,QDHwB,GCGf,CAAb;AAEA;ADNC;ACQD;AHmDG;AGjDH;AHkDW;AGhDX;;AAEA,IHmNC,WGnND,GACE,qBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;6CAEC,E;;;AACD;AAAA,UAEgC;AAAA,UAJE,0DAAW;AAIb,GAFhC;AAAA;AACA;AALC;AAOD;AAPgD;AAShD;;;AAEA,IAAa,aAAb,GACE,uBAAmB,WAAnB,EAAgD;AAAA;;AAA7B;AAAiC,CADtD;;;;;;;;+CAEC,E;;;AACD;AAAA,UAEkC;AAAA,UAJA,0DAAW;AAIX,GAFlC;AAAA;AACA;AALC;AAAmB;AAAE;AACI;;;AAU1B,IAAa,MAAb;AAAA;AAAA;;AAAgB;AAAY;AAE5B;AAAW;AAEsD;AAEtD,gCAAgBA,QAAM,EAAtB;AACX;AAEK;AAE+C;;AAOzC,oBAAW,KAAX;AAgBV;;AAlCD;AAAA;AAAA,WA0BE,iCAAqB;AACvB;AACI;AACI;AACI;AACR,WAAK,QAAL,GAAgB,KAAK,SAAL,CAAe,KAA/B;AACA,WAAK,UAAL,GAAkB,KAAK,WAAL,CAAiB,KAAnC;AACD;AAjCH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;WAkCC;;;;AA5BU,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAK2C,0DAAnD,sEAAe,CAAC,WAAD,EAAc;AAAC,aAAW,EAAE;AAAd,CAAd,CAAoC;;AACE,0DAArD,sEAAe,CAAC,aAAD,EAAgB;AAAC,aAAW,EAAE;AAAd,CAAhB,CAAsC;AAkCxD;AA3DC;AA6DD;AA5DmB;AA8DnB;;;AA6BA,IAAa,SAAb;AAkDE,qBAAY,MAAZ,EAAmC;AAAA;;AACrC;AAAY;AAMX;AA1CU,yBAAgB,IAAhB;AACX;AAEK;AAEG;AACA;AACuB;;AA0BnB,qBAAY,IAAI,2DAAJ,EAAZ;AAGR,SAAK,IAAL,GAAY,MAAM,CAAC,IAAnB;AACA,SAAK,OAAL,GAAe,MAAM,CAAC,OAAtB;AACA,SAAK,WAAL,GAAmB,MAAM,CAAC,WAA1B;AACD;AACH;AAEC;AAAoE;;;AAzDrE;AAAA;AAAA,SAqBE,aAAY,SAAZ,EAAwE;AACtE,UAAI,SAAS,KAAK,MAAd,IAAwB,SAAS,KAAK,WAA1C,EAAuD;AACrD,aAAK,YAAL,iBAA2B,SAA3B;AACD,OAFD,MAEO;AACL,aAAK,YAAL,6BAAuC,SAAvC;AACD;AACF;AACH;AAEC;AAEuC;AAAO;AAKQ;AAEd;;AAvCzC;AAAA;AAAA,WA8DE,gBAAO,KAAP,EAAoB;AAClB,UAAI,WAAW,GAAG,KAAK,WAAL,CAAiB,KAAjB,CAAlB;;AACA,UAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAA5B,IAAwC,KAAK,QAAL,KAAkB,WAAW,CAAC,EAA1E,EAA8E;AAC5E,YAAI,gBAAgB,GAAG,KAAvB;AAEA,aAAK,SAAL,CAAe,IAAf,CACI;AAAC,kBAAQ,EAAE,KAAK,QAAhB;AAA0B,gBAAM,EAAE,WAAW,CAAC,EAA9C;AAAkD,wBAAc,EAAE;AAAQ,4BAAgB,GAAG,IAAnB;AAA0B;AAApG,SADJ;;AAGA,YAAI,CAAC,gBAAL,EAAuB;AACrB,eAAK,QAAL,GAAgB,WAAW,CAAC,EAA5B;AACD;AACF;AACF;AA1EH;AAAA;AAAA,WA4EE,iCAAqB;AACvB;AACI,UAAI,SAAS,GAAG,KAAK,WAAL,CAAiB,KAAK,QAAtB,CAAhB;;AACA,WAAK,QAAL,GAAgB,SAAS,GAAG,SAAS,CAAC,EAAb,GAAmB,KAAK,IAAL,CAAU,MAAV,GAAmB,KAAK,IAAL,CAAU,KAAV,CAAgB,EAAnC,GAAwC,IAApF;AACD;AAhFH;AAAA;AAAA,WAkFU,qBAAY,EAAZ,EAAsB;AAC5B,UAAI,UAAU,GAAa,KAAK,IAAL,CAAU,MAAV,CAAiB,aAAG;AAAA,eAAI,GAAG,CAAC,EAAJ,KAAW,EAAf;AAAA,OAApB,CAA3B;AACA,aAAO,UAAU,CAAC,MAAX,GAAoB,UAAU,CAAC,CAAD,CAA9B,GAAoC,IAA3C;AACD;AArFH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsFC;;;AACD;AAAA,UAAmC;AAAA,UArCb;AAqCa,GAAnC;AAAA;;AApF2B,0DAAxB,sEAAe,CAAC,MAAD,CAAS;;AAOhB,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAMT,0DADC,4DAAK,EACN,GAAF,mBAAE,EAAF,SAAE,EAAF,IAAE;;AAWS,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAOC,0DAAT,6DAAM,EAAG;;AC/KZ,ID+HsB,qBA5BrB,GCnG6B,CDmGpB,SCnGoB,EDoG5B,MCpG4B,EDoGpB,aCpGoB,EDoGN,WCpGM,CAA9B;ADqGE;AAAQ;ACjGV;;ADkGkC,IAAK,eAC7B;AAAA;AAAA,CADwB;;AChGrB,eAAe,KAAf,GAAe,gEADjB;AAAA;AAAA,CACiB,CAAf;AADiC,eAAS,KAAT,GAAW,gEAA8B;AAAE,SAAC,WAAe,uBAAf,CAEzF,CAFyF,EAEzF;AAAA;AAAA,GAFsF;AAEtF;AAFsF,CAA9B,CAAX;;ICZjC,O;AAKX,mBAAY,IAAZ,EAA2B,MAA3B,EAA4C,MAA5C,EAA2D;AAAA;;AACzD,SAAK,IAAL,GAAY,SAAS,CAAC,IAAD,CAArB;AACA,SAAK,MAAL,GAAc,SAAS,CAAC,MAAD,CAAvB;AACA,SAAK,MAAL,GAAc,SAAS,CAAC,MAAD,CAAvB;AACD;;;;WAED,sBAAmB;AAAA,UAAR,IAAQ,uEAAD,CAAC;AAAI,WAAK,UAAL,CAAgB,CAAC,KAAK,CAAC,KAAK,IAAN,CAAL,GAAmB,CAAnB,GAAuB,KAAK,IAA7B,IAAqC,IAArD;AAA6D;;;WAEpF,oBAAW,IAAX,EAAuB;AACrB,UAAI,QAAQ,CAAC,IAAD,CAAZ,EAAoB;AAClB,aAAK,IAAL,GAAY,CAAC,IAAI,GAAG,CAAP,GAAW,KAAK,IAAhB,GAAuB,IAAxB,IAAgC,EAA5C;AACD,OAFD,MAEO;AACL,aAAK,IAAL,GAAY,GAAZ;AACD;AACF;;;WAED,wBAAqB;AAAA,UAAR,IAAQ,uEAAD,CAAC;AAAI,WAAK,YAAL,CAAkB,CAAC,KAAK,CAAC,KAAK,MAAN,CAAL,GAAqB,CAArB,GAAyB,KAAK,MAA/B,IAAyC,IAA3D;AAAmE;;;WAE5F,sBAAa,MAAb,EAA2B;AACzB,UAAI,QAAQ,CAAC,MAAD,CAAZ,EAAsB;AACpB,aAAK,MAAL,GAAc,MAAM,GAAG,EAAT,GAAc,CAAd,GAAkB,KAAK,MAAM,GAAG,EAAhC,GAAqC,MAAM,GAAG,EAA5D;AACA,aAAK,UAAL,CAAgB,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,EAApB,CAAhB;AACD,OAHD,MAGO;AACL,aAAK,MAAL,GAAc,GAAd;AACD;AACF;;;WAED,wBAAqB;AAAA,UAAR,IAAQ,uEAAD,CAAC;AAAI,WAAK,YAAL,CAAkB,CAAC,KAAK,CAAC,KAAK,MAAN,CAAL,GAAqB,CAArB,GAAyB,KAAK,MAA/B,IAAyC,IAA3D;AAAmE;;;WFoG3F,sBACF,MADE,EAEU;AEnGT,UAAI,QAAQ,CAAC,MAAD,CAAZ,EAAsB;AACpB,aAAK,MAAL,GAAc,MAAM,GAAG,CAAT,GAAa,KAAK,MAAM,GAAG,EAA3B,GAAgC,MAAM,GAAG,EAAvD;AACA,aAAK,YAAL,CAAkB,IAAI,CAAC,KAAL,CAAW,MAAM,GAAG,EAApB,CAAlB;AACD,OAHD,MAGO;AACL,aAAK,MAAL,GAAc,GAAd;AACD;AACF;;;WAED,mBAAwB;AAAA,UAAhB,SAAgB,uEAAJ,IAAI;AACtB,aAAO,QAAQ,CAAC,KAAK,IAAN,CAAR,IAAuB,QAAQ,CAAC,KAAK,MAAN,CAA/B,KAAiD,SAAS,GAAG,QAAQ,CAAC,KAAK,MAAN,CAAX,GAA2B,IAArF,CAAP;AACD;;;WAED,oBAAQ;AAAK,uBAAU,KAAK,IAAL,IAAa,CAAvB,cAA4B,KAAK,MAAL,IAAe,CAA3C,cAAgD,KAAK,MAAL,IAAe,CAA/D;AAAqE;;;;;AC/CpF;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAa,mBAAb;AAAA;;AACE,kBAAW,KAAX;AACA,kBAAW,IAAX;AACA,iBAAU,KAAV;AACA,kBAAW,CAAX;AACA,oBAAa,CAAb;AACA,oBAAa,CAAb;AACA,kBAAW,KAAX;AACA,wBAAiB,KAAjB;AACA,cAAqC,QAArC;AACD,CAVD;;;;AAUC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAE,SAZD,mCAYC,GAZS;ACHT,SDGqB,IAAQ,oBAAR,ECHrB;AACD;AAED;ADCgC;ACChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAsB,cAAtB;AAAA;AAAA;;;;AAUC,C;;AACD;AAAA;AAAA;AAAA;AAAA;;AACA,IAZoC,oBADnC;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAeD;AAfgF;AAiB5E;AACF,uBAAU,IAAV,EAA6B;AAC3B,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,MAAN,CAA1C,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,cAAM,EAAE,IAAI,CAAC,MAA/B;AAAuC,cAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAN,CAAT,GAAyB,IAAI,CAAC,MAA9B,GAAuC;AAAtF,OADG,GAEH,IAFJ;AAGD;AACH;AAEC;AACE;;AA1BF;AAAA;AAAA,WA2BC,iBAAQ,IAAR,EAA2B;AACzB,aAAQ,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAN,CAAjB,IAAgC,SAAS,CAAC,IAAI,CAAC,MAAN,CAA1C,GACH;AAAC,YAAI,EAAE,IAAI,CAAC,IAAZ;AAAkB,cAAM,EAAE,IAAI,CAAC,MAA/B;AAAuC,cAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAN,CAAT,GAAyB,IAAI,CAAC,MAA9B,GAAuC;AAAtF,OADG,GAEH,IAFJ;AAGD;AA/BF;;AAAA;AAAA,EAA8B,cAA9B,CAaD;;AACa,oBAAoB,KAApB,GAAoB,SADhC,4BACgC,CAApB,CAAoB,EAApB;AAAA,SAkBZ,4DAlBY;AAkBZ,CAlBY;;;;;;AAmBb;;;AAAE,SCnDc,2BDmDd,CCnD0C,MDmD1C,ECnDgD;AAChD,SAAO,IAAI,wBAAJ,CAA6B,MAA7B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AAEA,IAAsB,iBAAtB;AAAA;AAAA;;;;AAUC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA,IAZuC,wBADtC;AAAA;;AAAA;;AAiBC,oCAjBsE,MAiBtE,EAjB4E;AAAA;;AAAA;;AAAY;AAoBtF,YAnBmC,QAmBnC,GAAgB,4EAAmB,CAAC,MAAD,EAAS,0DAAS,CAAC,UAAnB,EAA+B,iEAAgB,CAAC,MAAhD,CAAnC;AApB0E;AAqB3E;;AArBF;AAAA;AAAA,WAuBC,4BAAgB;AAAa,aAAO,KAAK,QAAL,CAAc,CAAd,CAAP;AAA0B;AAvBxD;AAAA;AAAA,WAyBC,8BAAkB;AAAa,aAAO,KAAK,QAAL,CAAc,CAAd,CAAP;AAA0B;AAzB1D;;AAAA;AAAA,EAA0C,iBAA1C,CAaD;;;;;;;;;;AAaC;;;AACD;AAAA,UAAkD;AAAA;AAAA;AAAA,YAVnC,qDAUmC;AAV7B,aAAC,wDAAD;AAU6B;AAAA,GAAlD;AAAA;;AAba,wBAAwB,4DAAjC,CADH,yDAAU,6DAIU,CAAC,wDAAD,CAJpB,CACG,CAAiC,EAAxB,wBAAwB,CAAxB;ACTb,IAAM,YAAY,GAAG,SAArB;AAEA,IAAM,6BAA6B,GAAG;AACpC,SAAO,EAAE,iEAD2B;AAEpC,aAAW,EAAE,iEAAU,CAAC;AAAA,WAAM,aAAN;AAAA,GAAD,CAFa;AAGpC,OAAK,EAAE;AAH6B,CAAtC;AAMA;AACA;AACA;;AAwFA,IAAa,aAAb;AAgEE,yBACqB,OADrB,EAC2D,eAD3D,EAEY,GAFZ,EAE2C,IAF3C,EAEkE;AAAA;;AAD7C;AAAsC;AAC/C;AAA+B;;AAY3C,oBAAW,UAAC,CAAD,EAAO,CAAO,CAAzB;;AACA,qBAAY,aAAQ,CAApB;;AAZE,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,OAAL,GAAe,OAAO,CAAC,OAAvB;AACA,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,UAAL,GAAkB,OAAO,CAAC,UAA1B;AACA,SAAK,UAAL,GAAkB,OAAO,CAAC,UAA1B;AACA,SAAK,QAAL,GAAgB,OAAO,CAAC,QAAxB;AACA,SAAK,cAAL,GAAsB,OAAO,CAAC,cAA9B;AACA,SAAK,IAAL,GAAY,OAAO,CAAC,IAApB;AACD;AACH;AACO;AAIJ;;;AAlFH;AAAA;AAAA,SAgCE,eAAY;AAAa,aAAO,KAAK,SAAZ;AAAwB;AACnD;AAEC;AACE;AApCH;AAAA,SA4BE,aAAa,IAAb,EAAyB;AACvB,WAAK,SAAL,GAAiB,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,KAAK,OAAL,CAAa,QAAvD;AACD;AA9BH;AAAA;AAAA,SA0CE,eAAc;AAAa,aAAO,KAAK,WAAZ;AAA0B;AACvD;AAEC;AACE;AA9CH;AAAA,SAsCE,aAAe,IAAf,EAA2B;AACzB,WAAK,WAAL,GAAmB,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,KAAK,OAAL,CAAa,UAAzD;AACD;AAxCH;AAAA;AAAA,SAoDE,eAAc;AAAa,aAAO,KAAK,WAAZ;AAA0B,KApDvD;AAAA,SAgDE,aAAe,IAAf,EAA2B;AACzB,WAAK,WAAL,GAAmB,SAAS,CAAC,IAAD,CAAT,GAAkB,IAAlB,GAAyB,KAAK,OAAL,CAAa,UAAzD;AACD;AAlDH;AAAA;AAAA,WAiFE,oBAAW,KAAX,EAAgB;AACd,UAAM,WAAW,GAAG,KAAK,eAAL,CAAqB,SAArB,CAA+B,KAA/B,CAApB;;AACA,WAAK,KAAL,GAAa,WAAW,GAAG,IAAI,OAAJ,CAAY,WAAW,CAAC,IAAxB,EAA8B,WAAW,CAAC,MAA1C,EAAkD,WAAW,CAAC,MAA9D,CAAH,GAA2E,IAAI,OAAJ,EAAnG;;AACA,UAAI,CAAC,KAAK,OAAN,KAAkB,CAAC,WAAD,IAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAb,CAA3C,CAAJ,EAAsE;AACpE,aAAK,KAAL,CAAW,MAAX,GAAoB,CAApB;AACD;;AACD,WAAK,GAAL,CAAS,YAAT;AACD;AAxFH;AAAA;AAAA,WA0FE,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,QAAL,GAAgB,EAAhB;AAAqB;AA1FzE;AAAA;AAAA,WA4FE,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;AA5FjE;AAAA;AAAA,WA8FE,0BAAiB,UAAjB,EAAoC;AAAI,WAAK,QAAL,GAAgB,UAAhB;AAA6B;AA9FvE;AAAA;AAAA,WAgGE,oBAAW,IAAX,EAAuB;AACrB,WAAK,KAAL,CAAW,UAAX,CAAsB,IAAtB;AACA,WAAK,oBAAL;AACD;AAnGH;AAAA;AAAA,WAqGE,sBAAa,IAAb,EAAyB;AACvB,WAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB;AACA,WAAK,oBAAL;AACD;AAxGH;AAAA;AAAA,WA0GE,sBAAa,IAAb,EAAyB;AACvB,WAAK,KAAL,CAAW,YAAX,CAAwB,IAAxB;AACA,WAAK,oBAAL;AACD;AA7GH;AAAA;AAAA,WA+GE,oBAAW,MAAX,EAAyB;AACvB,UAAM,IAAI,GAAG,KAAK,KAAL,CAAW,IAAX,IAAmB,EAAhC;AACA,UAAM,WAAW,GAAG,SAAS,CAAC,MAAD,CAA7B;;AACA,UAAI,KAAK,QAAL,KAAkB,IAAI,IAAI,WAAW,GAAG,EAAtB,IAA4B,CAAC,IAAD,IAAS,WAAW,KAAK,EAAvE,CAAJ,EAAgF;AAC9E,aAAK,KAAL,CAAW,UAAX,CAAsB,WAAW,GAAG,EAApC;AACD,OAFD,MAEO;AACL,aAAK,KAAL,CAAW,UAAX,CAAsB,WAAtB;AACD;;AACD,WAAK,oBAAL;AACD;AAxHH;AAAA;AAAA,WA0HE,sBAAa,MAAb,EAA2B;AACzB,WAAK,KAAL,CAAW,YAAX,CAAwB,SAAS,CAAC,MAAD,CAAjC;AACA,WAAK,oBAAL;AACD;AA7HH;AAAA;AAAA,WA+HE,sBAAa,MAAb,EAA2B;AACzB,WAAK,KAAL,CAAW,YAAX,CAAwB,SAAS,CAAC,MAAD,CAAjC;AACA,WAAK,oBAAL;AACD;AAlIH;AAAA;AAAA,WAoIE,0BAAc;AACZ,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,UAAL,CAAgB,EAAhB;AACD;AACF;AAxIH;AAAA;AAAA,WA0IE,qBAAY,KAAZ,EAAmC;AAAI,WAAK,CAAC,KAAN,GAAc,KAAK,CAAC,KAAN,CAAY,OAAZ,CAAoB,YAApB,EAAkC,EAAlC,CAAd;AAAsD;AA1I/F;AAAA;AAAA,WA4IE,oBAAW,KAAX,EAAwB;AACtB,UAAI,QAAQ,CAAC,KAAD,CAAZ,EAAqB;AACnB,YAAI,KAAK,QAAT,EAAmB;AACjB,iBAAO,SAAS,CAAC,KAAK,GAAG,EAAR,KAAe,CAAf,GAAmB,EAAnB,GAAwB,KAAK,GAAG,EAAjC,CAAhB;AACD,SAFD,MAEO;AACL,iBAAO,SAAS,CAAC,KAAK,GAAG,EAAT,CAAhB;AACD;AACF,OAND,MAMO;AACL,eAAO,SAAS,CAAC,GAAD,CAAhB;AACD;AACF;AAtJH;AAAA;AAAA,WAwJE,sBAAa,KAAb,EAA0B;AAAI,aAAO,SAAS,CAAC,KAAD,CAAhB;AAA0B;AAxJ1D;AAAA;AAAA,SA0JE,eAAe;AAAc,aAAO,KAAK,IAAL,KAAc,OAArB;AAA+B;AA1J9D;AAAA;AAAA,SA4JE,eAAe;AAAc,aAAO,KAAK,IAAL,KAAc,OAArB;AAA+B;AA5J9D;AAAA;AAAA,WA8JE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,OAAO,CAAC,SAAD,CAAP,IAAsB,CAAC,KAAK,OAA5B,IAAuC,KAAK,KAA5C,IAAqD,CAAC,QAAQ,CAAC,KAAK,KAAL,CAAW,MAAZ,CAAlE,EAAuF;AACrF,aAAK,KAAL,CAAW,MAAX,GAAoB,CAApB;AACA,aAAK,oBAAL,CAA0B,KAA1B;AACD;AACF;AAnKH;AAAA;AAAA,WAqKU,gCAAmC;AAAA,UAAd,OAAc,uEAAJ,IAAI;;AACzC,UAAI,OAAJ,EAAa;AACX,aAAK,SAAL;AACD;;AACD,UAAI,KAAK,KAAL,CAAW,OAAX,CAAmB,KAAK,OAAxB,CAAJ,EAAsC;AACpC,aAAK,QAAL,CACI,KAAK,eAAL,CAAqB,OAArB,CAA6B;AAAC,cAAI,EAAE,KAAK,KAAL,CAAW,IAAlB;AAAwB,gBAAM,EAAE,KAAK,KAAL,CAAW,MAA3C;AAAmD,gBAAM,EAAE,KAAK,KAAL,CAAW;AAAtE,SAA7B,CADJ;AAED,OAHD,MAGO;AACL,aAAK,QAAL,CAAc,KAAK,eAAL,CAAqB,OAArB,CAA6B,IAA7B,CAAd;AACD;AACF;AA/KH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgLC;;;AACD;AAAA,UAAuC;AAAA,UAhHP;AAgHO,GAAvC,EAhHuD;AAAA,UAAuB;AAAvB,GAgHvD,EAhHgG;AAAA,UAC7E,gEAAiB;AAD4D,GAgHhG,EA/GwC;AAAA,UAAW;AAAX,GA+GxC;AAAA;;AArKW,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAMT,0DADC,4DAAK,EACN,GAAF,uBAAE,EAAF,UAAE,EAAF,IAAE;;AAUA,0DADC,4DAAK,EACN,GAAF,uBAAE,EAAF,YAAE,EAAF,IAAE;;AAUA,0DADC,4DAAK,EACN,GAAF,uBAAE,EAAF,YAAE,EAAF,IAAE;;AASS,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAmHT,IAjLwB,mBAvFzB;AAAA;AAAA,CAwQC;;AAvQQ,mBCjBsB,CDiBJ,IAAlB,GAAkB,gEClBjB;AAAA,QDmBuB;ACnBvB,CDkBiB,CAAlB;AAGA,mBCrB0C,KDqB1C,GCrB0D,gEAAyB;AAAA,SAChF,uCACZ,CADY,EACZ;AAAA;AAAA,GAF4F;AAE5F;AAF4F,CAAzB,CDqB1D;AEHV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,cAAb;AAAA;;AACE,kBAAW,IAAX;AACA,eAAQ,GAAR;AACA,kBAA+B,QAA/B;AACD,CAJD;;;;AAIC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACzBA;ADmBC;AAC0B;ACjB3B;AACA;AACA;;AAEA,IAAa,cAAb;AAAA;AAAA;;AAAa,cAAc,KAAd,GAAc,SAD1B,sBAC0B,CADP,CACO,EADL;AAAA,mBAAmB,cAAnB;AAErB,CADY;;;;qCAEb,E;;AACA;AACA;AACA;AACA;AACA;AACA;;AA8BA,IAAa,QAAb;AAuCE,oBAA2C,QAA3C,EAA6D,MAA7D,EAAmF;AAAA;;AAAxC;AAAiB;AAAY;AAE3C;AAGZ;;AAlBgD,4BAA2C,IAA3C;AACnE;AAEK;AACM;AACM;AACM;AAEC;AAAW;AAGX;AAAiB;;AAAvB,sBAAa,IAAI,2DAAJ,EAAb;;AAGd,QAAI,KAAK,QAAL,IAAiB,IAArB,EAA2B;AACzB,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACD;;AACD,SAAK,KAAL,GAAa,MAAM,CAAC,KAApB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACD;;AA7CH;AAAA;AAAA,WA+CE,8BAAkB;AAAK,WAAK,KAAL;AAAe;AA/CxC;AAAA;AAAA,WAiDE,qBAAY,OAAZ,EAAkC;AAChC,UAAI,cAAc,OAAlB,EAA2B;AACzB,aAAK,aAAL;;AACA,aAAK,KAAL;AACD;AACF;AAtDH;AAAA;AAAA,WAwDE,gBAAI;AACF,WAAK,aAAL;;AACA,WAAK,UAAL,CAAgB,IAAhB;AACD;AA3DH;AAAA;AAAA,WA6DU,iBAAK;AAAA;;AACX,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,UAA3B,EAAuC;AACrC,aAAK,UAAL,GAAkB,UAAU,CAAC;AAAA,iBAAM,OAAI,CAAC,IAAL,EAAN;AAAA,SAAD,EAAoB,KAAK,KAAzB,CAA5B;AACD;AACF;AAjEH;AAAA;AAAA,WAmEU,yBAAa;AACnB,UAAI,KAAK,UAAT,EAAqB;AACnB,oBAAY,CAAC,KAAK,UAAN,CAAZ;AACA,aAAK,UAAL,GAAkB,IAAlB;AACD;AACF;AAxEH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyEC;;;AACD;AAAA,UAAkC;AAAA;AAAA;AAAA,YAnCnB,wDAmCmB;AAnCV,aAAC,WAAD;AAmCU;AAAA,GAAlC,EAnC6C;AAAA,UAA0B;AAA1B,GAmC7C;AAAA;;AAlEW,0DAAR,4DAAK,EAAG;;AAMA,0DAAR,4DAAK,EAAG;;AAMA,0DAAR,4DAAK,EAAG,GH8BR,kBG9BQ,EH+BT,QG/BS,EH+BG,MG/BH;;AAMwD,0DAAhE,mEAAY,CAAC,cAAD,EAAiB;AAAC,MAAI,EAAE,0DAAP;AAAoB,QAAM,EAAE;AAA5B,CAAjB,CAAoD;;AAWjD,0DAAf,6DAAM,CAAC,MAAD,CAAS;;AArCL,QAAQ,4DAAjB,CA7BH,yDAAS,gEAoEc,CAnEtB,WAmEsB,CApEvB,CA6BG,CAAiB,EA5BE,QA4BF,CAAR;;AA0EX,IArGA,cAAoB;AAAA;AAAA,CAqGpB;;AApGa,cC3BY,CD2BO,IAAnB,GAAoB,gEC5BxB;AAAA,QD8BP;AC9BO,CD4BwB,CAApB;AAGX,cC/BiD,KD+BjD,GC/BwD,gEAAyB;AAAE,SDgCnF,EChC4F,SDgC/E,sBChC+E,CDiC5F,CCjC4F,EDiC5F;AAAA,WAAe,MAAE,kBAAF,GAAf;AACA,GClCiF;ADkCjF,WAAc,CAAE,+DAAF;AClCmE,CAAzB,CD+BxD;AEpCJ;AFyCE;AEvCF;AACA;AL4GC;AK1GD;;AAEA,IAAa,gBAAb;AAAA;;AACE,mBAA4C,IAA5C;AACA,mBAA4B,MAA5B;AACA,kBAAW,aAAX;AAEA,wBAAiB,KAAjB;AAEA,mBAAY,CAAZ;AACA,oBAAa,CAAb;AACD,CATD;;AFiDG;AAAA;AAAA;;AEvCH;AAAA,oBFyCC,wBEzCD,GFyCE;AAAA;AAAA,GEzCF;AFyCE,yBEzCF;AFyCE;AEzCF;ACaA,IAAIA,QAAM,GAAG,CAAb;;AAUA,IDlCC,gBAAU;AAAA;AAAA,CCkCX;;ADlCiC,gBACpB,KADoB,GAUhC;AAAA;AAAA,CAVgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBCqChC;;;AAFU,0DAAR,4DAAK,EAAG;;AACA,0DAAR,4DAAK,EAAG;AAGX;AAbC;AAeD;;;AAEA,IAhBgC,UAC9B;AAuGA,sBAvGwC,WAuGxC,EAtGA,SAsGA,EACgF,QADhF,EAtGa,wBAsGb,EArGA,gBAqGA,EAE4F,MAF5F,EArGgB,OAqGhB,EAGuD,SAHvD,EAG+E,eAH/E,EAII,cAJJ,EAIkC;AAAA;;AAAA;;AAzG6C,uBAAmB,WAAnB;AAC/E,qBAqG0D,SArG1D;AAuGY;AAA2C;AAAwB;AAAmC;AACzG;AAEH;;AAnBI,iBAAQ,IAAI,2DAAJ,EAAR;AACZ;AACM;AAEA;;AAAM,kBAAS,IAAI,2DAAJ,EAAT;AAGF,qDAAqCA,QAAM,EAA3C;AAWN,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,cAAL,GAAsB,MAAM,CAAC,cAA7B;AACA,SAAK,YAAL,GAAoB,MAAM,CAAC,YAA3B;AACA,SAAK,SAAL,GA7GF,MA6GyB,CAAC,SAAxB;AACA,SAAK,UAAL,GAAkB,MAAM,CAAC,UAAzB;AACA,SAAK,aAAL,GAAqB,IAAI,YAAJ,CACjB,gBADiB,EACC,QADD,EACW,gBADX,EAC6B,SAD7B,EACwC,wBADxC,EACkE,cADlE,CAArB;AAGA,SAAK,iBAAL,GAAyB,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B;AAClD,UAAI,OAAI,CAAC,UAAT,EAAqB;AACnB,wBAAgB,CACZ,OAAI,CAAC,WAAL,CAAiB,aADL,EACoB,OAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,aAD7C,EAC4D,OAAI,CAAC,SADjE,EAEZ,OAAI,CAAC,SAAL,KAAmB,MAFP,EAEe,YAFf,CAAhB;AAGD;AACF,KANwB,CAAzB;AAOD;AACH;AAEC;AACE;AACE;AAEJ;;;AArIC;AAAA;AAAA,SA6IA,eAAc;AAAK,aAAO,KAAK,WAAZ;AAA0B;AAC/C;AAEC;AACE;AACE;AACE;AAEJ;AArJD;AAAA,SAsIA,aAAe,KAAf,EAA+C;AAC7C,WAAK,WAAL,GAAmB,KAAnB;;AACA,UAAI,CAAC,KAAD,IAAU,KAAK,UAAnB,EAA+B;AAC7B,aAAK,KAAL;AACD;AACF;AA3ID;AAAA;AAAA,WAqJA,cAAK,OAAL,EAAkB;AAAA;;AAChB,UAAI,CAAC,KAAK,UAAN,IAAoB,KAAK,WAAzB,IAAwC,CAAC,KAAK,cAAlD,EAAkE;AAChE,aAAK,UAAL,GAAkB,KAAK,aAAL,CAAmB,IAAnB,CAAwB,KAAK,WAA7B,EAA0C,OAA1C,CAAlB;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB,GAAwC,KAAK,YAA7C;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,EAAzB,GAA8B,KAAK,mBAAnC;;AAEA,aAAK,SAAL,CAAe,YAAf,CAA4B,KAAK,WAAL,CAAiB,aAA7C,EAA4D,kBAA5D,EAAgF,KAAK,mBAArF;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,eAAK,SAAL,CAAe,aAAf,CAA6B,KAAK,SAAlC,EAA6C,WAA7C,CAAyD,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAAlF;AACD,SAT+D,CAUtE;AAEK;AACM;;;AACL,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,aAAlC,GAdgE,CAetE;AAEK;AACM;AACM;AACM;;;AACjB,aAAK,UAAL,CAAgB,iBAAhB,CAAkC,YAAlC;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,KAAK,SAD3B,EACsC;AAAA,iBAAM,OAAI,CAAC,KAAL,EAAN;AAAA,SADtC,EAC0D,KAAK,MAD/D,EAER,CAAC,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAA1B,CAFQ,CAAZ;AAIA,aAAK,KAAL,CAAW,IAAX;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;AA1LC;AAAA;AAAA,WA0LA,iBAAK;AACH,UAAI,KAAK,UAAL,IAAmB,IAAvB,EAA6B;AAC3B,aAAK,SAAL,CAAe,eAAf,CAA+B,KAAK,WAAL,CAAiB,aAAhD,EAA+D,kBAA/D;;AACA,aAAK,aAAL,CAAmB,KAAnB;;AACA,aAAK,UAAL,GAAkB,IAAlB;AACA,aAAK,MAAL,CAAY,IAAZ;;AACA,aAAK,eAAL,CAAqB,YAArB;AACD;AACF;AACH;AAEC;AACE;AACE;AAEJ;;AAzMC;AAAA;AAAA,WAyMA,kBAAM;AACJ,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,KAAL;AACD,OAFD,MAEO;AACL,aAAK,IAAL;AACD;AACF;AACH;AAEC;AACE;;AAnND;AAAA;AAAA,WAoNA,kBAAM;AAAc,aAAO,KAAK,UAAL,IAAmB,IAA1B;AAAiC;AApNrD;AAAA;AAAA,WAsNA,oBAAQ;AACN,WAAK,sBAAL,GAA8B,gBAAgB,CAC1C,KAAK,SADqC,EAC1B,KAAK,WAAL,CAAiB,aADS,EACM,KAAK,QADX,EACqB,KAAK,MAAL,CAAY,IAAZ,CAAiB,IAAjB,CADrB,EAC6C,KAAK,IAAL,CAAU,IAAV,CAAe,IAAf,CAD7C,EAE1C,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,CAF0C,EAEnB,CAAC,KAAK,SAFa,EAEF,CAAC,KAAK,UAFJ,CAA9C;AAGD;AA1ND;AAAA;AAAA,WA4NA,6BAAyC;AAAA,UAA5B,YAA4B,UAA5B,YAA4B;;AACvC,UAAI,YAAY,IAAI,KAAK,MAAL,EAApB,EAAmC;AACjC,aAAK,UAAL,CAAgB,QAAhB,CAAyB,YAAzB,GAAwC,YAAY,CAAC,YAArD;AACD;AACF;AAhOD;AAAA;AAAA,WAkOA,uBAAW;AACT,WAAK,KAAL,GADS,CAEb;AACI;;AACA,UAAI,KAAK,sBAAT,EAAiC;AAC/B,aAAK,sBAAL;AACD;;AACD,WAAK,iBAAL,CAAuB,WAAvB;AACD;AA1OD;;AAAA;AAAA,GAeF;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6NA;AAAA,UAAoC;AAAA,UApIT,yDAAU;AAoID,GAApC,EApIyC;AAAA,UAA8B,wDAAS;AAAvC,GAoIzC,EApIoF;AAAA,UAAQ,uDAAQ;AAAhB,GAoIpF,EAnIE;AAAA,UAA8B,uEAAwB;AAAtD,GAmIF,EAnI4D;AAAA,UAAgB,+DAAgB;AAAhC,GAmI5D,EAnIgG;AAAA,UAAM;AAAN,GAmIhG,EAlIE;AAAA,UAAqB,qDAAM;AAA3B,GAkIF,EAlIiC;AAAA;AAAA;AAAA,YAAD,qDAAC;AAAK,aAAC,yDAAD;AAAL;AAAA,GAkIjC,EAlIwD;AAAA,UAA0C,gEAAiB;AAA3D,GAkIxD,EAjIE;AAAA,UAAoB,6DAAc;AAAlC,GAiIF;AAAA;;AAjNW,0DAAR,4DAAK,EAAG;;AAeA,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAKC,0DAAT,6DAAM,EAAG;;AAIA,0DAAT,6DAAM,EAAG;;AAwCV,0DADC,4DAAK,EACN,GAAF,oBAAE,EAAF,YAAE,EAAF,IAAE;;AAvHW,UAAU,4DAAnB,CADH,yDAAS,6DA4F4B,CA5FlB,yDA4FkB,CA5FrC,CACG,CAAmB,EADa,UACb,CAAV;;AA6NX,IA9N8C,gBAAc;AAAA;AAAA,CA8N5D;;ACxQW,gBAAgB,KAAhB,GAAgB,gEADlB;AAAA;AAAA,CACkB,CAAhB;AADyC,gBAAG,KAAH,GAAU,gEAAgB;AAAA,SAAkB,oCACrF,CADqF,EACrF;AACZ;AAAA;AAF+E,CAAhB,CAAV;ACLtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,IAAa,YAAb;AAAA;AAAA;;AAAgB;AAAY;AAIa;AAE9B,0BAAiB,eAAjB;AAwBV;;AA9BD;AAAA;AAAA,WAsBE,qBAAY,OAAZ,EAAkC;AAChC,UAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,MAAN,CAAvB;AAEA,UAAM,KAAK,GAAG,KAAK,CAAC,OAAN,CAAc,KAAK,IAAnB,IAA2B,KAAK,IAAhC,GAAuC,CAAC,KAAK,IAAN,CAArD;AACA,UAAM,YAAY,GAAG,KAAK,CAAC,GAAN,CAAU,cAAI;AAAA,eAAI,YAAY,CAAC,QAAQ,CAAC,IAAD,CAAT,CAAhB;AAAA,OAAd,EAAgD,MAAhD,CAAuD,cAAI;AAAA,eAAI,IAAJ;AAAA,OAA3D,CAArB;AAEA,WAAK,KAAL,GAAa,YAAY,CAAC,MAAb,GAAsB,MAAM,CAAC,KAAP,CAAa,IAAI,MAAJ,YAAe,YAAY,CAAC,IAAb,CAAkB,GAAlB,CAAf,QAA0C,KAA1C,CAAb,CAAtB,GAAuF,CAAC,MAAD,CAApG;AACD;AA7BH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA8BC;;;AAxBU,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAMA,0DAAR,4DAAK,EAAG;;AAWT,IA/BuB,kBATxB;AACS,gCAAE;AAAA;;AC6BV,SD5BA,SC4BA,GAAY,CAAZ;AD5BiB;AAAuB;AAExC;;ACqCS,sBAAa,IAAb;AACX;ADtC4E;AC+CzE;AD9CqH;;ACoD7G,SDnDW,SCmDX,GAAY,QAAZ;AACX;ADlDC;ACsDE;;AAKiB,uBAAc,IAAI,2DAAJ,EAAd;AAEM,6BAAoB,IAAI,2DAAJ,EAApB;AA2CzB;;ADhHA;AAAA;AAAA,WCuEC,qBAAS;AAAK,aAAO,KAAK,SAAL,GAAiB,CAAC,CAAlB,IAAuB,KAAK,SAAL,GAAiB,KAAK,OAAL,CAAa,MAA5D;AAAqE;ADvEpF;AAAA;AAAA,WCyEC,qBAAS;AAAK,aAAO,KAAK,OAAL,CAAa,KAAK,SAAlB,CAAP;AAAsC;ADzErD;AAAA;AAAA,WC2EC,oBAAW,SAAX,EAA4B;AAC1B,WAAK,SAAL,GAAiB,SAAjB;;AACA,WAAK,cAAL;AACD;AD9EF;AAAA;AAAA,WCgFC,gBAAI;AACF,UAAI,KAAK,SAAL,KAAmB,KAAK,OAAL,CAAa,MAAb,GAAsB,CAA7C,EAAgD;AAC9C,aAAK,SAAL,GAAiB,KAAK,UAAL,GAAkB,CAAC,KAAK,SAAL,GAAiB,CAAlB,IAAuB,KAAK,OAAL,CAAa,MAAtD,GAA+D,CAAC,CAAjF;AACD,OAFD,MAEO;AACL,aAAK,SAAL;AACD;;AACD,WAAK,cAAL;AACD;ADvFF;AAAA;AAAA,WCyFC,gBAAI;AACF,UAAI,KAAK,SAAL,GAAiB,CAArB,EAAwB;AACtB,aAAK,SAAL,GAAiB,KAAK,OAAL,CAAa,MAAb,GAAsB,CAAvC;AACD,OAFD,MAEO,IAAI,KAAK,SAAL,KAAmB,CAAvB,EAA0B;AAC/B,aAAK,SAAL,GAAiB,KAAK,UAAL,GAAkB,KAAK,OAAL,CAAa,MAAb,GAAsB,CAAxC,GAA4C,CAAC,CAA9D;AACD,OAFM,MAEA;AACL,aAAK,SAAL;AACD;;AACD,WAAK,cAAL;AACD;ADlGF;AAAA;AAAA,WCoGC,uBAAW;AACT,WAAK,SAAL,GAAiB,KAAK,UAAL,GAAkB,CAAlB,GAAsB,CAAC,CAAxC;;AACA,WAAK,cAAL;AACD;ADvGF;AAAA;AAAA,WCyGC,gBAAO,IAAP,EAAW;AAAI,WAAK,WAAL,CAAiB,IAAjB,CAAsB,IAAtB;AAA8B;ADzG9C;AAAA;AAAA,WC2GC,oBAAQ;AAAK,WAAK,WAAL;AAAqB;AD3GnC;AAAA;AAAA,WC6GS,0BAAc;AACpB,WAAK,iBAAL,CAAuB,IAAvB,CAA4B,KAAK,SAAL,IAAkB,CAAlB,GAAsB,KAAK,EAAL,GAAU,GAAV,GAAgB,KAAK,SAA3C,GAAuD,SAAnF;AACD;AD/GF;;AAAA;AAAA,GAwCC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCwED;;;AA5EU,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAMA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKS,0DAAjB,6DAAM,CAAC,QAAD,CAAW;;AAEM,0DAAvB,6DAAM,CAAC,cAAD,CAAiB;;AA4CxB,IApF6B,eChCH,GAAG,IDW9B,6DCX8B,CDWrB,sBCXqB,EACH;AAAC,YAAU,EAAE,MAAb;AAAqB,SAAO,EDYtD;ACZ0B,CADG,CDoH7B;;AAvG8B,SAC9B,uBAD8B,GCXO;ADYL,SAAK,GAAL;ACVjC;;ADWC,SAAM,cAAN,CAAoB,QAApB,EAA+C;AAAA,MCRV,UDQU;AAAS,MCPpD,OAAO,GAAG,QAAQ,CDOwD,ICPhE,CDOwE,aCPxE,CDOmF,WCPnF,CDO0C;;ACLxD,MDMA,OCNW,IDMH,IAAR,ICNuB,UAAvB,EAAmC;AACjC,WAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAV;AAEA,WAAO,CAAC,YAAR,CAAqB,IAArB,EAA2B,UAA3B;AACA,WAAO,CAAC,YAAR,CAAqB,WAArB,EAAkC,QAAlC;AACA,WAAO,CAAC,YAAR,CAAqB,aAArB,EAAoC,MAApC;AAEA,WAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,SAAtB;AAEA,YAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,OAA1B;AACD;;AAED,SAAO,OAAP;AACD;;AAKD,IAAa,IAAb;AACE,gBAAsC,SAAtC,EAAuF,MAAvF,EAAkG;AAAA;;AAA5D;AAAiD;AAAe;;AADxG;AAAA;AAAA,WAGE,uBAAW;AACT,UAAM,OAAO,GAAG,cAAc,CAAC,KAAK,SAAN,CAA9B;;AACA,UAAI,OAAJ,EAAa;AACX,eAAO,CAAC,aAAR,CAAsB,WAAtB,CAAkC,OAAlC;AACD;AACF;AARH;AAAA;AAAA,WAUE,aAAI,OAAJ,EAAmB;AACjB,UDTD,OACF,GACY,cCOqB,CAAC,KDPJ,SCOG,EAAiB,IAAjB,CAA9B;AACA,UAAM,KAAK,GAAG,KAAK,MAAnB;AAEA,aAAO,CAAC,WAAR,GAAsB,EAAtB;;AACA,UAAM,OAAO,GAAG,SAAV,OAAU;AAAA,eAAM,OAAO,CAAC,WAAR,GAAsB,OAA5B;AAAA,OAAhB;;AACA,UAAI,KAAK,KAAK,IAAd,EAAoB;AAClB,eAAO;AACR,OAFD,MAEO;AACL,kBAAU,CAAC,OAAD,EAAU,KAAV,CAAV;AACD;AACF;AArBH;;AAAA;AAAA;;;;AAsBC,C;;AACD;AAAA,UAA8B;AAAA;AAAA;AAAA,YAtBf,qDAsBe;AAtBT,aAAC,yDAAD;AAsBS;AAAA,GAA9B,EAtBuC;AAAA;AAAA;AAAA,YAAkB,qDAAlB;AAAwB,aAAC,eAAD;AAAxB;AAAA,GAsBvC;AAAA;;AAtB0F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAD7E,IAAI,4DAAb,CADH,yDAAU,6DAEU,CAFE,yDAEF,CAFpB,CACG,EAD2B,qDAAC,CAAC,CAAD,EAEyB,6DAAM,CAAC,eAAD,CAF/B,CAC5B,CAAa,EAAJ,IAAI,CAAJ;ACjCb;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAa,kBAAb;AAAA;;AAEE,kBAAW,IAAX;AACA,oBAAa,IAAb;AACA,kBAAW,KAAX;AACA,mBAA4B,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAA5B;AACD,CAND;;;;AAMC,C;;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACmBA,ID1B+B,4BC0BG,GAAG;AD3B1B,SC4BF,ED5Bc,iEC2Bc;AAEnC,aAAW,ED5BkB,iEC4BN,CAAC;AAAA,WAAM,YAAN;AAAA,GAAD,CAFY;AAGnC,OAAK,EAAE;AAH4B,CAArC;AAqBA,IAAI,YAAY,GAAG,CAAnB;AAEA;AACA;AACA;;AAoBA,IAAa,YAAb;AA6GE,wBACY,WADZ,EACuD,gBADvD,EAEY,SAFZ,EAEkC,QAFlC,EAEsD,wBAFtD,EAGI,MAHJ,EAGgC,MAHhC,EAGwD,KAHxD,EAG+F,SAH/F,EAIY,OAJZ,EAIqC,eAJrC,EAIyE,cAJzE,EAIuG;AAAA;;AAAA;;AAH3F;AACA;AAC4C;AAAuC;AACnF;AAAyB;AA7G7B,oBAAW,IAAI,6CAAJ,EAAX;AACV;AAAY;AAED;AAAW;AAEE;AAExB;AACkB;;AAMP,wBAAe,KAAf;AACX;AAEK;AAAqD;AAAW;AAOrE;AACK;AACsB;AAG1B;AACA;AACK;AAGuD;AAAW;AAEjC;;AAsD5B,qBAA4B,aAA5B;AACX;AAEK;AAEC;AAAW;AAEA;;AAAL,sBAAa,IAAI,2DAAJ,EAAb;AAGV,2CAA2B,YAAY,EAAvC;;AAEQ,sBAAa,aAAQ,CAArB;;AACA,qBAAY,UAAC,CAAD,EAAO,CAAO,CAA1B;;AAON,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,UAAL,GAAkB,MAAM,CAAC,UAAzB;AACA,SAAK,QAAL,GAAgB,MAAM,CAAC,QAAvB;AACA,SAAK,SAAL,GAAiB,MAAM,CAAC,SAAxB;AAEA,SAAK,aAAL,GAAqB,uDAAS,CAAQ,WAAW,CAAC,aAApB,EAAmC,OAAnC,CAAT,CACK,IADL,CACU,2DAAG,CAAC,gBAAM;AAAA,aAAK,MAAM,CAAC,MAAP,CAAmC,KAAxC;AAAA,KAAP,CADb,CAArB;AAGA,SAAK,qBAAL,GAA6B,IAAI,qDAAJ,CAAoB,IAApB,CAA7B;AAEA,SAAK,aAAL,GAAqB,IAAI,YAAJ,CACjB,kBADiB,EACG,QADH,EACa,gBADb,EAC+B,SAD/B,EAC0C,wBAD1C,EACoE,cADpE,CAArB;AAGA,SAAK,iBAAL,GAAyB,MAAM,CAAC,QAAP,CAAgB,SAAhB,CAA0B;AACjD,UAAI,OAAI,CAAC,WAAL,EAAJ,EAAwB;AACtB,wBAAgB,CACZ,OAAI,CAAC,WAAL,CAAiB,aADL,EACoB,OAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,aAD7C,EAC4D,OAAI,CAAC,SADjE,EAEZ,OAAI,CAAC,SAAL,KAAmB,MAFP,CAAhB;AAGD;AACF,KANwB,CAAzB;AAOD;;AAvIH;AAAA;AAAA,WAyIE,oBAAQ;AAAA;;AACN,UAAM,YAAY,GAAG,KAAK,aAAL,CAAmB,IAAnB,CAAwB,2DAAG,CAAC,eAAK;AACpD,eAAI,CAAC,iBAAL,GAAyB,OAAI,CAAC,QAAL,GAAgB,KAAhB,GAAwB,IAAjD;;AACA,eAAI,CAAC,SAAL,CAAe,OAAI,CAAC,QAAL,GAAgB,KAAhB,GAAwB,SAAvC;AACD,OAH+C,CAA3B,CAArB;;AAIA,UAAM,QAAQ,GAAG,YAAY,CAAC,IAAb,CAAkB,KAAK,YAAvB,CAAjB;;AACA,UAAM,UAAU,GAAG,KAAK,qBAAL,CAA2B,IAA3B,CAAgC,iEAAS,CAAC;AAAA,eAAM,QAAN;AAAA,OAAD,CAAzC,CAAnB;;AACA,WAAK,aAAL,GAAqB,KAAK,qBAAL,CAA2B,UAA3B,CAArB;AACD;AAjJH;AAAA;AAAA,WAmJE,uBAAW;AACT,WAAK,WAAL;;AACA,WAAK,yBAAL;;AACA,WAAK,iBAAL,CAAuB,WAAvB;AACD;AAvJH;AAAA;AAAA,WAyJE,0BAAiB,EAAjB,EAAwC;AAAU,WAAK,SAAL,GAAiB,EAAjB;AAAsB;AAzJ1E;AAAA;AAAA,WA2JE,2BAAkB,EAAlB,EAA+B;AAAU,WAAK,UAAL,GAAkB,EAAlB;AAAuB;AA3JlE;AAAA;AAAA,WA6JE,oBAAW,KAAX,EAAgB;AACd,WAAK,gBAAL,CAAsB,KAAK,mBAAL,CAAyB,KAAzB,CAAtB;;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,aAAK,iBAAL,GAAyB,KAAzB;AACD;AACF;AAlKH;AAAA;AAAA,WAoKE,0BAAiB,UAAjB,EAAoC;AAClC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,UAA3D,EAAuE,UAAvE;AACD;AACH;AAEC;AACE;;AA1KH;AAAA;AAAA,WA2KE,wBAAY;AACV,UAAI,KAAK,WAAL,EAAJ,EAAwB;AACtB,aAAK,qBAAL,CAA2B,IAA3B,CAAgC,IAAhC;;AACA,aAAK,WAAL;;AACA,YAAI,KAAK,QAAL,IAAiB,KAAK,iBAAL,KAA2B,IAAhD,EAAsD;AACpD,eAAK,gBAAL,CAAsB,KAAK,iBAA3B;AACD;;AACD,aAAK,eAAL,CAAqB,YAArB;AACD;AACF;AACH;AAEC;AACE;;AAxLH;AAAA;AAAA,WAyLE,uBAAW;AAAK,aAAO,KAAK,UAAL,IAAmB,IAA1B;AAAiC;AAzLnD;AAAA;AAAA,WA2LE,sBAAU;AACR,WAAK,qBAAL,CAA2B,IAA3B,CAAgC,IAAhC;;AACA,WAAK,UAAL;AACD;AA9LH;AAAA;AAAA,WAgME,uBAAc,KAAd,EAAkC;AAChC,UAAI,CAAC,KAAK,WAAL,EAAL,EAAyB;AACvB;AACD,OAH+B,CAIpC;;;AAEI,cAAQ,KAAK,CAAC,KAAd;AACE,aAAK,GAAG,CAAC,SAAT;AACE,eAAK,CAAC,cAAN;;AACA,eAAK,UAAL,CAAgB,QAAhB,CAAyB,IAAzB;;AACA,eAAK,SAAL;;AACA;;AACF,aAAK,GAAG,CAAC,OAAT;AACE,eAAK,CAAC,cAAN;;AACA,eAAK,UAAL,CAAgB,QAAhB,CAAyB,IAAzB;;AACA,eAAK,SAAL;;AACA;;AACF,aAAK,GAAG,CAAC,KAAT;AACA,aAAK,GAAG,CAAC,GAAT;AACE,cAAM,MAAM,GAAG,KAAK,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,EAAf;;AACA,cAAI,SAAS,CAAC,MAAD,CAAb,EAAuB;AACrB,iBAAK,CAAC,cAAN;AACA,iBAAK,CAAC,eAAN;;AACA,iBAAK,aAAL,CAAmB,MAAnB;AACD;;AACD,eAAK,WAAL;;AACA;AApBJ;AAsBD;AA5NH;AAAA;AAAA,WA8NU,sBAAU;AAAA;;AAChB,UAAI,CAAC,KAAK,WAAL,EAAL,EAAyB;AACvB,aAAK,iBAAL,GAAyB,KAAK,WAAL,CAAiB,aAAjB,CAA+B,KAAxD;AACA,aAAK,UAAL,GAAkB,KAAK,aAAL,CAAmB,IAAnB,EAAlB;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,EAAzB,GAA8B,KAAK,OAAnC;;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,WAAzB,CAAqC,SAArC,CAA+C,UAAC,MAAD;AAAA,iBAAiB,OAAI,CAAC,uBAAL,CAA6B,MAA7B,CAAjB;AAAA,SAA/C;;AACA,aAAK,UAAL,CAAgB,QAAhB,CAAyB,iBAAzB,CAA2C,SAA3C,CAAqD,UAAC,QAAD;AAAA,iBAAsB,OAAI,CAAC,gBAAL,GAAwB,QAA9C;AAAA,SAArD;;AAEA,YAAI,KAAK,SAAL,KAAmB,MAAvB,EAA+B;AAC7B,gBAAM,CAAC,QAAP,CAAgB,aAAhB,CAA8B,KAAK,SAAnC,EAA8C,WAA9C,CAA0D,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAAnF;AACD;;AAED,aAAK,eAAL,CAAqB,YAArB;;AAEA,oBAAY,CACR,KAAK,OADG,EACM,KAAK,SADX,EACsB,SADtB,EACiC;AAAA,iBAAM,OAAI,CAAC,YAAL,EAAN;AAAA,SADjC,EAC4D,KAAK,QADjE,EAER,CAAC,KAAK,WAAL,CAAiB,aAAlB,EAAiC,KAAK,UAAL,CAAgB,QAAhB,CAAyB,aAA1D,CAFQ,CAAZ;AAGD;AACF;AAhPH;AAAA;AAAA,WAkPU,uBAAW;AACjB,WAAK,QAAL,CAAc,IAAd;;AACA,WAAK,aAAL,CAAmB,KAAnB;;AACA,WAAK,UAAL,GAAkB,IAAlB;AACA,WAAK,gBAAL,GAAwB,SAAxB;AACD;AAvPH;AAAA;AAAA,WAyPU,uBAAc,MAAd,EAAyB;AAC/B,UAAI,gBAAgB,GAAG,KAAvB;AACA,WAAK,UAAL,CAAgB,IAAhB,CAAqB;AAAC,YAAI,EAAE,MAAP;AAAe,sBAAc,EAAE;AAAQ,0BAAgB,GAAG,IAAnB;AAA0B;AAAjE,OAArB;;AACA,WAAK,qBAAL,CAA2B,IAA3B,CAAgC,IAAhC;;AAEA,UAAI,CAAC,gBAAL,EAAuB;AACrB,aAAK,UAAL,CAAgB,MAAhB;;AACA,aAAK,SAAL,CAAe,MAAf;AACD;AACF;AAlQH;AAAA;AAAA,WAoQU,iCAAwB,MAAxB,EAAmC;AACzC,WAAK,aAAL,CAAmB,MAAnB;;AACA,WAAK,WAAL;AACD;AAvQH;AAAA;AAAA,WAyQU,qBAAS;AACf,UAAI,KAAK,QAAL,IAAiB,KAAK,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,EAAjB,IAAyD,KAAK,iBAAL,IAA0B,IAAvF,EAA6F;AAC3F,YAAM,kBAAkB,GAAG,KAAK,iBAAL,CAAuB,WAAvB,EAA3B;;AACA,YAAM,YAAY,GAAG,KAAK,mBAAL,CAAyB,KAAK,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,EAAzB,CAArB;;AAEA,YAAI,kBAAkB,KAAK,YAAY,CAAC,MAAb,CAAoB,CAApB,EAAuB,KAAK,iBAAL,CAAuB,MAA9C,EAAsD,WAAtD,EAA3B,EAAgG;AAC9F,eAAK,gBAAL,CAAsB,KAAK,iBAAL,GAAyB,YAAY,CAAC,MAAb,CAAoB,KAAK,iBAAL,CAAuB,MAA3C,CAA/C;;AACA,eAAK,WAAL,CAAiB,aAAjB,CAA+B,mBAA/B,EAAoD,KAApD,CACI,KAAK,WAAL,CAAiB,aADrB,EACoC,CAAC,KAAK,iBAAL,CAAuB,MAAxB,EAAgC,YAAY,CAAC,MAA7C,CADpC;AAED,SAJD,MAIO;AACL,eAAK,gBAAL,CAAsB,YAAtB;AACD;AACF;AACF;AAtRH;AAAA;AAAA,WAwRU,6BAAoB,IAApB,EAA6B;AACnC,aAAO,IAAI,IAAI,IAAR,IAAgB,KAAK,cAArB,GAAsC,KAAK,cAAL,CAAoB,IAApB,CAAtC,GAAkE,QAAQ,CAAC,IAAD,CAAjF;AACD;AA1RH;AAAA;AAAA,WA4RU,0BAAiB,KAAjB,EAA8B;AACpC,WAAK,SAAL,CAAe,WAAf,CAA2B,KAAK,WAAL,CAAiB,aAA5C,EAA2D,OAA3D,EAAoE,QAAQ,CAAC,KAAD,CAA5E;AACD;AA9RH;AAAA;AAAA,WAgSU,+BAAsB,UAAtB,EAA4D;AAAA;;AAClE,aAAO,UAAU,CAAC,SAAX,CAAqB,UAAC,OAAD,EAAQ;AAClC,YAAI,CAAC,OAAD,IAAY,OAAO,CAAC,MAAR,KAAmB,CAAnC,EAAsC;AACpC,iBAAI,CAAC,WAAL;AACD,SAFD,MAEO;AACL,iBAAI,CAAC,UAAL;;AACA,iBAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,UAAzB,GAAsC,OAAI,CAAC,UAA3C;AACA,iBAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,OAAzB,GAAmC,OAAnC;AACA,iBAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,IAAzB,GAAgC,OAAI,CAAC,WAAL,CAAiB,aAAjB,CAA+B,KAA/D;;AACA,cAAI,OAAI,CAAC,eAAT,EAA0B;AACxB,mBAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,SAAzB,GAAqC,OAAI,CAAC,eAA1C;AACD;;AACD,cAAI,OAAI,CAAC,cAAT,EAAyB;AACvB,mBAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,cAAzB,GAA0C,OAAI,CAAC,cAA/C;AACD;;AACD,iBAAI,CAAC,UAAL,CAAgB,QAAhB,CAAyB,WAAzB,GAXK,CAYb;AAEO;AACQ;;;AACP,iBAAI,CAAC,UAAL,CAAgB,iBAAhB,CAAkC,aAAlC;;AAEA,iBAAI,CAAC,SAAL;AACD,SAtBiC,CAuBxC;;;AAEM,YAAM,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,MAAX,GAAoB,CAAzC;;AACA,eAAI,CAAC,KAAL,CAAW,GAAX,CAAe,KAAK,KAAK,CAAV,GAAc,sBAAd,aAA0C,KAA1C,oBAAyD,KAAK,KAAK,CAAV,GAAc,EAAd,GAAmB,GAA5E,eAAf;AACD,OA3BM,CAAP;AA4BD;AA7TH;AAAA;AAAA,WA+TU,qCAAyB;AAC/B,UAAI,KAAK,aAAT,EAAwB;AACtB,aAAK,aAAL,CAAmB,WAAnB;AACD;;AACD,WAAK,aAAL,GAAqB,IAArB;AACD;AApUH;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFAqUC,4B;;;AACD;AAAA,UAAsC;AAAA,UAxNX,yDAAU;AAwNC,GAAtC,EAxNyC;AAAA,UAAkC,+DAAgB;AAAlD,GAwNzC,EAvNE;AAAA,UAAuB,wDAAS;AAAhC,GAuNF,EAvNsC;AAAA,UAAQ,uDAAQ;AAAhB,GAuNtC,EAvN0D;AAAA,UAAwB,uEAAwB;AAAhD,GAuN1D,EAtNE;AAAA,UAAY;AAAZ,GAsNF,EAtNoC;AAAA,UAAM,qDAAM;AAAZ,GAsNpC,EAtNoD;AAAA,UAAa;AAAb,GAsNpD,EAtNyE;AAAA;AAAA;AAAA,YAAD,qDAAC;AAAK,aAAC,yDAAD;AAAL;AAAA,GAsNzE,EAtNgG;AAAA,UACzE,qDAAM;AADmE,GAsNhG,EArNiC;AAAA,UAAuB,gEAAiB;AAAxC,GAqNjC,EArN6E;AAAA,UAAc,6DAAc;AAA5B,GAqN7E;AAAA;;AApTW,0DAAR,4DAAK,EAAG;;AAOA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAQA,0DAAR,4DAAK,EAAG;;AAaA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AASA,0DAAR,4DAAK,EAAG;;AAKA,0DAAR,4DAAK,EAAG;;AAeA,0DAAR,4DAAK,EAAG;;AAOC,0DAAT,6DAAM,EAAG;;AArGC,YAAY,4DAArB,CAnBH,yDAAS,6DAmIoE,CAlI5E,yDAkI4E,CAnI7E,CAmBG,CAAqB,EAlBb,YAkBa,CAAZ;;AAsUX,IAxV+B,kBACvB;AAAA;AAAA,CAuVR;;AAtVM,kBC/CuB,CDgDnB,IADJ,GACM,gECtDJ;ADuDN,QAAc;ACvDR,CDsDI,CADN;AAE2B,kBAC/B,CCvDyC,IDsDV,GACpB,gECtDb;ADsDsC,SCtD5B,EDuDR,SAAgB,0BAAhB,CCtDF,CDsDE,EAAgC;ACtD3B,WAAG,KDuDR,KAAgB,kBCvDR,GAAH;AACQ,GAFf;ADyDE;ACzDF,CDsDa,CADoB;AEgFnC,IF3EI,WCtD2B,GCiIX,CF3EE,kBE2EF,EF1EA,cE0EA,EF1ES,gBE0ET,EACoC,iBADpC,EFzEU,iBEyEV,EFzEwC,mBEyExC,EFxEhB,iBEwEgB,EAEC,cAFD,EFxEc,YEwEd,EFxEkC,mBEwElC,EFvEhB,gBEuEgB,EFvEE,oBEuEF,EFvEoC,eEuEpC,EFtEhB,mBEsEgB,EFtEM,cEsEN,EFtEuB,gBEsEvB,EFpElB,kBEoEkB,EFpEN;AEyEZ,eALkB,CAApB;;AASA,IAAa,SAAb;AAAA;AAAA;;AAAa,SAAS,KAAT,GAAS,gEADX;AAAA,MAAO,EAAE;AAAT,CACW,CAAT;AAD2B,SAAE,KAAF,GAAE,gEAEzC;AAAA;AAAA;AAAA;AAAA;AAAA,CAFyC,CAAF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGxC,C;AC9JA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIO,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,gBAAc,CAACA,cAAc,CAAC,UAAD,CAAd,GAA6B,CAA9B,CAAd,GAAiD,UAAjD;AACAA,gBAAc,CAACA,cAAc,CAAC,oBAAD,CAAd,GAAuC,CAAxC,CAAd,GAA2D,oBAA3D;AACAA,gBAAc,CAACA,cAAc,CAAC,eAAD,CAAd,GAAkC,CAAnC,CAAd,GAAsD,eAAtD;AACH,CAJD,EAIGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CAJjB;;AAKA,SAASC,WAAT,CAAqBC,WAArB,EAAkC;AAC9B,MAAIA,WAAW,CAAC,CAAD,CAAX,IAAkB,GAAtB,EAA2B;AACvB,WAAO,CAAC,IAAD,EAAOA,WAAP,CAAP;AACH;;AACD,MAAMC,UAAU,GAAGD,WAAW,CAACE,OAAZ,CAAoB,GAApB,EAAyB,CAAzB,CAAnB;;AACA,MAAID,UAAU,IAAI,CAAC,CAAnB,EAAsB;AAClB,UAAM,IAAIE,KAAJ,gCAAiCH,WAAjC,sCAAN;AACH;;AACD,SAAO,CAACA,WAAW,CAACI,KAAZ,CAAkB,CAAlB,EAAqBH,UAArB,CAAD,EAAmCD,WAAW,CAACI,KAAZ,CAAkBH,UAAU,GAAG,CAA/B,CAAnC,CAAP;AACH,C,CACD;;;AACA,SAASI,aAAT,CAAuBC,OAAvB,EAAgC;AAC5B,SAAOP,WAAW,CAACO,OAAD,CAAX,CAAqB,CAArB,MAA4B,cAAnC;AACH,C,CACD;;;AACA,SAASC,WAAT,CAAqBD,OAArB,EAA8B;AAC1B,SAAOP,WAAW,CAACO,OAAD,CAAX,CAAqB,CAArB,MAA4B,YAAnC;AACH,C,CACD;;;AACA,SAASE,YAAT,CAAsBF,OAAtB,EAA+B;AAC3B,SAAOP,WAAW,CAACO,OAAD,CAAX,CAAqB,CAArB,MAA4B,aAAnC;AACH;;AACD,SAASG,WAAT,CAAqBC,QAArB,EAA+B;AAC3B,SAAOA,QAAQ,KAAK,IAAb,GAAoB,IAApB,GAA2BX,WAAW,CAACW,QAAD,CAAX,CAAsB,CAAtB,CAAlC;AACH;;AACD,SAASC,cAAT,CAAwBC,MAAxB,EAAgCC,SAAhC,EAA2C;AACvC,SAAOD,MAAM,cAAOA,MAAP,cAAiBC,SAAjB,IAA+BA,SAA5C;AACH,C,CACD;AACA;AACA;AACA;AACA;;;AACA,IAAMC,cAAc,GAAG;AACnB,YAAU,MADS;AAEnB,YAAU,MAFS;AAGnB,WAAS,MAHU;AAInB,WAAS,MAJU;AAKnB,WAAS,MALU;AAMnB,WAAS,MANU;AAOnB,WAAS,MAPU;AAQnB,YAAU,MARS;AASnB,YAAU,MATS;AAUnB,aAAW,QAVQ;AAWnB,WAAS,QAXU;AAYnB,WAAS,QAZU;AAanB,SAAO,GAbY;AAcnB,SAAO,QAdY;AAenB,SAAO,QAfY;AAgBnB,UAAQ,GAhBW;AAiBnB,WAAS,MAjBU;AAkBnB,WAAS,MAlBU;AAmBnB,WAAS,QAnBU;AAoBnB,YAAU,MApBS;AAqBnB,YAAU,MArBS;AAsBnB,UAAQ,MAtBW;AAuBnB,UAAQ,MAvBW;AAwBnB,WAAS,QAxBU;AAyBnB,UAAQ,QAzBW;AA0BnB,UAAQ,QA1BW;AA2BnB,YAAU,MA3BS;AA4BnB,UAAQ,QA5BW;AA6BnB,SAAO,QA7BY;AA8BnB,YAAU,MA9BS;AA+BnB,YAAU,MA/BS;AAgCnB,WAAS,MAhCU;AAiCnB,UAAQ,MAjCW;AAkCnB,SAAO,QAlCY;AAmCnB,SAAO,QAnCY;AAoCnB,UAAQ,QApCW;AAqCnB,WAAS,QArCU;AAsCnB,UAAQ,QAtCW;AAuCnB,UAAQ,MAvCW;AAwCnB,WAAS,QAxCU;AAyCnB,SAAO,QAzCY;AA0CnB,YAAU,MA1CS;AA2CnB,YAAU,QA3CS;AA4CnB,YAAU,QA5CS;AA6CnB,UAAQ,QA7CW;AA8CnB,UAAQ,QA9CW;AA+CnB,SAAO,MA/CY;AAgDnB,WAAS,QAhDU;AAiDnB,WAAS,QAjDU;AAkDnB,WAAS,QAlDU;AAmDnB,YAAU,MAnDS;AAoDnB,YAAU,MApDS;AAqDnB,YAAU,MArDS;AAsDnB,WAAS,MAtDU;AAuDnB,WAAS,MAvDU;AAwDnB,YAAU,MAxDS;AAyDnB,YAAU,MAzDS;AA0DnB,WAAS,QA1DU;AA2DnB,UAAQ,QA3DW;AA4DnB,UAAQ,QA5DW;AA6DnB,aAAW,QA7DQ;AA8DnB,aAAW,QA9DQ;AA+DnB,WAAS,QA/DU;AAgEnB,SAAO,QAhEY;AAiEnB,SAAO,QAjEY;AAkEnB,SAAO,MAlEY;AAmEnB,SAAO,MAnEY;AAoEnB,UAAQ,MApEW;AAqEnB,UAAQ,MArEW;AAsEnB,UAAQ,QAtEW;AAuEnB,WAAS,QAvEU;AAwEnB,UAAQ,QAxEW;AAyEnB,YAAU,QAzES;AA0EnB,YAAU,MA1ES;AA2EnB,YAAU,MA3ES;AA4EnB,YAAU,MA5ES;AA6EnB,WAAS,QA7EU;AA8EnB,WAAS,QA9EU;AA+EnB,WAAS,QA/EU;AAgFnB,QAAM,QAhFa;AAiFnB,QAAM,GAjFa;AAkFnB,UAAQ,QAlFW;AAmFnB,UAAQ,QAnFW;AAoFnB,YAAU,QApFS;AAqFnB,YAAU,QArFS;AAsFnB,YAAU,MAtFS;AAuFnB,YAAU,MAvFS;AAwFnB,WAAS,MAxFU;AAyFnB,WAAS,MAzFU;AA0FnB,WAAS,MA1FU;AA2FnB,YAAU,MA3FS;AA4FnB,YAAU,MA5FS;AA6FnB,WAAS,QA7FU;AA8FnB,WAAS,QA9FU;AA+FnB,SAAO,QA/FY;AAgGnB,UAAQ,QAhGW;AAiGnB,UAAQ,QAjGW;AAkGnB,YAAU,MAlGS;AAmGnB,UAAQ,QAnGW;AAoGnB,UAAQ,MApGW;AAqGnB,UAAQ,MArGW;AAsGnB,WAAS,QAtGU;AAuGnB,WAAS,QAvGU;AAwGnB,YAAU,QAxGS;AAyGnB,YAAU,QAzGS;AA0GnB,UAAQ,QA1GW;AA2GnB,WAAS,MA3GU;AA4GnB,UAAQ,QA5GW;AA6GnB,UAAQ,QA7GW;AA8GnB,WAAS,QA9GU;AA+GnB,WAAS,QA/GU;AAgHnB,QAAM,QAhHa;AAiHnB,YAAU,QAjHS;AAkHnB,YAAU,QAlHS;AAmHnB,SAAO,QAnHY;AAoHnB,SAAO,QApHY;AAqHnB,YAAU,QArHS;AAsHnB,WAAS,QAtHU;AAuHnB,QAAM,GAvHa;AAwHnB,UAAQ,MAxHW;AAyHnB,WAAS,QAzHU;AA0HnB,WAAS,MA1HU;AA2HnB,YAAU,MA3HS;AA4HnB,WAAS,QA5HU;AA6HnB,QAAM,QA7Ha;AA8HnB,QAAM,QA9Ha;AA+HnB,WAAS,QA/HU;AAgInB,UAAQ,MAhIW;AAiInB,WAAS,QAjIU;AAkInB,QAAM,QAlIa;AAmInB,QAAM,QAnIa;AAoInB,SAAO,MApIY;AAqInB,WAAS,QArIU;AAsInB,UAAQ,QAtIW;AAuInB,YAAU,MAvIS;AAwInB,YAAU,MAxIS;AAyInB,QAAM,QAzIa;AA0InB,QAAM,QA1Ia;AA2InB,YAAU,MA3IS;AA4InB,YAAU,MA5IS;AA6InB,WAAS,MA7IU;AA8InB,WAAS,MA9IU;AA+InB,WAAS,QA/IU;AAgJnB,WAAS,QAhJU;AAiJnB,YAAU,MAjJS;AAkJnB,YAAU,MAlJS;AAmJnB,WAAS,QAnJU;AAoJnB,WAAS,QApJU;AAqJnB,WAAS,QArJU;AAsJnB,aAAW,QAtJQ;AAuJnB,aAAW,QAvJQ;AAwJnB,WAAS,QAxJU;AAyJnB,QAAM,QAzJa;AA0JnB,UAAQ,MA1JW;AA2JnB,UAAQ,MA3JW;AA4JnB,YAAU,MA5JS;AA6JnB,YAAU,MA7JS;AA8JnB,YAAU,MA9JS;AA+JnB,YAAU,MA/JS;AAgKnB,YAAU,QAhKS;AAiKnB,UAAQ,MAjKW;AAkKnB,UAAQ,MAlKW;AAmKnB,UAAQ,MAnKW;AAoKnB,YAAU,QApKS;AAqKnB,UAAQ,QArKW;AAsKnB,SAAO,QAtKY;AAuKnB,SAAO,QAvKY;AAwKnB,QAAM,QAxKa;AAyKnB,QAAM,QAzKa;AA0KnB,SAAO,QA1KY;AA2KnB,YAAU,MA3KS;AA4KnB,WAAS,MA5KU;AA6KnB,WAAS,QA7KU;AA8KnB,WAAS,QA9KU;AA+KnB,UAAQ,QA/KW;AAgLnB,UAAQ,QAhLW;AAiLnB,SAAO,QAjLY;AAkLnB,SAAO,QAlLY;AAmLnB,UAAQ,IAnLW;AAoLnB,WAAS,QApLU;AAqLnB,UAAQ,QArLW;AAsLnB,WAAS,MAtLU;AAuLnB,UAAQ,QAvLW;AAwLnB,UAAQ,QAxLW;AAyLnB,WAAS,QAzLU;AA0LnB,WAAS,QA1LU;AA2LnB,UAAQ,QA3LW;AA4LnB,SAAO,MA5LY;AA6LnB,YAAU,QA7LS;AA8LnB,SAAO,QA9LY;AA+LnB,SAAO,QA/LY;AAgMnB,SAAO,QAhMY;AAiMnB,YAAU,QAjMS;AAkMnB,WAAS,QAlMU;AAmMnB,WAAS,QAnMU;AAoMnB,YAAU,QApMS;AAqMnB,YAAU,QArMS;AAsMnB,UAAQ,QAtMW;AAuMnB,UAAQ,MAvMW;AAwMnB,SAAO,MAxMY;AAyMnB,WAAS,QAzMU;AA0MnB,WAAS,QA1MU;AA2MnB,YAAU,QA3MS;AA4MnB,SAAO,QA5MY;AA6MnB,YAAU,QA7MS;AA8MnB,SAAO,QA9MY;AA+MnB,UAAQ,QA/MW;AAgNnB,SAAO,QAhNY;AAiNnB,SAAO,QAjNY;AAkNnB,UAAQ,MAlNW;AAmNnB,UAAQ,MAnNW;AAoNnB,UAAQ,MApNW;AAqNnB,UAAQ,QArNW;AAsNnB,WAAS,MAtNU;AAuNnB,SAAO,QAvNY;AAwNnB,SAAO,QAxNY;AAyNnB,YAAU,QAzNS;AA0NnB,WAAS,QA1NU;AA2NnB,WAAS,QA3NU;AA4NnB,cAAY,QA5NO;AA6NnB,YAAU,QA7NS;AA8NnB,WAAS,MA9NU;AA+NnB,WAAS,MA/NU;AAgOnB,WAAS,QAhOU;AAiOnB,WAAS,MAjOU;AAkOnB,WAAS,QAlOU;AAmOnB,YAAU,MAnOS;AAoOnB,YAAU,MApOS;AAqOnB,UAAQ,QArOW;AAsOnB,UAAQ,QAtOW;AAuOnB,WAAS,MAvOU;AAwOnB,WAAS,MAxOU;AAyOnB,YAAU,MAzOS;AA0OnB,YAAU,MA1OS;AA2OnB,SAAO,MA3OY;AA4OnB,WAAS,QA5OU;AA6OnB,aAAW,QA7OQ;AA8OnB,aAAW,QA9OQ;AA+OnB,UAAQ,MA/OW;AAgPnB,UAAQ,MAhPW;AAiPnB,YAAU,QAjPS;AAkPnB,QAAM,QAlPa;AAmPnB,QAAM,QAnPa;AAoPnB,YAAU,MApPS;AAqPnB,YAAU,MArPS;AAsPnB,SAAO,MAtPY;AAuPnB,UAAQ,MAvPW;AAwPnB,UAAQ,QAxPW;AAyPnB,UAAQ,QAzPW;AA0PnB,UAAQ,QA1PW;AA2PnB,SAAO,QA3PY;AA4PnB,UAAQ;AA5PW,CAAvB,C,CA8PA;AACA;;AACA,IAAMC,YAAY,GAAG,QAArB;AACAD,cAAc,CAAC,MAAD,CAAd,GAAyBC,YAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,iB;AACF,+BAAgN;AAAA;;AAAA,oFAAJ,EAAI;AAAA,QAAlMC,gBAAkM,SAAlMA,gBAAkM;AAAA,QAAhLC,uBAAgL,SAAhLA,uBAAgL;AAAA,kCAAvJC,WAAuJ;AAAA,QAAvJA,WAAuJ,kCAAzIrB,cAAc,CAACsB,aAA0H;AAAA,qCAA3GC,cAA2G;AAAA,QAA3GA,cAA2G,qCAA1F,KAA0F;AAAA,6BAAnFC,MAAmF;AAAA,QAAnFA,MAAmF,6BAA1E,KAA0E;AAAA,oCAAnEC,aAAmE;AAAA,QAAnEA,aAAmE,oCAAnD,KAAmD;AAAA,sCAA5CC,2BAA4C;AAAA,QAA5CA,2BAA4C,sCAAd,KAAc;;AAAA;;AAC5M,SAAKP,gBAAL,GAAwB,EAAxB;AACA,SAAKI,cAAL,GAAsB,KAAtB;AACA,SAAKI,YAAL,GAAoB,KAApB;;AACA,QAAIR,gBAAgB,IAAIA,gBAAgB,CAACS,MAAjB,GAA0B,CAAlD,EAAqD;AACjDT,sBAAgB,CAACU,OAAjB,CAAyB,UAAArB,OAAO;AAAA,eAAI,KAAI,CAACW,gBAAL,CAAsBX,OAAtB,IAAiC,IAArC;AAAA,OAAhC;AACH;;AACD,SAAKgB,MAAL,GAAcA,MAAd;AACA,SAAKD,cAAL,GAAsBA,cAAc,IAAIC,MAAxC;AACA,SAAKJ,uBAAL,GAA+BA,uBAAuB,IAAI,IAA1D;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKI,aAAL,GAAqBA,aAArB;AACA,SAAKC,2BAAL,GAAmCA,2BAAnC;AACH;;;;WACD,yBAAgBI,IAAhB,EAAsB;AAClB,aAAO,KAAKN,MAAL,IAAeM,IAAI,CAACC,WAAL,MAAsB,KAAKZ,gBAAjD;AACH;;;;;;AAEL,IAAIa,uBAAJ,C,CACA;AACA;;;AACA,IAAIC,eAAJ;;AACA,SAASC,oBAAT,CAA8B1B,OAA9B,EAAuC;AACnC,MAAI2B,EAAJ,EAAQC,EAAR;;AACA,MAAI,CAACH,eAAL,EAAsB;AAClBD,2BAAuB,GAAG,IAAId,iBAAJ,EAA1B;AACAe,mBAAe,GAAG;AACd,cAAQ,IAAIf,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CADM;AAEd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAFM;AAGd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAHM;AAId,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAJK;AAKd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CALM;AAMd,aAAO,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CANO;AAOd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAPK;AAQd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CARK;AASd,YAAM,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CATQ;AAUd,YAAM,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAVQ;AAWd,gBAAU,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAXI;AAYd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAZK;AAad,aAAO,IAAIN,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CAbO;AAcd,WAAK,IAAIN,iBAAJ,CAAsB;AACvBC,wBAAgB,EAAE,CACd,SADc,EACH,SADG,EACQ,OADR,EACiB,YADjB,EAC+B,KAD/B,EACsC,IADtC,EAC4C,UAD5C,EAEd,QAFc,EAEJ,MAFI,EAEI,IAFJ,EAEU,IAFV,EAEgB,IAFhB,EAEsB,IAFtB,EAE4B,IAF5B,EAGd,IAHc,EAGR,QAHQ,EAGE,QAHF,EAGY,IAHZ,EAGkB,MAHlB,EAG0B,KAH1B,EAGiC,IAHjC,EAId,GAJc,EAIT,KAJS,EAIF,SAJE,EAIS,OAJT,EAIkB,IAJlB,CADK;AAOvBI,sBAAc,EAAE;AAPO,OAAtB,CAdS;AAuBd,eAAS,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,OAAD,EAAU,OAAV;AAApB,OAAtB,CAvBK;AAwBd,eAAS,IAAID,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,OAAD,EAAU,OAAV,CAApB;AAAwCI,sBAAc,EAAE;AAAxD,OAAtB,CAxBK;AAyBd,eAAS,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,OAAD,CAApB;AAA+BI,sBAAc,EAAE;AAA/C,OAAtB,CAzBK;AA0Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,CAApB;AAA4BI,sBAAc,EAAE;AAA5C,OAAtB,CA1BQ;AA2Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CA3BQ;AA4Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CA5BQ;AA6Bd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEM,cAAM,EAAE;AAAV,OAAtB,CA7BO;AA8Bd,aAAO,IAAIN,iBAAJ,CAAsB;AAAEE,+BAAuB,EAAE;AAA3B,OAAtB,CA9BO;AA+Bd,uBAAiB,IAAIF,iBAAJ,CAAsB;AACnC;AACA;AACA;AACA;AACA;AACAE,+BAAuB,EAAE,KANU;AAOnC;AACA;AACAM,mCAA2B,EAAE;AATM,OAAtB,CA/BH;AA0Cd,cAAQ,IAAIR,iBAAJ,CAAsB;AAAEE,+BAAuB,EAAE;AAA3B,OAAtB,CA1CM;AA2Cd,YAAM,IAAIF,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,CAApB;AAA4BI,sBAAc,EAAE;AAA5C,OAAtB,CA3CQ;AA4Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP;AAApB,OAAtB,CA5CQ;AA6Cd,YAAM,IAAID,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CA7CQ;AA8Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,sBAAc,EAAE;AAA/D,OAAtB,CA9CQ;AA+Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,sBAAc,EAAE;AAA/D,OAAtB,CA/CQ;AAgDd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,KAAP,EAAc,IAAd,CAApB;AAAyCI,sBAAc,EAAE;AAAzD,OAAtB,CAhDO;AAiDd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,sBAAc,EAAE;AAA/D,OAAtB,CAjDQ;AAkDd,kBAAY,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,UAAD,CAApB;AAAkCI,sBAAc,EAAE;AAAlD,OAAtB,CAlDE;AAmDd,gBAAU,IAAIL,iBAAJ,CAAsB;AAAEC,wBAAgB,EAAE,CAAC,QAAD,EAAW,UAAX,CAApB;AAA4CI,sBAAc,EAAE;AAA5D,OAAtB,CAnDI;AAoDd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEO,qBAAa,EAAE;AAAjB,OAAtB,CApDO;AAqDd,iBAAW,IAAIP,iBAAJ,CAAsB;AAAEO,qBAAa,EAAE;AAAjB,OAAtB,CArDG;AAsDd,eAAS,IAAIP,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACqC;AAA9B,OAAtB,CAtDK;AAuDd,gBAAU,IAAInB,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACqC;AAA9B,OAAtB,CAvDI;AAwDd,eAAS,IAAInB,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACsC;AAA9B,OAAtB,CAxDK;AAyDd,kBAAY,IAAIpB,iBAAJ,CAAsB;AAAEG,mBAAW,EAAErB,cAAc,CAACsC,kBAA9B;AAAkDb,qBAAa,EAAE;AAAjE,OAAtB;AAzDE,KAAlB;AA2DH,GA/DkC,CAgEnC;AACA;;;AACA,SAAO,CAACW,EAAE,GAAG,CAACD,EAAE,GAAGF,eAAe,CAACzB,OAAD,CAArB,MAAoC,IAApC,IAA4C2B,EAAE,KAAK,KAAK,CAAxD,GAA4DA,EAA5D,GAAiEF,eAAe,CAACzB,OAAO,CAACuB,WAAR,EAAD,CAAtF,MAAmH,IAAnH,IAA2HK,EAAE,KAAK,KAAK,CAAvI,GAA2IA,EAA3I,GAAgJJ,uBAAvJ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMO,gBAAgB,GAAG,IAAIC,MAAJ,CAAW,iBAAiB;AACjD,uBADgC,GACN;AAC1B;AACA;AACA,uDAJgC,GAI0B;AAC1D;AACA;AACA,QAPgC,GAOrB;AACX,aARqB,EAQN;AACnB,GATyB,CAAzB;AAUA;AACA;AACA;AACA;AACA;;;IACMC,W;AACF,yBAAc;AAAA;;AACV,SAAKC,OAAL,GAAe,IAAf;AACA,SAAKC,UAAL,GAAkB,EAAlB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKC,KAAL,GAAa,EAAb;AACA,SAAKC,YAAL,GAAoB,EAApB;AACH;;;;WA2DD,6BAAoB;AAChB,aAAO,KAAKC,kBAAL,MAA6B,KAAKH,UAAL,CAAgBf,MAAhB,IAA0B,CAAvD,IAA4D,KAAKgB,KAAL,CAAWhB,MAAX,IAAqB,CAAjF,IACH,KAAKiB,YAAL,CAAkBjB,MAAlB,KAA6B,CADjC;AAEH;;;WACD,8BAAqB;AACjB,aAAO,CAAC,CAAC,KAAKc,OAAd;AACH;;;WACD,sBAA2B;AAAA,UAAhBA,OAAgB,uEAAN,IAAM;AACvB,WAAKA,OAAL,GAAeA,OAAf;AACH;AACD;;;;WACA,sCAA6B;AACzB,UAAMlC,OAAO,GAAG,KAAKkC,OAAL,IAAgB,KAAhC;AACA,UAAMK,SAAS,GAAG,KAAKJ,UAAL,CAAgBf,MAAhB,GAAyB,CAAzB,sBAAwC,KAAKe,UAAL,CAAgBK,IAAhB,CAAqB,GAArB,CAAxC,UAAuE,EAAzF;AACA,UAAIJ,KAAK,GAAG,EAAZ;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKL,KAAL,CAAWhB,MAA/B,EAAuCqB,CAAC,IAAI,CAA5C,EAA+C;AAC3C,YAAMC,QAAQ,GAAG,KAAKN,KAAL,CAAWK,CAAX,CAAjB;AACA,YAAME,SAAS,GAAG,KAAKP,KAAL,CAAWK,CAAC,GAAG,CAAf,MAAsB,EAAtB,gBAAgC,KAAKL,KAAL,CAAWK,CAAC,GAAG,CAAf,CAAhC,UAAuD,EAAzE;AACAL,aAAK,eAAQM,QAAR,SAAmBC,SAAnB,CAAL;AACH;;AACD,aAAOjB,oBAAoB,CAAC1B,OAAD,CAApB,CAA8BgB,MAA9B,cAA2ChB,OAA3C,SAAqDuC,SAArD,SAAiEH,KAAjE,qBACCpC,OADD,SACWuC,SADX,SACuBH,KADvB,gBACkCpC,OADlC,MAAP;AAEH;;;WACD,oBAAW;AACP,UAAM4C,MAAM,GAAG,EAAf;;AACA,UAAI,KAAKT,UAAL,CAAgBf,MAAhB,GAAyB,CAA7B,EAAgC;AAC5BwB,cAAM,CAACC,IAAP,CAAY,OAAZ,EAAqB,KAAKV,UAAL,CAAgBK,IAAhB,CAAqB,GAArB,CAArB;AACH;;AACD,aAAOI,MAAM,CAACE,MAAP,CAAc,KAAKV,KAAnB,CAAP;AACH;;;WACD,sBAAad,IAAb,EAA+B;AAAA,UAAZyB,KAAY,uEAAJ,EAAI;AAC3B,WAAKX,KAAL,CAAWS,IAAX,CAAgBvB,IAAhB,EAAsByB,KAAK,IAAIA,KAAK,CAACxB,WAAN,EAAT,IAAgC,EAAtD;AACH;;;WACD,sBAAaD,IAAb,EAAmB;AACf,WAAKa,UAAL,CAAgBU,IAAhB,CAAqBvB,IAAI,CAACC,WAAL,EAArB;AACH;;;WACD,oBAAW;AACP,UAAIyB,GAAG,GAAG,KAAKd,OAAL,IAAgB,EAA1B;;AACA,UAAI,KAAKC,UAAT,EAAqB;AACjB,aAAKA,UAAL,CAAgBd,OAAhB,CAAwB,UAAA4B,KAAK;AAAA,iBAAID,GAAG,eAAQC,KAAR,CAAP;AAAA,SAA7B;AACH;;AACD,UAAI,KAAKb,KAAT,EAAgB;AACZ,aAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKL,KAAL,CAAWhB,MAA/B,EAAuCqB,CAAC,IAAI,CAA5C,EAA+C;AAC3C,cAAMnB,IAAI,GAAG,KAAKc,KAAL,CAAWK,CAAX,CAAb;AACA,cAAMM,KAAK,GAAG,KAAKX,KAAL,CAAWK,CAAC,GAAG,CAAf,CAAd;AACAO,aAAG,eAAQ1B,IAAR,SAAeyB,KAAK,GAAG,MAAMA,KAAT,GAAiB,EAArC,MAAH;AACH;AACJ;;AACD,WAAKV,YAAL,CAAkBhB,OAAlB,CAA0B,UAAA6B,WAAW;AAAA,eAAIF,GAAG,mBAAYE,WAAZ,MAAP;AAAA,OAArC;AACA,aAAOF,GAAP;AACH;;;WA5GD,eAAaG,QAAb,EAAuB;AACnB,UAAMC,OAAO,GAAG,EAAhB;;AACA,UAAMC,UAAU,GAAG,SAAbA,UAAa,CAACL,GAAD,EAAMM,MAAN,EAAiB;AAChC,YAAIA,MAAM,CAACjB,YAAP,CAAoBjB,MAApB,GAA6B,CAA7B,IAAkC,CAACkC,MAAM,CAACpB,OAA1C,IAAqDoB,MAAM,CAACnB,UAAP,CAAkBf,MAAlB,IAA4B,CAAjF,IACAkC,MAAM,CAAClB,KAAP,CAAahB,MAAb,IAAuB,CAD3B,EAC8B;AAC1BkC,gBAAM,CAACpB,OAAP,GAAiB,GAAjB;AACH;;AACDc,WAAG,CAACH,IAAJ,CAASS,MAAT;AACH,OAND;;AAOA,UAAIC,WAAW,GAAG,IAAItB,WAAJ,EAAlB;AACA,UAAIuB,KAAJ;AACA,UAAIC,OAAO,GAAGF,WAAd;AACA,UAAIG,KAAK,GAAG,KAAZ;AACA3B,sBAAgB,CAAC4B,SAAjB,GAA6B,CAA7B;;AACA,aAAOH,KAAK,GAAGzB,gBAAgB,CAAC6B,IAAjB,CAAsBT,QAAtB,CAAf,EAAgD;AAC5C,YAAIK,KAAK,CAAC;AAAE;AAAH,SAAT,EAAwB;AACpB,cAAIE,KAAJ,EAAW;AACP,kBAAM,IAAI7D,KAAJ,CAAU,2CAAV,CAAN;AACH;;AACD6D,eAAK,GAAG,IAAR;AACAD,iBAAO,GAAG,IAAIxB,WAAJ,EAAV;AACAsB,qBAAW,CAAClB,YAAZ,CAAyBQ,IAAzB,CAA8BY,OAA9B;AACH;;AACD,YAAMI,GAAG,GAAGL,KAAK,CAAC;AAAE;AAAH,SAAjB;;AACA,YAAIK,GAAJ,EAAS;AACL,cAAMvD,MAAM,GAAGkD,KAAK,CAAC;AAAE;AAAH,WAApB;;AACA,cAAIlD,MAAM,KAAK,GAAf,EAAoB;AAChB;AACAmD,mBAAO,CAACK,YAAR,CAAqB,IAArB,EAA2BD,GAAG,CAACE,MAAJ,CAAW,CAAX,CAA3B;AACH,WAHD,MAIK,IAAIzD,MAAM,KAAK,GAAf,EAAoB;AACrB;AACAmD,mBAAO,CAACO,YAAR,CAAqBH,GAAG,CAACE,MAAJ,CAAW,CAAX,CAArB;AACH,WAHI,MAIA;AACD;AACAN,mBAAO,CAACQ,UAAR,CAAmBJ,GAAnB;AACH;AACJ;;AACD,YAAMK,SAAS,GAAGV,KAAK,CAAC;AAAE;AAAH,SAAvB;;AACA,YAAIU,SAAJ,EAAe;AACXT,iBAAO,CAACK,YAAR,CAAqBI,SAArB,EAAgCV,KAAK,CAAC;AAAE;AAAH,WAArC;AACH;;AACD,YAAIA,KAAK,CAAC;AAAE;AAAH,SAAT,EAA4B;AACxBE,eAAK,GAAG,KAAR;AACAD,iBAAO,GAAGF,WAAV;AACH;;AACD,YAAIC,KAAK,CAAC;AAAE;AAAH,SAAT,EAA8B;AAC1B,cAAIE,KAAJ,EAAW;AACP,kBAAM,IAAI7D,KAAJ,CAAU,8CAAV,CAAN;AACH;;AACDwD,oBAAU,CAACD,OAAD,EAAUG,WAAV,CAAV;;AACAA,qBAAW,GAAGE,OAAO,GAAG,IAAIxB,WAAJ,EAAxB;AACH;AACJ;;AACDoB,gBAAU,CAACD,OAAD,EAAUG,WAAV,CAAV;;AACA,aAAOH,OAAP;AACH;;;;;AAqDL;AACA;AACA;AACA;;;IACMe,e;AACF,6BAAc;AAAA;;AACV,SAAKC,WAAL,GAAmB,IAAIC,GAAJ,EAAnB;AACA,SAAKC,kBAAL,GAA0B,IAAID,GAAJ,EAA1B;AACA,SAAKE,SAAL,GAAiB,IAAIF,GAAJ,EAAjB;AACA,SAAKG,gBAAL,GAAwB,IAAIH,GAAJ,EAAxB;AACA,SAAKI,aAAL,GAAqB,IAAIJ,GAAJ,EAArB;AACA,SAAKK,oBAAL,GAA4B,IAAIL,GAAJ,EAA5B;AACA,SAAKM,aAAL,GAAqB,EAArB;AACH;;;;WAMD,wBAAeC,YAAf,EAA6BC,YAA7B,EAA2C;AACvC,UAAIC,WAAW,GAAG,IAAlB;;AACA,UAAIF,YAAY,CAACxD,MAAb,GAAsB,CAA1B,EAA6B;AACzB0D,mBAAW,GAAG,IAAIC,mBAAJ,CAAwBH,YAAxB,CAAd;;AACA,aAAKD,aAAL,CAAmB9B,IAAnB,CAAwBiC,WAAxB;AACH;;AACD,WAAK,IAAIrC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmC,YAAY,CAACxD,MAAjC,EAAyCqB,CAAC,EAA1C,EAA8C;AAC1C,aAAKuC,cAAL,CAAoBJ,YAAY,CAACnC,CAAD,CAAhC,EAAqCoC,YAArC,EAAmDC,WAAnD;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;;WACI,wBAAevB,WAAf,EAA4BsB,YAA5B,EAA0CC,WAA1C,EAAuD;AACnD,UAAIG,OAAO,GAAG,IAAd;AACA,UAAM/C,OAAO,GAAGqB,WAAW,CAACrB,OAA5B;AACA,UAAMC,UAAU,GAAGoB,WAAW,CAACpB,UAA/B;AACA,UAAMC,KAAK,GAAGmB,WAAW,CAACnB,KAA1B;AACA,UAAM8C,UAAU,GAAG,IAAIC,eAAJ,CAAoB5B,WAApB,EAAiCsB,YAAjC,EAA+CC,WAA/C,CAAnB;;AACA,UAAI5C,OAAJ,EAAa;AACT,YAAMkD,UAAU,GAAGhD,KAAK,CAAChB,MAAN,KAAiB,CAAjB,IAAsBe,UAAU,CAACf,MAAX,KAAsB,CAA/D;;AACA,YAAIgE,UAAJ,EAAgB;AACZ,eAAKC,YAAL,CAAkBJ,OAAO,CAACb,WAA1B,EAAuClC,OAAvC,EAAgDgD,UAAhD;AACH,SAFD,MAGK;AACDD,iBAAO,GAAG,KAAKK,WAAL,CAAiBL,OAAO,CAACX,kBAAzB,EAA6CpC,OAA7C,CAAV;AACH;AACJ;;AACD,UAAIC,UAAJ,EAAgB;AACZ,aAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,UAAU,CAACf,MAA/B,EAAuCqB,CAAC,EAAxC,EAA4C;AACxC,cAAM2C,WAAU,GAAGhD,KAAK,CAAChB,MAAN,KAAiB,CAAjB,IAAsBqB,CAAC,KAAKN,UAAU,CAACf,MAAX,GAAoB,CAAnE;;AACA,cAAMmE,SAAS,GAAGpD,UAAU,CAACM,CAAD,CAA5B;;AACA,cAAI2C,WAAJ,EAAgB;AACZ,iBAAKC,YAAL,CAAkBJ,OAAO,CAACV,SAA1B,EAAqCgB,SAArC,EAAgDL,UAAhD;AACH,WAFD,MAGK;AACDD,mBAAO,GAAG,KAAKK,WAAL,CAAiBL,OAAO,CAACT,gBAAzB,EAA2Ce,SAA3C,CAAV;AACH;AACJ;AACJ;;AACD,UAAInD,KAAJ,EAAW;AACP,aAAK,IAAIK,EAAC,GAAG,CAAb,EAAgBA,EAAC,GAAGL,KAAK,CAAChB,MAA1B,EAAkCqB,EAAC,IAAI,CAAvC,EAA0C;AACtC,cAAM2C,YAAU,GAAG3C,EAAC,KAAKL,KAAK,CAAChB,MAAN,GAAe,CAAxC;;AACA,cAAME,IAAI,GAAGc,KAAK,CAACK,EAAD,CAAlB;AACA,cAAMM,KAAK,GAAGX,KAAK,CAACK,EAAC,GAAG,CAAL,CAAnB;;AACA,cAAI2C,YAAJ,EAAgB;AACZ,gBAAMI,WAAW,GAAGP,OAAO,CAACR,aAA5B;AACA,gBAAIgB,iBAAiB,GAAGD,WAAW,CAACE,GAAZ,CAAgBpE,IAAhB,CAAxB;;AACA,gBAAI,CAACmE,iBAAL,EAAwB;AACpBA,+BAAiB,GAAG,IAAIpB,GAAJ,EAApB;AACAmB,yBAAW,CAACG,GAAZ,CAAgBrE,IAAhB,EAAsBmE,iBAAtB;AACH;;AACD,iBAAKJ,YAAL,CAAkBI,iBAAlB,EAAqC1C,KAArC,EAA4CmC,UAA5C;AACH,WARD,MASK;AACD,gBAAMU,UAAU,GAAGX,OAAO,CAACP,oBAA3B;AACA,gBAAImB,gBAAgB,GAAGD,UAAU,CAACF,GAAX,CAAepE,IAAf,CAAvB;;AACA,gBAAI,CAACuE,gBAAL,EAAuB;AACnBA,8BAAgB,GAAG,IAAIxB,GAAJ,EAAnB;AACAuB,wBAAU,CAACD,GAAX,CAAerE,IAAf,EAAqBuE,gBAArB;AACH;;AACDZ,mBAAO,GAAG,KAAKK,WAAL,CAAiBO,gBAAjB,EAAmC9C,KAAnC,CAAV;AACH;AACJ;AACJ;AACJ;;;WACD,sBAAa+C,GAAb,EAAkBxE,IAAlB,EAAwB4D,UAAxB,EAAoC;AAChC,UAAIa,YAAY,GAAGD,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,CAAnB;;AACA,UAAI,CAACyE,YAAL,EAAmB;AACfA,oBAAY,GAAG,EAAf;AACAD,WAAG,CAACH,GAAJ,CAAQrE,IAAR,EAAcyE,YAAd;AACH;;AACDA,kBAAY,CAAClD,IAAb,CAAkBqC,UAAlB;AACH;;;WACD,qBAAYY,GAAZ,EAAiBxE,IAAjB,EAAuB;AACnB,UAAI2D,OAAO,GAAGa,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,CAAd;;AACA,UAAI,CAAC2D,OAAL,EAAc;AACVA,eAAO,GAAG,IAAId,eAAJ,EAAV;AACA2B,WAAG,CAACH,GAAJ,CAAQrE,IAAR,EAAc2D,OAAd;AACH;;AACD,aAAOA,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,eAAM1B,WAAN,EAAmByC,eAAnB,EAAoC;AAChC,UAAIpD,MAAM,GAAG,KAAb;AACA,UAAMV,OAAO,GAAGqB,WAAW,CAACrB,OAA5B;AACA,UAAMC,UAAU,GAAGoB,WAAW,CAACpB,UAA/B;AACA,UAAMC,KAAK,GAAGmB,WAAW,CAACnB,KAA1B;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkC,aAAL,CAAmBvD,MAAvC,EAA+CqB,CAAC,EAAhD,EAAoD;AAChD,aAAKkC,aAAL,CAAmBlC,CAAnB,EAAsBwD,cAAtB,GAAuC,KAAvC;AACH;;AACDrD,YAAM,GAAG,KAAKsD,cAAL,CAAoB,KAAK9B,WAAzB,EAAsClC,OAAtC,EAA+CqB,WAA/C,EAA4DyC,eAA5D,KAAgFpD,MAAzF;AACAA,YAAM,GAAG,KAAKuD,aAAL,CAAmB,KAAK7B,kBAAxB,EAA4CpC,OAA5C,EAAqDqB,WAArD,EAAkEyC,eAAlE,KACLpD,MADJ;;AAEA,UAAIT,UAAJ,EAAgB;AACZ,aAAK,IAAIM,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGN,UAAU,CAACf,MAA/B,EAAuCqB,GAAC,EAAxC,EAA4C;AACxC,cAAM8C,SAAS,GAAGpD,UAAU,CAACM,GAAD,CAA5B;AACAG,gBAAM,GACF,KAAKsD,cAAL,CAAoB,KAAK3B,SAAzB,EAAoCgB,SAApC,EAA+ChC,WAA/C,EAA4DyC,eAA5D,KAAgFpD,MADpF;AAEAA,gBAAM,GACF,KAAKuD,aAAL,CAAmB,KAAK3B,gBAAxB,EAA0Ce,SAA1C,EAAqDhC,WAArD,EAAkEyC,eAAlE,KACIpD,MAFR;AAGH;AACJ;;AACD,UAAIR,KAAJ,EAAW;AACP,aAAK,IAAIK,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGL,KAAK,CAAChB,MAA1B,EAAkCqB,GAAC,IAAI,CAAvC,EAA0C;AACtC,cAAMnB,IAAI,GAAGc,KAAK,CAACK,GAAD,CAAlB;AACA,cAAMM,KAAK,GAAGX,KAAK,CAACK,GAAC,GAAG,CAAL,CAAnB;;AACA,cAAMgD,iBAAiB,GAAG,KAAKhB,aAAL,CAAmBiB,GAAnB,CAAuBpE,IAAvB,CAA1B;;AACA,cAAIyB,KAAJ,EAAW;AACPH,kBAAM,GACF,KAAKsD,cAAL,CAAoBT,iBAApB,EAAuC,EAAvC,EAA2ClC,WAA3C,EAAwDyC,eAAxD,KAA4EpD,MADhF;AAEH;;AACDA,gBAAM,GACF,KAAKsD,cAAL,CAAoBT,iBAApB,EAAuC1C,KAAvC,EAA8CQ,WAA9C,EAA2DyC,eAA3D,KAA+EpD,MADnF;;AAEA,cAAMiD,gBAAgB,GAAG,KAAKnB,oBAAL,CAA0BgB,GAA1B,CAA8BpE,IAA9B,CAAzB;;AACA,cAAIyB,KAAJ,EAAW;AACPH,kBAAM,GAAG,KAAKuD,aAAL,CAAmBN,gBAAnB,EAAqC,EAArC,EAAyCtC,WAAzC,EAAsDyC,eAAtD,KAA0EpD,MAAnF;AACH;;AACDA,gBAAM,GACF,KAAKuD,aAAL,CAAmBN,gBAAnB,EAAqC9C,KAArC,EAA4CQ,WAA5C,EAAyDyC,eAAzD,KAA6EpD,MADjF;AAEH;AACJ;;AACD,aAAOA,MAAP;AACH;AACD;;;;WACA,wBAAekD,GAAf,EAAoBxE,IAApB,EAA0BiC,WAA1B,EAAuCyC,eAAvC,EAAwD;AACpD,UAAI,CAACF,GAAD,IAAQ,OAAOxE,IAAP,KAAgB,QAA5B,EAAsC;AAClC,eAAO,KAAP;AACH;;AACD,UAAI8E,WAAW,GAAGN,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,KAAiB,EAAnC;AACA,UAAM+E,eAAe,GAAGP,GAAG,CAACJ,GAAJ,CAAQ,GAAR,CAAxB;;AACA,UAAIW,eAAJ,EAAqB;AACjBD,mBAAW,GAAGA,WAAW,CAACtD,MAAZ,CAAmBuD,eAAnB,CAAd;AACH;;AACD,UAAID,WAAW,CAAChF,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,eAAO,KAAP;AACH;;AACD,UAAI8D,UAAJ;AACA,UAAItC,MAAM,GAAG,KAAb;;AACA,WAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2D,WAAW,CAAChF,MAAhC,EAAwCqB,CAAC,EAAzC,EAA6C;AACzCyC,kBAAU,GAAGkB,WAAW,CAAC3D,CAAD,CAAxB;AACAG,cAAM,GAAGsC,UAAU,CAACoB,QAAX,CAAoB/C,WAApB,EAAiCyC,eAAjC,KAAqDpD,MAA9D;AACH;;AACD,aAAOA,MAAP;AACH;AACD;;;;WACA,uBAAckD,GAAd,EAAmBxE,IAAnB,EAAyBiC,WAAzB,EAAsCyC,eAAtC,EAAuD;AACnD,UAAI,CAACF,GAAD,IAAQ,OAAOxE,IAAP,KAAgB,QAA5B,EAAsC;AAClC,eAAO,KAAP;AACH;;AACD,UAAMiF,cAAc,GAAGT,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,CAAvB;;AACA,UAAI,CAACiF,cAAL,EAAqB;AACjB,eAAO,KAAP;AACH,OAPkD,CAQnD;AACA;AACA;;;AACA,aAAOA,cAAc,CAAC/C,KAAf,CAAqBD,WAArB,EAAkCyC,eAAlC,CAAP;AACH;;;WA5KD,0BAAwB3D,YAAxB,EAAsC;AAClC,UAAMmE,UAAU,GAAG,IAAIrC,eAAJ,EAAnB;AACAqC,gBAAU,CAACC,cAAX,CAA0BpE,YAA1B,EAAwC,IAAxC;AACA,aAAOmE,UAAP;AACH;;;;;;IA0KCzB,mB,GACF,6BAAY2B,SAAZ,EAAuB;AAAA;;AACnB,OAAKA,SAAL,GAAiBA,SAAjB;AACA,OAAKT,cAAL,GAAsB,KAAtB;AACH,C,EAEL;;;IACMd,e;AACF,2BAAYhC,QAAZ,EAAsBwD,SAAtB,EAAiC7B,WAAjC,EAA8C;AAAA;;AAC1C,SAAK3B,QAAL,GAAgBA,QAAhB;AACA,SAAKwD,SAAL,GAAiBA,SAAjB;AACA,SAAK7B,WAAL,GAAmBA,WAAnB;AACA,SAAKzC,YAAL,GAAoBc,QAAQ,CAACd,YAA7B;AACH;;;;WACD,kBAASkB,WAAT,EAAsBqD,QAAtB,EAAgC;AAC5B,UAAIhE,MAAM,GAAG,IAAb;;AACA,UAAI,KAAKP,YAAL,CAAkBjB,MAAlB,GAA2B,CAA3B,KAAiC,CAAC,KAAK0D,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBmB,cAAxE,CAAJ,EAA6F;AACzF,YAAMO,UAAU,GAAGrC,eAAe,CAAC0C,gBAAhB,CAAiC,KAAKxE,YAAtC,CAAnB;AACAO,cAAM,GAAG,CAAC4D,UAAU,CAAChD,KAAX,CAAiBD,WAAjB,EAA8B,IAA9B,CAAV;AACH;;AACD,UAAIX,MAAM,IAAIgE,QAAV,KAAuB,CAAC,KAAK9B,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBmB,cAA9D,CAAJ,EAAmF;AAC/E,YAAI,KAAKnB,WAAT,EAAsB;AAClB,eAAKA,WAAL,CAAiBmB,cAAjB,GAAkC,IAAlC;AACH;;AACDW,gBAAQ,CAAC,KAAKzD,QAAN,EAAgB,KAAKwD,SAArB,CAAR;AACH;;AACD,aAAO/D,MAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMkE,YAAY,GAAGC,mBAAmB,CAAC,QAAD,EAAW,UAACC,KAAD;AAAA,SAAY;AAAEA,SAAK,EAALA;AAAF,GAAZ;AAAA,CAAX,CAAxC;AACA,IAAMC,oBAAoB,GAAGF,mBAAmB,CAAC,gBAAD,EAAmB,UAACG,IAAD;AAAA,SAAW;AAAEC,SAAK,EAAED,IAAT;AAAeE,SAAK,EAAEC;AAAtB,GAAX;AAAA,CAAnB,CAAhD;AACA,IAAMC,eAAe,GAAGP,mBAAmB,CAAC,WAAD,EAAc,UAACQ,aAAD;AAAA,SAAoB;AAAEA,iBAAa,EAAbA;AAAF,GAApB;AAAA,CAAd,CAA3C;AACA,IAAMC,qBAAqB,GAAGT,mBAAmB,CAAC,iBAAD,EAAoB,UAAC5D,QAAD;AAAA,MAAWsE,IAAX,uEAAkB,EAAlB;AAAA,SAA0BC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,KAAnB;AAA0BC,eAAW,EAAE,KAAvC;AAA8CC,eAAW,EAAE;AAA3D,GAAd,EAAkFL,IAAlF,CAA1B;AAAA,CAApB,CAAjD;AACA,IAAMM,kBAAkB,GAAGhB,mBAAmB,CAAC,cAAD,EAAiB,UAAC5D,QAAD;AAAA,MAAWsE,IAAX,uEAAkB,EAAlB;AAAA,SAA0BC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,IAAnB;AAAyBC,eAAW,EAAE,KAAtC;AAA6CC,eAAW,EAAE;AAA1D,GAAd,EAAgFL,IAAhF,CAA1B;AAAA,CAAjB,CAA9C;AACA,IAAMO,kBAAkB,GAAGjB,mBAAmB,CAAC,cAAD,EAAiB,UAAC5D,QAAD;AAAA,MAAWsE,IAAX,uEAAkB,EAAlB;AAAA,SAA0BC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,KAAnB;AAA0BC,eAAW,EAAE,IAAvC;AAA6CC,eAAW,EAAE;AAA1D,GAAd,EAAgFL,IAAhF,CAA1B;AAAA,CAAjB,CAA9C;AACA,IAAMQ,eAAe,GAAGlB,mBAAmB,CAAC,WAAD,EAAc,UAAC5D,QAAD,EAAWsE,IAAX;AAAA,SAAqBC,MAAM,CAACC,MAAP,CAAc;AAAExE,YAAQ,EAARA,QAAF;AAAYyE,SAAK,EAAE,IAAnB;AAAyBC,eAAW,EAAE,IAAtC;AAA4CC,eAAW,EAAE;AAAzD,GAAd,EAA+EL,IAA/E,CAArB;AAAA,CAAd,CAA3C;AACA,IAAMS,eAAe,GAAGnB,mBAAmB,CAAC,WAAD,EAAc;AAAA,MAACoB,GAAD,uEAAO,EAAP;AAAA,SAAcA,GAAd;AAAA,CAAd,CAA3C;AACA,IAAIC,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;AAC1BA,mBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAD0B,CAE1B;;AACAA,mBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACAA,mBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,CALD,EAKGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CALpB;;AAMA,IAAIC,uBAAJ;;AACA,CAAC,UAAUA,uBAAV,EAAmC;AAChCA,yBAAuB,CAACA,uBAAuB,CAAC,QAAD,CAAvB,GAAoC,CAArC,CAAvB,GAAiE,QAAjE;AACAA,yBAAuB,CAACA,uBAAuB,CAAC,SAAD,CAAvB,GAAqC,CAAtC,CAAvB,GAAkE,SAAlE;AACH,CAHD,EAGGA,uBAAuB,KAAKA,uBAAuB,GAAG,EAA/B,CAH1B;;AAIA,IAAMC,eAAe,GAAGvB,mBAAmB,CAAC,WAAD,EAAc;AAAA,MAACwB,CAAD,uEAAK,EAAL;AAAA,SAAab,MAAM,CAACC,MAAP,CAAc;AAAEa,mBAAe,EAAEH,uBAAuB,CAACI;AAA3C,GAAd,EAAoEF,CAApE,CAAb;AAAA,CAAd,CAA3C;AACA,IAAMG,UAAU,GAAG3B,mBAAmB,CAAC,MAAD,EAAS,UAAC4B,CAAD;AAAA,SAAQjB,MAAM,CAACC,MAAP,CAAc;AAAEiB,QAAI,EAAE;AAAR,GAAd,EAA8BD,CAA9B,CAAR;AAAA,CAAT,CAAtC;AACA,IAAME,WAAW,GAAG9B,mBAAmB,CAAC,OAAD,EAAU,UAAC+B,mBAAD;AAAA,SAA0B;AAAEA,uBAAmB,EAAnBA;AAAF,GAA1B;AAAA,CAAV,CAAvC;AACA,IAAMC,YAAY,GAAGhC,mBAAmB,CAAC,QAAD,EAAW,UAAC+B,mBAAD;AAAA,SAA0B;AAAEA,uBAAmB,EAAnBA;AAAF,GAA1B;AAAA,CAAX,CAAxC;AACA,IAAME,iBAAiB,GAAGjC,mBAAmB,CAAC,aAAD,EAAgB,UAACkC,gBAAD;AAAA,SAAuB;AAAEA,oBAAgB,EAAhBA;AAAF,GAAvB;AAAA,CAAhB,CAA7C;AACA,IAAMC,kBAAkB,GAAGnC,mBAAmB,CAAC,cAAD,EAAiB,UAACoC,SAAD,EAAYC,IAAZ;AAAA,SAAsB;AAAED,aAAS,EAATA,SAAF;AAAaC,QAAI,EAAJA;AAAb,GAAtB;AAAA,CAAjB,CAA9C;AACA,IAAMC,cAAc,GAAGtC,mBAAmB,CAAC,UAAD,EAAa,UAACuC,QAAD;AAAA,SAAcA,QAAd;AAAA,CAAb,CAA1C;AACA,IAAMC,gBAAgB,GAAGxC,mBAAmB,CAAC,YAAD,EAAe;AAAA,MAACyC,UAAD,uEAAc,EAAd;AAAA,SAAqBA,UAArB;AAAA,CAAf,CAA5C;AACA,IAAMC,sBAAsB,GAAG;AAC3BnI,MAAI,EAAE;AADqB,CAA/B;AAGA,IAAMoI,gBAAgB,GAAG;AACrBpI,MAAI,EAAE;AADe,CAAzB;AAGA,IAAMqI,cAAc,GAAG5C,mBAAmB,CAAC,UAAD,CAA1C;AACA,IAAM6C,UAAU,GAAG7C,mBAAmB,CAAC,MAAD,CAAtC;AACA,IAAM8C,cAAc,GAAG9C,mBAAmB,CAAC,UAAD,CAA1C;AACA,IAAM+C,UAAU,GAAG/C,mBAAmB,CAAC,MAAD,CAAtC;AACA,IAAMgD,IAAI,GAAGC,QAAb;AACA,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,iBAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;AACH,CAPD,EAOGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAPlB;;AAQA,IAAIC,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;AACnCA,4BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;;AAKA,SAASnD,mBAAT,CAA6BzF,IAA7B,EAAmC6I,KAAnC,EAA0C;AACtC;AACA;AACA;AACA;AACA,WAASC,OAAT,GAA0B;AACtB,QAAMC,MAAM,GAAGF,KAAK,GAAGA,KAAK,MAAL,mBAAH,GAAoB,EAAxC;AACA,WAAOzC,MAAM,CAACC,MAAP,CAAc;AAAE2C,oBAAc,EAAEhJ;AAAlB,KAAd,EAAwC+I,MAAxC,CAAP;AACH;;AACDD,SAAO,CAACG,QAAR,GAAmB,UAACC,GAAD;AAAA,WAASA,GAAG,IAAIA,GAAG,CAACF,cAAJ,KAAuBhJ,IAAvC;AAAA,GAAnB;;AACA8I,SAAO,CAACE,cAAR,GAAyBhJ,IAAzB;AACA,SAAO8I,OAAP;AACH;;AACD,SAASK,8BAAT,CAAwCtH,QAAxC,EAAkD;AAC9C,MAAMuH,OAAO,GAAGvH,QAAQ,CAAChB,UAAT,IAAuBgB,QAAQ,CAAChB,UAAT,CAAoBf,MAA3C,IACX;AAAE;AADS,uKACO+B,QAAQ,CAAChB,UADhB,KAEZ,EAFJ;AAGA,MAAMzC,WAAW,GAAGyD,QAAQ,CAACjB,OAAT,IAAoBiB,QAAQ,CAACjB,OAAT,KAAqB,GAAzC,GAA+CiB,QAAQ,CAACjB,OAAxD,GAAkE,EAAtF;AACA,UAAQxC,WAAR,qKAAwByD,QAAQ,CAACf,KAAjC,+JAA2CsI,OAA3C;AACH;;AACD,SAASC,gCAAT,CAA0CxH,QAA1C,EAAoD;AAChD,MAAMuH,OAAO,GAAGvH,QAAQ,CAAChB,UAAT,IAAuBgB,QAAQ,CAAChB,UAAT,CAAoBf,MAA3C,IACX;AAAE;AADS,uKACO+B,QAAQ,CAAChB,UADhB,KAEZ,EAFJ;;AAGA,MAAIgB,QAAQ,CAACjB,OAAb,EAAsB;AAClB,YACI;AAAE;AAAF,MAAc;AAAE;AADpB,MACmCiB,QAAQ,CAACjB,OAD5C,qKACwDiB,QAAQ,CAACf,KADjE,+JAC2EsI,OAD3E;AAGH,GAJD,MAKK,IAAIvH,QAAQ,CAACf,KAAT,CAAehB,MAAnB,EAA2B;AAC5B,YAAQ;AAAE;AAAF,MAAc;AAAE;AAAxB,yKAA4C+B,QAAQ,CAACf,KAArD,+JAA+DsI,OAA/D;AACH,GAFI,MAGA;AACD,WAAOvH,QAAQ,CAAChB,UAAT,IAAuBgB,QAAQ,CAAChB,UAAT,CAAoBf,MAA3C,IACF;AAAE;AAAF,MAAc;AAAE;AADd,yKAC8B+B,QAAQ,CAAChB,UADvC,KAEH,EAFJ;AAGH;AACJ;;AACD,SAASyI,0BAAT,CAAoCzH,QAApC,EAA8C;AAC1C,MAAM0H,QAAQ,GAAGJ,8BAA8B,CAACtH,QAAD,CAA/C;AACA,MAAM2H,QAAQ,GAAG3H,QAAQ,CAACd,YAAT,IAAyBc,QAAQ,CAACd,YAAT,CAAsBjB,MAA/C,GACb+B,QAAQ,CAACd,YAAT,CAAsByD,GAAtB,CAA0B,UAAA5C,WAAW;AAAA,WAAIyH,gCAAgC,CAACzH,WAAD,CAApC;AAAA,GAArC,CADa,GAEb,EAFJ;AAGA,SAAO2H,QAAQ,CAAC/H,MAAT,OAAA+H,QAAQ,8JAAWC,QAAX,EAAf;AACH;;AACD,SAASC,yBAAT,CAAmC5H,QAAnC,EAA6C;AACzC,SAAOA,QAAQ,GAAGlB,WAAW,CAAC+I,KAAZ,CAAkB7H,QAAlB,EAA4B2C,GAA5B,CAAgC8E,0BAAhC,CAAH,GAAiE,EAAhF;AACH;;AAED,IAAIK,IAAI,GAAG,aAAavD,MAAM,CAACwD,MAAP,CAAc;AAClCC,WAAS,EAAE,IADuB;AAElCrE,cAAY,EAAEA,YAFoB;AAGlCG,sBAAoB,EAAEA,oBAHY;AAIlCK,iBAAe,EAAEA,eAJiB;AAKlCE,uBAAqB,EAAEA,qBALW;AAMlCO,oBAAkB,EAAEA,kBANc;AAOlCC,oBAAkB,EAAEA,kBAPc;AAQlCC,iBAAe,EAAEA,eARiB;AASlCC,iBAAe,EAAEA,eATiB;;AAUlC,MAAIE,iBAAJ,GAAyB;AAAE,WAAOA,iBAAP;AAA2B,GAVpB;;AAWlC,MAAIC,uBAAJ,GAA+B;AAAE,WAAOA,uBAAP;AAAiC,GAXhC;;AAYlCC,iBAAe,EAAEA,eAZiB;AAalCI,YAAU,EAAEA,UAbsB;AAclCG,aAAW,EAAEA,WAdqB;AAelCE,cAAY,EAAEA,YAfoB;AAgBlCC,mBAAiB,EAAEA,iBAhBe;AAiBlCE,oBAAkB,EAAEA,kBAjBc;AAkBlCG,gBAAc,EAAEA,cAlBkB;AAmBlCE,kBAAgB,EAAEA,gBAnBgB;AAoBlCE,wBAAsB,EAAEA,sBApBU;AAqBlCC,kBAAgB,EAAEA,gBArBgB;AAsBlCC,gBAAc,EAAEA,cAtBkB;AAuBlCC,YAAU,EAAEA,UAvBsB;AAwBlCC,gBAAc,EAAEA,cAxBkB;AAyBlCC,YAAU,EAAEA,UAzBsB;AA0BlCC,MAAI,EAAEA,IA1B4B;;AA2BlC,MAAIE,eAAJ,GAAuB;AAAE,WAAOA,eAAP;AAAyB,GA3BhB;;AA4BlC,MAAIC,0BAAJ,GAAkC;AAAE,WAAOA,0BAAP;AAAoC,GA5BtC;;AA6BlCa,2BAAyB,EAAEA;AA7BO,CAAd,CAAxB;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIK,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,cAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACH,CAFD,EAEGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CAFf;;IAGMC,M;AACF,oBAA4B;AAAA,QAAhBC,SAAgB,uEAAJ,EAAI;;AAAA;;AACxB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,qBAAYC,QAAZ,EAAsB;AAClB,aAAO,KAAKD,SAAL,CAAe1L,OAAf,CAAuB2L,QAAvB,MAAqC,CAAC,CAA7C;AACH;;;;;;AAEL,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,SAAD,CAAf,GAA6B,CAA9B,CAAf,GAAkD,SAAlD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,iBAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACH,CATD,EASGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CATlB;;IAUMC,W;;;;;AACF,uBAAYnK,IAAZ,EAAkBgK,SAAlB,EAA6B;AAAA;;AAAA;;AACzB,+BAAMA,SAAN;AACA,WAAKhK,IAAL,GAAYA,IAAZ;AAFyB;AAG5B;;;;WACD,mBAAUoK,OAAV,EAAmBC,OAAnB,EAA4B;AACxB,aAAOD,OAAO,CAACE,gBAAR,CAAyB,IAAzB,EAA+BD,OAA/B,CAAP;AACH;;;;EAPqBN,M;;IASpBQ,c;;;;;AACF,0BAAY9I,KAAZ,EAAmBuI,SAAnB,EAAiD;AAAA;;AAAA,QAAnBQ,UAAmB,uEAAN,IAAM;;AAAA;;AAC7C,gCAAMR,SAAN;AACA,WAAKvI,KAAL,GAAaA,KAAb;AACA,WAAK+I,UAAL,GAAkBA,UAAlB;AAH6C;AAIhD;;;;WACD,mBAAUJ,OAAV,EAAmBC,OAAnB,EAA4B;AACxB,aAAOD,OAAO,CAACK,mBAAR,CAA4B,IAA5B,EAAkCJ,OAAlC,CAAP;AACH;;;;EARwBN,M;;IAUvBW,S;;;;;AACF,qBAAYC,EAAZ,EAAgBX,SAAhB,EAA2B;AAAA;;AAAA;;AACvB,gCAAMA,SAAN;AACA,WAAKW,EAAL,GAAUA,EAAV;AAFuB;AAG1B;;;;WACD,mBAAUP,OAAV,EAAmBC,OAAnB,EAA4B;AACxB,aAAOD,OAAO,CAACQ,cAAR,CAAuB,IAAvB,EAA6BP,OAA7B,CAAP;AACH;;;;EAPmBN,M;;IASlBc,O;;;;;AACF,mBAAYC,SAAZ,EAAuBd,SAAvB,EAAkC;AAAA;;AAAA;;AAC9B,gCAAMA,SAAN;AACA,WAAKc,SAAL,GAAiBA,SAAS,IAAI,IAA9B;AAF8B;AAGjC;;;;WACD,mBAAUV,OAAV,EAAmBC,OAAnB,EAA4B;AACxB,aAAOD,OAAO,CAACW,YAAR,CAAqB,IAArB,EAA2BV,OAA3B,CAAP;AACH;;;;EAPiBN,M;;AAStB,IAAMiB,YAAY,GAAG,IAAIb,WAAJ,CAAgBD,eAAe,CAACe,OAAhC,CAArB;AACA,IAAMC,aAAa,GAAG,IAAIf,WAAJ,CAAgBD,eAAe,CAACiB,QAAhC,CAAtB;AACA,IAAMC,SAAS,GAAG,IAAIjB,WAAJ,CAAgBD,eAAe,CAACmB,IAAhC,CAAlB;AACA,IAAMC,QAAQ,GAAG,IAAInB,WAAJ,CAAgBD,eAAe,CAACqB,GAAhC,CAAjB;AACA,IAAMC,WAAW,GAAG,IAAIrB,WAAJ,CAAgBD,eAAe,CAACuB,MAAhC,CAApB;AACA,IAAMC,WAAW,GAAG,IAAIvB,WAAJ,CAAgBD,eAAe,CAACyB,MAAhC,CAApB;AACA,IAAMC,aAAa,GAAG,IAAIzB,WAAJ,CAAgBD,eAAe,CAACxB,QAAhC,CAAtB;AACA,IAAMmD,SAAS,GAAG,IAAI1B,WAAJ,CAAgBD,eAAe,CAAC4B,IAAhC,CAAlB,C,CACA;;AACA,IAAIC,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,eAAa,CAACA,aAAa,CAAC,OAAD,CAAb,GAAyB,CAA1B,CAAb,GAA4C,OAA5C;AACAA,eAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAHD,EAGGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAHhB;;AAIA,IAAIC,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,gBAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,gBAAc,CAACA,cAAc,CAAC,cAAD,CAAd,GAAiC,CAAlC,CAAd,GAAqD,cAArD;AACAA,gBAAc,CAACA,cAAc,CAAC,OAAD,CAAd,GAA0B,CAA3B,CAAd,GAA8C,OAA9C;AACAA,gBAAc,CAACA,cAAc,CAAC,MAAD,CAAd,GAAyB,CAA1B,CAAd,GAA6C,MAA7C;AACAA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,UAAD,CAAd,GAA6B,CAA9B,CAAd,GAAiD,UAAjD;AACAA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,KAAD,CAAd,GAAwB,CAAzB,CAAd,GAA4C,KAA5C;AACAA,gBAAc,CAACA,cAAc,CAAC,IAAD,CAAd,GAAuB,EAAxB,CAAd,GAA4C,IAA5C;AACAA,gBAAc,CAACA,cAAc,CAAC,YAAD,CAAd,GAA+B,EAAhC,CAAd,GAAoD,YAApD;AACAA,gBAAc,CAACA,cAAc,CAAC,OAAD,CAAd,GAA0B,EAA3B,CAAd,GAA+C,OAA/C;AACAA,gBAAc,CAACA,cAAc,CAAC,aAAD,CAAd,GAAgC,EAAjC,CAAd,GAAqD,aAArD;AACAA,gBAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,EAA5B,CAAd,GAAgD,QAAhD;AACAA,gBAAc,CAACA,cAAc,CAAC,cAAD,CAAd,GAAiC,EAAlC,CAAd,GAAsD,cAAtD;AACH,CAjBD,EAiBGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CAjBjB;;AAkBA,SAASC,oBAAT,CAA8BC,IAA9B,EAAoCC,KAApC,EAA2C;AACvC,MAAID,IAAI,IAAI,IAAR,IAAgBC,KAAK,IAAI,IAA7B,EAAmC;AAC/B,WAAOD,IAAI,IAAIC,KAAf;AACH;;AACD,SAAOD,IAAI,CAACE,YAAL,CAAkBD,KAAlB,CAAP;AACH;;AACD,SAASE,gBAAT,CAA0BH,IAA1B,EAAgCC,KAAhC,EAAuC;AACnC,MAAMG,GAAG,GAAGJ,IAAI,CAACpM,MAAjB;;AACA,MAAIwM,GAAG,KAAKH,KAAK,CAACrM,MAAlB,EAA0B;AACtB,WAAO,KAAP;AACH;;AACD,OAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmL,GAApB,EAAyBnL,CAAC,EAA1B,EAA8B;AAC1B,QAAI,CAAC+K,IAAI,CAAC/K,CAAD,CAAJ,CAAQiL,YAAR,CAAqBD,KAAK,CAAChL,CAAD,CAA1B,CAAL,EAAqC;AACjC,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;;IACKoL,U;AACF,sBAAYC,IAAZ,EAAkBC,UAAlB,EAA8B;AAAA;;AAC1B,SAAKD,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,SAAKC,UAAL,GAAkBA,UAAU,IAAI,IAAhC;AACH;;;;WACD,cAAKzM,IAAL,EAAWyM,UAAX,EAAuB;AACnB,aAAO,IAAIC,YAAJ,CAAiB,IAAjB,EAAuB1M,IAAvB,EAA6B,IAA7B,EAAmCyM,UAAnC,CAAP;AACH;;;WACD,aAAIE,KAAJ,EAAWH,IAAX,EAAiBC,UAAjB,EAA6B;AACzB,aAAO,IAAIG,WAAJ,CAAgB,IAAhB,EAAsBD,KAAtB,EAA6BH,IAA7B,EAAmCC,UAAnC,CAAP;AACH;;;WACD,oBAAWzM,IAAX,EAAiB6M,MAAjB,EAAyBJ,UAAzB,EAAqC;AACjC,aAAO,IAAIK,gBAAJ,CAAqB,IAArB,EAA2B9M,IAA3B,EAAiC6M,MAAjC,EAAyC,IAAzC,EAA+CJ,UAA/C,CAAP;AACH;;;WACD,gBAAOI,MAAP,EAAeJ,UAAf,EAA2BnF,IAA3B,EAAiC;AAC7B,aAAO,IAAIyF,kBAAJ,CAAuB,IAAvB,EAA6BF,MAA7B,EAAqC,IAArC,EAA2CJ,UAA3C,EAAuDnF,IAAvD,CAAP;AACH;;;WACD,qBAAYuF,MAAZ,EAAoBL,IAApB,EAA0BC,UAA1B,EAAsC;AAClC,aAAO,IAAIO,eAAJ,CAAoB,IAApB,EAA0BH,MAA1B,EAAkCL,IAAlC,EAAwCC,UAAxC,CAAP;AACH;;;WACD,qBAAYQ,QAAZ,EAAoD;AAAA,UAA9BC,SAA8B,uEAAlB,IAAkB;AAAA,UAAZT,UAAY;AAChD,aAAO,IAAIU,eAAJ,CAAoB,IAApB,EAA0BF,QAA1B,EAAoCC,SAApC,EAA+C,IAA/C,EAAqDT,UAArD,CAAP;AACH;;;WACD,gBAAOW,GAAP,EAAYX,UAAZ,EAAwB;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACsB,MAAtC,EAA8C,IAA9C,EAAoDF,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;WACD,mBAAUW,GAAV,EAAeX,UAAf,EAA2B;AACvB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACuB,SAAtC,EAAiD,IAAjD,EAAuDH,GAAvD,EAA4D,IAA5D,EAAkEX,UAAlE,CAAP;AACH;;;WACD,mBAAUW,GAAV,EAAeX,UAAf,EAA2B;AACvB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACwB,SAAtC,EAAiD,IAAjD,EAAuDJ,GAAvD,EAA4D,IAA5D,EAAkEX,UAAlE,CAAP;AACH;;;WACD,sBAAaW,GAAb,EAAkBX,UAAlB,EAA8B;AAC1B,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACyB,YAAtC,EAAoD,IAApD,EAA0DL,GAA1D,EAA+D,IAA/D,EAAqEX,UAArE,CAAP;AACH;;;WACD,eAAMW,GAAN,EAAWX,UAAX,EAAuB;AACnB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC0B,KAAtC,EAA6C,IAA7C,EAAmDN,GAAnD,EAAwD,IAAxD,EAA8DX,UAA9D,CAAP;AACH;;;WACD,cAAKW,GAAL,EAAUX,UAAV,EAAsB;AAClB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC2B,IAAtC,EAA4C,IAA5C,EAAkDP,GAAlD,EAAuD,IAAvD,EAA6DX,UAA7D,CAAP;AACH;;;WACD,gBAAOW,GAAP,EAAYX,UAAZ,EAAwB;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC4B,MAAtC,EAA8C,IAA9C,EAAoDR,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;WACD,kBAASW,GAAT,EAAcX,UAAd,EAA0B;AACtB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC6B,QAAtC,EAAgD,IAAhD,EAAsDT,GAAtD,EAA2D,IAA3D,EAAiEX,UAAjE,CAAP;AACH;;;WACD,gBAAOW,GAAP,EAAYX,UAAZ,EAAwB;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC8B,MAAtC,EAA8C,IAA9C,EAAoDV,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;WACD,aAAIW,GAAJ,EAASX,UAAT,EAAqB;AACjB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAAC+B,GAAtC,EAA2C,IAA3C,EAAiDX,GAAjD,EAAsD,IAAtD,EAA4DX,UAA5D,CAAP;AACH;;;WACD,oBAAWW,GAAX,EAAgBX,UAAhB,EAA2C;AAAA,UAAfuB,MAAe,uEAAN,IAAM;AACvC,aAAO,IAAIX,kBAAJ,CAAuBrB,cAAc,CAACiC,UAAtC,EAAkD,IAAlD,EAAwDb,GAAxD,EAA6D,IAA7D,EAAmEX,UAAnE,EAA+EuB,MAA/E,CAAP;AACH;;;WACD,YAAGZ,GAAH,EAAQX,UAAR,EAAoB;AAChB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACkC,EAAtC,EAA0C,IAA1C,EAAgDd,GAAhD,EAAqD,IAArD,EAA2DX,UAA3D,CAAP;AACH;;;WACD,eAAMW,GAAN,EAAWX,UAAX,EAAuB;AACnB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACmC,KAAtC,EAA6C,IAA7C,EAAmDf,GAAnD,EAAwD,IAAxD,EAA8DX,UAA9D,CAAP;AACH;;;WACD,qBAAYW,GAAZ,EAAiBX,UAAjB,EAA6B;AACzB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACoC,WAAtC,EAAmD,IAAnD,EAAyDhB,GAAzD,EAA8D,IAA9D,EAAoEX,UAApE,CAAP;AACH;;;WACD,gBAAOW,GAAP,EAAYX,UAAZ,EAAwB;AACpB,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACqC,MAAtC,EAA8C,IAA9C,EAAoDjB,GAApD,EAAyD,IAAzD,EAA+DX,UAA/D,CAAP;AACH;;;WACD,sBAAaW,GAAb,EAAkBX,UAAlB,EAA8B;AAC1B,aAAO,IAAIY,kBAAJ,CAAuBrB,cAAc,CAACsC,YAAtC,EAAoD,IAApD,EAA0DlB,GAA1D,EAA+D,IAA/D,EAAqEX,UAArE,CAAP;AACH;;;WACD,iBAAQA,UAAR,EAAoB;AAChB;AACA;AACA,aAAO,KAAK8B,MAAL,CAAYC,eAAZ,EAA6B/B,UAA7B,CAAP;AACH;;;WACD,cAAKD,IAAL,EAAWC,UAAX,EAAuB;AACnB,aAAO,IAAIgC,QAAJ,CAAa,IAAb,EAAmBjC,IAAnB,EAAyBC,UAAzB,CAAP;AACH;;;WACD,kBAAS;AACL,aAAO,IAAIiC,mBAAJ,CAAwB,IAAxB,EAA8B,IAA9B,CAAP;AACH;;;;;;AAEL,IAAIC,UAAJ;;AACA,CAAC,UAAUA,UAAV,EAAsB;AACnBA,YAAU,CAACA,UAAU,CAAC,MAAD,CAAV,GAAqB,CAAtB,CAAV,GAAqC,MAArC;AACAA,YAAU,CAACA,UAAU,CAAC,OAAD,CAAV,GAAsB,CAAvB,CAAV,GAAsC,OAAtC;AACAA,YAAU,CAACA,UAAU,CAAC,YAAD,CAAV,GAA2B,CAA5B,CAAV,GAA2C,YAA3C;AACAA,YAAU,CAACA,UAAU,CAAC,YAAD,CAAV,GAA2B,CAA5B,CAAV,GAA2C,YAA3C;AACH,CALD,EAKGA,UAAU,KAAKA,UAAU,GAAG,EAAlB,CALb;;IAMMC,W;;;;;AACF,uBAAY5O,IAAZ,EAAkBwM,IAAlB,EAAwBC,UAAxB,EAAoC;AAAA;;AAAA;;AAChC,gCAAMD,IAAN,EAAYC,UAAZ;;AACA,QAAI,OAAOzM,IAAP,KAAgB,QAApB,EAA8B;AAC1B,aAAKA,IAAL,GAAYA,IAAZ;AACA,aAAK6O,OAAL,GAAe,IAAf;AACH,KAHD,MAIK;AACD,aAAK7O,IAAL,GAAY,IAAZ;AACA,aAAK6O,OAAL,GAAe7O,IAAf;AACH;;AAT+B;AAUnC;;;;WACD,sBAAa8O,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYF,WAAb,IAA4B,KAAK5O,IAAL,KAAc8O,CAAC,CAAC9O,IAA5C,IAAoD,KAAK6O,OAAL,KAAiBC,CAAC,CAACD,OAA9E;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBzE,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC2E,gBAAR,CAAyB,IAAzB,EAA+B1E,OAA/B,CAAP;AACH;;;WACD,aAAI5I,KAAJ,EAAW;AACP,UAAI,CAAC,KAAKzB,IAAV,EAAgB;AACZ,cAAM,IAAIzB,KAAJ,6BAA+B,KAAKsQ,OAApC,8BAAN;AACH;;AACD,aAAO,IAAIG,YAAJ,CAAiB,KAAKhP,IAAtB,EAA4ByB,KAA5B,EAAmC,IAAnC,EAAyC,KAAKgL,UAA9C,CAAP;AACH;;;;EA1BqBF,U;;IA4BpB0C,U;;;;;AACF,sBAAYC,IAAZ,EAAkB1C,IAAlB,EAAwBC,UAAxB,EAAoC;AAAA;;AAAA;;AAChC,gCAAMD,IAAN,EAAYC,UAAZ;AACA,WAAKyC,IAAL,GAAYA,IAAZ;AAFgC;AAGnC;;;;WACD,yBAAgB9E,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC+E,eAAR,CAAwB,IAAxB,EAA8B9E,OAA9B,CAAP;AACH;;;WACD,sBAAayE,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYG,UAAb,IAA2BH,CAAC,CAACI,IAAF,CAAO9C,YAAP,CAAoB,KAAK8C,IAAzB,CAAlC;AACH;;;WACD,sBAAa;AACT,aAAO,KAAKA,IAAL,CAAUE,UAAV,EAAP;AACH;;;;EAboB7C,U;;IAenB8C,e;;;;;AACF,2BAAYC,IAAZ,EAAkB9C,IAAlB,EAAwBC,UAAxB,EAAoC;AAAA;;AAAA;;AAChC,gCAAMD,IAAN,EAAYC,UAAZ;AACA,WAAK6C,IAAL,GAAYA,IAAZ;AAFgC;AAGnC;;;;WACD,sBAAaR,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYO,eAAb,IAAgC,KAAKC,IAAL,KAAcR,CAAC,CAACQ,IAAvD;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBlF,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACmF,oBAAR,CAA6B,IAA7B,EAAmClF,OAAnC,CAAP;AACH;;;;EAbyBkC,U;;IAexByC,Y;;;;;AACF,wBAAYhP,IAAZ,EAAkByB,KAAlB,EAAyB+K,IAAzB,EAA+BC,UAA/B,EAA2C;AAAA;;AAAA;;AACvC,gCAAMD,IAAI,IAAI/K,KAAK,CAAC+K,IAApB,EAA0BC,UAA1B;AACA,WAAKzM,IAAL,GAAYA,IAAZ;AACA,WAAKyB,KAAL,GAAaA,KAAb;AAHuC;AAI1C;;;;WACD,sBAAaqN,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYE,YAAb,IAA6B,KAAKhP,IAAL,KAAc8O,CAAC,CAAC9O,IAA7C,IAAqD,KAAKyB,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAA5D;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB2I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACoF,iBAAR,CAA0B,IAA1B,EAAgCnF,OAAhC,CAAP;AACH;;;WACD,oBAAWmC,IAAX,EAAiBxC,SAAjB,EAA4B;AACxB,aAAO,IAAIyF,cAAJ,CAAmB,KAAKzP,IAAxB,EAA8B,KAAKyB,KAAnC,EAA0C+K,IAA1C,EAAgDxC,SAAhD,EAA2D,KAAKyC,UAAhE,CAAP;AACH;;;WACD,uBAAc;AACV,aAAO,KAAKiD,UAAL,CAAgBxE,aAAhB,EAA+B,CAACyE,YAAY,CAACC,KAAd,CAA/B,CAAP;AACH;;;;EApBsBrD,U;;IAsBrBsD,Y;;;;;AACF,wBAAYC,QAAZ,EAAsBnD,KAAtB,EAA6BlL,KAA7B,EAAoC+K,IAApC,EAA0CC,UAA1C,EAAsD;AAAA;;AAAA;;AAClD,iCAAMD,IAAI,IAAI/K,KAAK,CAAC+K,IAApB,EAA0BC,UAA1B;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAKnD,KAAL,GAAaA,KAAb;AACA,YAAKlL,KAAL,GAAaA,KAAb;AAJkD;AAKrD;;;;WACD,sBAAaqN,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYe,YAAb,IAA6B,KAAKC,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA7B,IACH,KAAKnD,KAAL,CAAWP,YAAX,CAAwB0C,CAAC,CAACnC,KAA1B,CADG,IACiC,KAAKlL,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CADxC;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB2I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC2F,iBAAR,CAA0B,IAA1B,EAAgC1F,OAAhC,CAAP;AACH;;;;EAhBsBkC,U;;IAkBrByD,a;;;;;AACF,yBAAYF,QAAZ,EAAsB9P,IAAtB,EAA4ByB,KAA5B,EAAmC+K,IAAnC,EAAyCC,UAAzC,EAAqD;AAAA;;AAAA;;AACjD,kCAAMD,IAAI,IAAI/K,KAAK,CAAC+K,IAApB,EAA0BC,UAA1B;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AACA,YAAKyB,KAAL,GAAaA,KAAb;AAJiD;AAKpD;;;;WACD,sBAAaqN,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYkB,aAAb,IAA8B,KAAKF,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA9B,IACH,KAAK9P,IAAL,KAAc8O,CAAC,CAAC9O,IADb,IACqB,KAAKyB,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAD5B;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB2I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC6F,kBAAR,CAA2B,IAA3B,EAAiC5F,OAAjC,CAAP;AACH;;;;EAhBuBkC,U;;AAkB5B,IAAI2D,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,eAAa,CAACA,aAAa,CAAC,aAAD,CAAb,GAA+B,CAAhC,CAAb,GAAkD,aAAlD;AACAA,eAAa,CAACA,aAAa,CAAC,qBAAD,CAAb,GAAuC,CAAxC,CAAb,GAA0D,qBAA1D;AACAA,eAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAJD,EAIGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAJhB;;IAKMpD,gB;;;;;AACF,4BAAYgD,QAAZ,EAAsBK,MAAtB,EAA8BrI,IAA9B,EAAoC0E,IAApC,EAA0CC,UAA1C,EAAsD;AAAA;;AAAA;;AAClD,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAKhI,IAAL,GAAYA,IAAZ;;AACA,QAAI,OAAOqI,MAAP,KAAkB,QAAtB,EAAgC;AAC5B,cAAKnQ,IAAL,GAAYmQ,MAAZ;AACA,cAAKtB,OAAL,GAAe,IAAf;AACH,KAHD,MAIK;AACD,cAAK7O,IAAL,GAAY,IAAZ;AACA,cAAK6O,OAAL,GAAesB,MAAf;AACH;;AAXiD;AAYrD;;;;WACD,sBAAarB,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYhC,gBAAb,IAAiC,KAAKgD,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAAjC,IACH,KAAK9P,IAAL,KAAc8O,CAAC,CAAC9O,IADb,IACqB,KAAK6O,OAAL,KAAiBC,CAAC,CAACD,OADxC,IACmDxC,gBAAgB,CAAC,KAAKvE,IAAN,EAAYgH,CAAC,CAAChH,IAAd,CAD1E;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBsC,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACgG,qBAAR,CAA8B,IAA9B,EAAoC/F,OAApC,CAAP;AACH;;;;EAvB0BkC,U;;IAyBzBQ,kB;;;;;AACF,8BAAYsD,EAAZ,EAAgBvI,IAAhB,EAAsB0E,IAAtB,EAA4BC,UAA5B,EAAsD;AAAA;;AAAA,QAAdnF,IAAc,uEAAP,KAAO;;AAAA;;AAClD,kCAAMkF,IAAN,EAAYC,UAAZ;AACA,YAAK4D,EAAL,GAAUA,EAAV;AACA,YAAKvI,IAAL,GAAYA,IAAZ;AACA,YAAKR,IAAL,GAAYA,IAAZ;AAJkD;AAKrD;;;;WACD,sBAAawH,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY/B,kBAAb,IAAmC,KAAKsD,EAAL,CAAQjE,YAAR,CAAqB0C,CAAC,CAACuB,EAAvB,CAAnC,IACHhE,gBAAgB,CAAC,KAAKvE,IAAN,EAAYgH,CAAC,CAAChH,IAAd,CADb,IACoC,KAAKR,IAAL,KAAcwH,CAAC,CAACxH,IAD3D;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB8C,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACkG,uBAAR,CAAgC,IAAhC,EAAsCjG,OAAtC,CAAP;AACH;;;;EAhB4BkC,U;;IAkB3BS,e;;;;;AACF,2BAAYuD,SAAZ,EAAuBzI,IAAvB,EAA6B0E,IAA7B,EAAmCC,UAAnC,EAA+C;AAAA;;AAAA;;AAC3C,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAK8D,SAAL,GAAiBA,SAAjB;AACA,YAAKzI,IAAL,GAAYA,IAAZ;AAH2C;AAI9C;;;;WACD,sBAAagH,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY9B,eAAb,IAAgC,KAAKuD,SAAL,CAAenE,YAAf,CAA4B0C,CAAC,CAACyB,SAA9B,CAAhC,IACHlE,gBAAgB,CAAC,KAAKvE,IAAN,EAAYgH,CAAC,CAAChH,IAAd,CADpB;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBsC,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACoG,oBAAR,CAA6B,IAA7B,EAAmCnG,OAAnC,CAAP;AACH;;;;EAfyBkC,U;;IAiBxBkE,W;;;;;AACF,uBAAYhP,KAAZ,EAAmB+K,IAAnB,EAAyBC,UAAzB,EAAqC;AAAA;;AAAA;;AACjC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AAFiC;AAGpC;;;;WACD,sBAAaqN,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY2B,WAAb,IAA4B,KAAKhP,KAAL,KAAeqN,CAAC,CAACrN,KAApD;AACH;;;WACD,sBAAa;AACT,aAAO,IAAP;AACH;;;WACD,yBAAgB2I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACsG,gBAAR,CAAyB,IAAzB,EAA+BrG,OAA/B,CAAP;AACH;;;;EAbqBkC,U;;IAepBoE,Y,GACF,sBAAYC,IAAZ,EAAkBnE,UAAlB,EAA8B;AAAA;;AAC1B,OAAKmE,IAAL,GAAYA,IAAZ;AACA,OAAKnE,UAAL,GAAkBA,UAAlB;AACH,C;;IAECoE,Y;;;;;;;;;;;;EAAqBF,Y;;IAErBG,gB;;;;;;;;;;;;EAAyBH,Y;;IAEzBI,e;;;;;AACF,2BAAYC,SAAZ,EAAuBC,YAAvB,EAAqCC,gBAArC,EAAuDC,WAAvD,EAAoE1E,UAApE,EAAgF;AAAA;;AAAA;;AAC5E,kCAAMf,WAAN,EAAmBe,UAAnB;AACA,YAAKuE,SAAL,GAAiBA,SAAjB;AACA,YAAKC,YAAL,GAAoBA,YAApB;AACA,YAAKC,gBAAL,GAAwBA,gBAAxB;AACA,YAAKC,WAAL,GAAmBA,WAAnB;AAL4E;AAM/E;;;;WACD,sBAAarC,CAAb,EAAgB;AACZ;AACA,aAAO,KAAP;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB1E,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACgH,oBAAR,CAA6B,IAA7B,EAAmC/G,OAAnC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,6BAAoB;AAChB,UAAMgH,iBAAiB,GAAG,GAA1B;AACA,UAAMC,YAAY,GAAG,IAArB;AACA,UAAMC,mBAAmB,GAAG,GAA5B;AACA,UAAIP,SAAS,GAAG,KAAKA,SAAL,CAAeQ,WAAf,IAA8B,EAA9C;;AACA,UAAI,KAAKR,SAAL,CAAeS,OAAnB,EAA4B;AACxBT,iBAAS,aAAM,KAAKA,SAAL,CAAeS,OAArB,SAA+BJ,iBAA/B,SAAmDL,SAAnD,CAAT;AACH;;AACD,UAAI,KAAKA,SAAL,CAAeU,QAAnB,EAA6B;AACzBV,iBAAS,aAAMA,SAAN,SAAkBM,YAAlB,SAAiC,KAAKN,SAAL,CAAeU,QAAhD,CAAT;AACH;;AACD,UAAI,KAAKV,SAAL,CAAeW,SAAnB,EAA8B;AAC1B,aAAKX,SAAL,CAAeW,SAAf,CAAyB5R,OAAzB,CAAiC,UAAA6R,QAAQ,EAAI;AACzCZ,mBAAS,aAAMA,SAAN,SAAkBO,mBAAlB,SAAwCK,QAAxC,CAAT;AACH,SAFD;AAGH;;AACD,aAAOC,qBAAqB,CAACb,SAAD,EAAY,KAAKC,YAAL,CAAkB,CAAlB,EAAqBL,IAAjC,EAAuC,KAAKkB,wBAAL,CAA8B,CAA9B,CAAvC,CAA5B;AACH;;;WACD,kCAAyB3Q,CAAzB,EAA4B;AACxB,UAAId,EAAJ,EAAQC,EAAR;;AACA,aAAO,CAACA,EAAE,GAAG,CAACD,EAAE,GAAG,KAAK4Q,YAAL,CAAkB9P,CAAlB,CAAN,MAAgC,IAAhC,IAAwCd,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAACoM,UAA1E,MAA0F,IAA1F,IAAkGnM,EAAE,KAAK,KAAK,CAA9G,GAAkHA,EAAlH,GAAuH,KAAKmM,UAAnI;AACH;;;WACD,kCAAyBtL,CAAzB,EAA4B;AACxB,UAAId,EAAJ,EAAQC,EAAR,EAAYyR,EAAZ,EAAgBC,EAAhB;;AACA,aAAO,CAACA,EAAE,GAAG,CAAC1R,EAAE,GAAG,CAACD,EAAE,GAAG,KAAK6Q,gBAAL,CAAsB/P,CAAtB,CAAN,MAAoC,IAApC,IAA4Cd,EAAE,KAAK,KAAK,CAAxD,GAA4D,KAAK,CAAjE,GAAqEA,EAAE,CAACoM,UAA9E,MAA8F,IAA9F,IAAsGnM,EAAE,KAAK,KAAK,CAAlH,GAAsHA,EAAtH,GAA2H,CAACyR,EAAE,GAAG,KAAKZ,WAAL,CAAiBhQ,CAAjB,CAAN,MAA+B,IAA/B,IAAuC4Q,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACtF,UAApM,MAAoN,IAApN,IAA4NuF,EAAE,KAAK,KAAK,CAAxO,GAA4OA,EAA5O,GAAiP,KAAKvF,UAA7P;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,mCAA0BwF,SAA1B,EAAqC;AACjC,UAAMC,eAAe,GAAG,KAAKhB,gBAAL,CAAsBe,SAAS,GAAG,CAAlC,EAAqCrB,IAA7D;AACA,UAAMuB,WAAW,GAAG,KAAKlB,YAAL,CAAkBgB,SAAlB,CAApB;AACA,aAAOJ,qBAAqB,CAACK,eAAD,EAAkBC,WAAW,CAACvB,IAA9B,EAAoC,KAAKkB,wBAAL,CAA8BG,SAA9B,CAApC,CAA5B;AACH;;;;EA/DyB1F,U;;AAiE9B,IAAM6F,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,KAAZ,EAAmB,MAAnB,CAAT;AAAA,CAAtB;;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACF,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,CAAT;AAAA,CAA5B;;AACA,IAAME,YAAY,GAAG,SAAfA,YAAe,CAACH,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,CAAT;AAAA,CAArB;;AACA,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACJ,GAAD;AAAA,SAASA,GAAG,CAACC,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,EAAyBA,OAAzB,CAAiC,MAAjC,EAAyC,MAAzC,CAAT;AAAA,CAA7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAST,qBAAT,CAA+Bb,SAA/B,EAA0CmB,WAA1C,EAAuDO,KAAvD,EAA8D;AAC1D,MAAI1B,SAAS,KAAK,EAAlB,EAAsB;AAClB,WAAO;AACH2B,YAAM,EAAER,WADL;AAEHS,SAAG,EAAEH,oBAAoB,CAACF,mBAAmB,CAACH,aAAa,CAACD,WAAD,CAAd,CAApB,CAFtB;AAGHO,WAAK,EAALA;AAHG,KAAP;AAKH,GAND,MAOK;AACD,WAAO;AACHC,YAAM,aAAM3B,SAAN,cAAmBmB,WAAnB,CADH;AAEHS,SAAG,EAAEH,oBAAoB,YAAKD,YAAY,CAACJ,aAAa,CAACpB,SAAD,CAAd,CAAjB,cAA+CoB,aAAa,CAACD,WAAD,CAA5D,EAFtB;AAGHO,WAAK,EAALA;AAHG,KAAP;AAKH;AACJ;;IACKG,Y;;;;;AACF,wBAAYpR,KAAZ,EAAmB+K,IAAnB,EAAwD;AAAA;;AAAA,QAA/BhC,UAA+B,uEAAlB,IAAkB;AAAA,QAAZiC,UAAY;;AAAA;;AACpD,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AACA,YAAK+I,UAAL,GAAkBA,UAAlB;AAHoD;AAIvD;;;;WACD,sBAAasE,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY+D,YAAb,IAA6B,KAAKpR,KAAL,CAAWzB,IAAX,KAAoB8O,CAAC,CAACrN,KAAF,CAAQzB,IAAzD,IACH,KAAKyB,KAAL,CAAWqR,UAAX,KAA0BhE,CAAC,CAACrN,KAAF,CAAQqR,UAD/B,IAC6C,KAAKrR,KAAL,CAAWsR,OAAX,KAAuBjE,CAAC,CAACrN,KAAF,CAAQsR,OADnF;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB3I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC4I,iBAAR,CAA0B,IAA1B,EAAgC3I,OAAhC,CAAP;AACH;;;;EAfsBkC,U;;IAiBrB0G,iB,GACF,2BAAYH,UAAZ,EAAwB9S,IAAxB,EAA8B+S,OAA9B,EAAuC;AAAA;;AACnC,OAAKD,UAAL,GAAkBA,UAAlB;AACA,OAAK9S,IAAL,GAAYA,IAAZ;AACA,OAAK+S,OAAL,GAAeA,OAAf;AACH,C;;IAEC5F,e;;;;;AACF,2BAAY+F,SAAZ,EAAuBjG,QAAvB,EAAqE;AAAA;;AAAA,QAApCC,SAAoC,uEAAxB,IAAwB;AAAA,QAAlBV,IAAkB;AAAA,QAAZC,UAAY;;AAAA;;AACjE,kCAAMD,IAAI,IAAIS,QAAQ,CAACT,IAAvB,EAA6BC,UAA7B;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AACA,YAAKhG,SAAL,GAAiBA,SAAjB;AACA,YAAKD,QAAL,GAAgBA,QAAhB;AAJiE;AAKpE;;;;WACD,sBAAa6B,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY3B,eAAb,IAAgC,KAAK+F,SAAL,CAAe9G,YAAf,CAA4B0C,CAAC,CAACoE,SAA9B,CAAhC,IACH,KAAKjG,QAAL,CAAcb,YAAd,CAA2B0C,CAAC,CAAC7B,QAA7B,CADG,IACuChB,oBAAoB,CAAC,KAAKiB,SAAN,EAAiB4B,CAAC,CAAC5B,SAAnB,CADlE;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB9C,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC+I,oBAAR,CAA6B,IAA7B,EAAmC9I,OAAnC,CAAP;AACH;;;;EAhByBkC,U;;IAkBxB6G,O;;;;;AACF,mBAAYF,SAAZ,EAAuBzG,UAAvB,EAAmC;AAAA;;AAAA;;AAC/B,kCAAMrB,SAAN,EAAiBqB,UAAjB;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AAF+B;AAGlC;;;;WACD,sBAAapE,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYsE,OAAb,IAAwB,KAAKF,SAAL,CAAe9G,YAAf,CAA4B0C,CAAC,CAACoE,SAA9B,CAA/B;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB9I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACiJ,YAAR,CAAqB,IAArB,EAA2BhJ,OAA3B,CAAP;AACH;;;;EAbiBkC,U;;IAehB+G,a;;;;;AACF,yBAAYJ,SAAZ,EAAuBzG,UAAvB,EAAmC;AAAA;;AAAA;;AAC/B,kCAAMyG,SAAS,CAAC1G,IAAhB,EAAsBC,UAAtB;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AAF+B;AAGlC;;;;WACD,sBAAapE,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYwE,aAAb,IAA8B,KAAKJ,SAAL,CAAe9G,YAAf,CAA4B0C,CAAC,CAACoE,SAA9B,CAArC;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB9I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACmJ,sBAAR,CAA+B,IAA/B,EAAqClJ,OAArC,CAAP;AACH;;;;EAbuBkC,U;;IAetBkC,Q;;;;;AACF,oBAAYhN,KAAZ,EAAmB+K,IAAnB,EAAyBC,UAAzB,EAAqC;AAAA;;AAAA;;AACjC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AAFiC;AAGpC;;;;WACD,sBAAaqN,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYL,QAAb,IAAyB,KAAKhN,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAAhC;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB2I,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACoJ,aAAR,CAAsB,IAAtB,EAA4BnJ,OAA5B,CAAP;AACH;;;;EAbkBkC,U;;IAejBkH,O;AACF,mBAAYzT,IAAZ,EAA+B;AAAA,QAAbwM,IAAa,uEAAN,IAAM;;AAAA;;AAC3B,SAAKxM,IAAL,GAAYA,IAAZ;AACA,SAAKwM,IAAL,GAAYA,IAAZ;AACH;;;;WACD,sBAAakH,KAAb,EAAoB;AAChB,aAAO,KAAK1T,IAAL,KAAc0T,KAAK,CAAC1T,IAA3B;AACH;;;;;;IAEC2T,Y;;;;;AACF,wBAAY9G,MAAZ,EAAoB+G,UAApB,EAAgCpH,IAAhC,EAAsCC,UAAtC,EAAkDzM,IAAlD,EAAwD;AAAA;;AAAA;;AACpD,kCAAMwM,IAAN,EAAYC,UAAZ;AACA,YAAKI,MAAL,GAAcA,MAAd;AACA,YAAK+G,UAAL,GAAkBA,UAAlB;AACA,YAAK5T,IAAL,GAAYA,IAAZ;AAJoD;AAKvD;;;;WACD,sBAAa8O,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY6E,YAAb,IAA6BtH,gBAAgB,CAAC,KAAKQ,MAAN,EAAciC,CAAC,CAACjC,MAAhB,CAA7C,IACHR,gBAAgB,CAAC,KAAKuH,UAAN,EAAkB9E,CAAC,CAAC8E,UAApB,CADpB;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBxJ,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACyJ,iBAAR,CAA0B,IAA1B,EAAgCxJ,OAAhC,CAAP;AACH;;;WACD,oBAAWrK,IAAX,EAAiBgK,SAAjB,EAA4B;AACxB,aAAO,IAAI8J,mBAAJ,CAAwB9T,IAAxB,EAA8B,KAAK6M,MAAnC,EAA2C,KAAK+G,UAAhD,EAA4D,KAAKpH,IAAjE,EAAuExC,SAAvE,EAAkF,KAAKyC,UAAvF,CAAP;AACH;;;;EAnBsBF,U;;IAqBrBwH,iB;;;;;AACF,6BAAYC,QAAZ,EAAsB9E,IAAtB,EAA4B1C,IAA5B,EAAkCC,UAAlC,EAA6D;AAAA;;AAAA,QAAfuB,MAAe,uEAAN,IAAM;;AAAA;;AACzD,kCAAMxB,IAAI,IAAIhB,WAAd,EAA2BiB,UAA3B;AACA,YAAKuH,QAAL,GAAgBA,QAAhB;AACA,YAAK9E,IAAL,GAAYA,IAAZ;AACA,YAAKlB,MAAL,GAAcA,MAAd;AAJyD;AAK5D;;;;WACD,sBAAac,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYiF,iBAAb,IAAkC,KAAKC,QAAL,KAAkBlF,CAAC,CAACkF,QAAtD,IACH,KAAK9E,IAAL,CAAU9C,YAAV,CAAuB0C,CAAC,CAACI,IAAzB,CADJ;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB9E,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC6J,sBAAR,CAA+B,IAA/B,EAAqC5J,OAArC,CAAP;AACH;;;;EAhB2BkC,U;;IAkB1Bc,kB;;;;;AACF,8BAAY2G,QAAZ,EAAsBE,GAAtB,EAA2B9G,GAA3B,EAAgCZ,IAAhC,EAAsCC,UAAtC,EAAiE;AAAA;;AAAA,QAAfuB,MAAe,uEAAN,IAAM;;AAAA;;AAC7D,kCAAMxB,IAAI,IAAI0H,GAAG,CAAC1H,IAAlB,EAAwBC,UAAxB;AACA,YAAKuH,QAAL,GAAgBA,QAAhB;AACA,YAAK5G,GAAL,GAAWA,GAAX;AACA,YAAKY,MAAL,GAAcA,MAAd;AACA,YAAKkG,GAAL,GAAWA,GAAX;AAL6D;AAMhE;;;;WACD,sBAAapF,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYzB,kBAAb,IAAmC,KAAK2G,QAAL,KAAkBlF,CAAC,CAACkF,QAAvD,IACH,KAAKE,GAAL,CAAS9H,YAAT,CAAsB0C,CAAC,CAACoF,GAAxB,CADG,IAC6B,KAAK9G,GAAL,CAAShB,YAAT,CAAsB0C,CAAC,CAAC1B,GAAxB,CADpC;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBhD,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC+J,uBAAR,CAAgC,IAAhC,EAAsC9J,OAAtC,CAAP;AACH;;;;EAjB4BkC,U;;IAmB3BG,Y;;;;;AACF,wBAAYoD,QAAZ,EAAsB9P,IAAtB,EAA4BwM,IAA5B,EAAkCC,UAAlC,EAA8C;AAAA;;AAAA;;AAC1C,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AAH0C;AAI7C;;;;WACD,sBAAa8O,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYpC,YAAb,IAA6B,KAAKoD,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA7B,IACH,KAAK9P,IAAL,KAAc8O,CAAC,CAAC9O,IADpB;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBoK,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACgK,iBAAR,CAA0B,IAA1B,EAAgC/J,OAAhC,CAAP;AACH;;;WACD,aAAI5I,KAAJ,EAAW;AACP,aAAO,IAAIuO,aAAJ,CAAkB,KAAKF,QAAvB,EAAiC,KAAK9P,IAAtC,EAA4CyB,KAA5C,EAAmD,IAAnD,EAAyD,KAAKgL,UAA9D,CAAP;AACH;;;;EAlBsBF,U;;IAoBrBK,W;;;;;AACF,uBAAYkD,QAAZ,EAAsBnD,KAAtB,EAA6BH,IAA7B,EAAmCC,UAAnC,EAA+C;AAAA;;AAAA;;AAC3C,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAKqD,QAAL,GAAgBA,QAAhB;AACA,YAAKnD,KAAL,GAAaA,KAAb;AAH2C;AAI9C;;;;WACD,sBAAamC,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYlC,WAAb,IAA4B,KAAKkD,QAAL,CAAc1D,YAAd,CAA2B0C,CAAC,CAACgB,QAA7B,CAA5B,IACH,KAAKnD,KAAL,CAAWP,YAAX,CAAwB0C,CAAC,CAACnC,KAA1B,CADJ;AAEH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgBvC,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACiK,gBAAR,CAAyB,IAAzB,EAA+BhK,OAA/B,CAAP;AACH;;;WACD,aAAI5I,KAAJ,EAAW;AACP,aAAO,IAAIoO,YAAJ,CAAiB,KAAKC,QAAtB,EAAgC,KAAKnD,KAArC,EAA4ClL,KAA5C,EAAmD,IAAnD,EAAyD,KAAKgL,UAA9D,CAAP;AACH;;;;EAlBqBF,U;;IAoBpB+H,gB;;;;;AACF,4BAAYC,OAAZ,EAAqB/H,IAArB,EAA2BC,UAA3B,EAAuC;AAAA;;AAAA;;AACnC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAK8H,OAAL,GAAeA,OAAf;AAFmC;AAGtC;;;;WACD,sBAAa;AACT,aAAO,KAAKA,OAAL,CAAaC,KAAb,CAAmB,UAAA1F,CAAC;AAAA,eAAIA,CAAC,CAACM,UAAF,EAAJ;AAAA,OAApB,CAAP;AACH;;;WACD,sBAAaN,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYwF,gBAAb,IAAiCjI,gBAAgB,CAAC,KAAKkI,OAAN,EAAezF,CAAC,CAACyF,OAAjB,CAAxD;AACH;;;WACD,yBAAgBnK,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAACqK,qBAAR,CAA8B,IAA9B,EAAoCpK,OAApC,CAAP;AACH;;;;EAb0BkC,U;;IAezBmI,e;AACF,2BAAYC,GAAZ,EAAiBlT,KAAjB,EAAwBmT,MAAxB,EAAgC;AAAA;;AAC5B,SAAKD,GAAL,GAAWA,GAAX;AACA,SAAKlT,KAAL,GAAaA,KAAb;AACA,SAAKmT,MAAL,GAAcA,MAAd;AACH;;;;WACD,sBAAa9F,CAAb,EAAgB;AACZ,aAAO,KAAK6F,GAAL,KAAa7F,CAAC,CAAC6F,GAAf,IAAsB,KAAKlT,KAAL,CAAW2K,YAAX,CAAwB0C,CAAC,CAACrN,KAA1B,CAA7B;AACH;;;;;;IAECoT,c;;;;;AACF,0BAAYN,OAAZ,EAAqB/H,IAArB,EAA2BC,UAA3B,EAAuC;AAAA;;AAAA;;AACnC,kCAAMD,IAAN,EAAYC,UAAZ;AACA,YAAK8H,OAAL,GAAeA,OAAf;AACA,YAAKzJ,SAAL,GAAiB,IAAjB;;AACA,QAAI0B,IAAJ,EAAU;AACN,cAAK1B,SAAL,GAAiB0B,IAAI,CAAC1B,SAAtB;AACH;;AANkC;AAOtC;;;;WACD,sBAAagE,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAY+F,cAAb,IAA+BxI,gBAAgB,CAAC,KAAKkI,OAAN,EAAezF,CAAC,CAACyF,OAAjB,CAAtD;AACH;;;WACD,sBAAa;AACT,aAAO,KAAKA,OAAL,CAAaC,KAAb,CAAmB,UAAA1F,CAAC;AAAA,eAAIA,CAAC,CAACrN,KAAF,CAAQ2N,UAAR,EAAJ;AAAA,OAApB,CAAP;AACH;;;WACD,yBAAgBhF,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC0K,mBAAR,CAA4B,IAA5B,EAAkCzK,OAAlC,CAAP;AACH;;;;EAjBwBkC,U;;IAmBvBwI,S;;;;;AACF,qBAAYC,KAAZ,EAAmBvI,UAAnB,EAA+B;AAAA;;AAAA;;AAC3B,kCAAMuI,KAAK,CAACA,KAAK,CAAClV,MAAN,GAAe,CAAhB,CAAL,CAAwB0M,IAA9B,EAAoCC,UAApC;AACA,YAAKuI,KAAL,GAAaA,KAAb;AAF2B;AAG9B;;;;WACD,sBAAalG,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYiG,SAAb,IAA0B1I,gBAAgB,CAAC,KAAK2I,KAAN,EAAalG,CAAC,CAACkG,KAAf,CAAjD;AACH;;;WACD,sBAAa;AACT,aAAO,KAAP;AACH;;;WACD,yBAAgB5K,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,aAAOD,OAAO,CAAC6K,cAAR,CAAuB,IAAvB,EAA6B5K,OAA7B,CAAP;AACH;;;;EAbmBkC,U;;AAexB,IAAM2I,SAAS,GAAG,IAAItG,WAAJ,CAAgBD,UAAU,CAACwG,IAA3B,EAAiC,IAAjC,EAAuC,IAAvC,CAAlB;AACA,IAAMC,UAAU,GAAG,IAAIxG,WAAJ,CAAgBD,UAAU,CAAC0G,KAA3B,EAAkC,IAAlC,EAAwC,IAAxC,CAAnB;AACA,IAAMC,eAAe,GAAG,IAAI1G,WAAJ,CAAgBD,UAAU,CAAC4G,UAA3B,EAAuC,IAAvC,EAA6C,IAA7C,CAAxB;AACA,IAAMC,eAAe,GAAG,IAAI5G,WAAJ,CAAgBD,UAAU,CAAC8G,UAA3B,EAAuC,IAAvC,EAA6C,IAA7C,CAAxB;AACA,IAAMC,SAAS,GAAG,IAAIjF,WAAJ,CAAgB,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B,CAAlB;AACA,IAAMjC,eAAe,GAAG,IAAIiC,WAAJ,CAAgB,IAAhB,EAAsBvF,aAAtB,EAAqC,IAArC,CAAxB,C,CACA;;AACA,IAAIyE,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,cAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACAA,cAAY,CAACA,YAAY,CAAC,SAAD,CAAZ,GAA0B,CAA3B,CAAZ,GAA4C,SAA5C;AACAA,cAAY,CAACA,YAAY,CAAC,UAAD,CAAZ,GAA2B,CAA5B,CAAZ,GAA6C,UAA7C;AACAA,cAAY,CAACA,YAAY,CAAC,QAAD,CAAZ,GAAyB,CAA1B,CAAZ,GAA2C,QAA3C;AACH,CALD,EAKGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CALf;;IAMMgG,c;AACF,0BAAY/E,IAAZ,EAAkBgF,SAAlB,EAA6BC,eAA7B,EAA8C;AAAA;;AAC1C,SAAKjF,IAAL,GAAYA,IAAZ;AACA,SAAKgF,SAAL,GAAiBA,SAAjB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACH;;;;WACD,oBAAW;AACP,aAAO,KAAKD,SAAL,cAAqB,KAAKhF,IAA1B,SAAoC,KAAKA,IAAhD;AACH;;;;;;IAECkF,Y;;;;;AACF,wBAAYC,IAAZ,EAAkB;AAAA;;AAAA;;AACd,kCAAM,EAAN;AAAU;AAAgB,QAA1B;AAAgC;AAAsB,QAAtD;AACA,YAAKA,IAAL,GAAYA,IAAZ;AAFc;AAGjB;;;;WACD,oBAAW;AACP,aAAOC,aAAa,CAAC,KAAKD,IAAN,CAApB;AACH;;;;EAPsBJ,c;;IASrBM,S;AACF,uBAAgE;AAAA,QAApDjM,SAAoD,uEAAxC,EAAwC;AAAA,QAApCyC,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AAC5D,SAAKlM,SAAL,GAAiBA,SAAjB;AACA,SAAKyC,UAAL,GAAkBA,UAAlB;AACA,SAAKyJ,eAAL,GAAuBA,eAAvB;AACH;;;;WACD,qBAAYjM,QAAZ,EAAsB;AAClB,aAAO,KAAKD,SAAL,CAAe1L,OAAf,CAAuB2L,QAAvB,MAAqC,CAAC,CAA7C;AACH;;;WACD,2BAAkBkM,cAAlB,EAAkC;AAC9B,UAAI9V,EAAJ;;AACA,WAAK6V,eAAL,GAAuB,CAAC7V,EAAE,GAAG,KAAK6V,eAAX,MAAgC,IAAhC,IAAwC7V,EAAE,KAAK,KAAK,CAApD,GAAwDA,EAAxD,GAA6D,EAApF;AACA,WAAK6V,eAAL,CAAqB3U,IAArB,CAA0B4U,cAA1B;AACH;;;;;;IAEC1G,c;;;;;AACF,0BAAYzP,IAAZ,EAAkByB,KAAlB,EAAyB+K,IAAzB,EAA+BxC,SAA/B,EAA0CyC,UAA1C,EAAsDyJ,eAAtD,EAAuE;AAAA;;AAAA;;AACnE,kCAAMlM,SAAN,EAAiByC,UAAjB,EAA6ByJ,eAA7B;AACA,YAAKlW,IAAL,GAAYA,IAAZ;AACA,YAAKyB,KAAL,GAAaA,KAAb;AACA,YAAK+K,IAAL,GAAYA,IAAI,IAAK/K,KAAK,IAAIA,KAAK,CAAC+K,IAAxB,IAAiC,IAA7C;AAJmE;AAKtE;;;;WACD,sBAAa4J,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAY3G,cAAhB,IAAkC,KAAKzP,IAAL,KAAcoW,IAAI,CAACpW,IAArD,KACF,KAAKyB,KAAL,GAAa,CAAC,CAAC2U,IAAI,CAAC3U,KAAP,IAAgB,KAAKA,KAAL,CAAW2K,YAAX,CAAwBgK,IAAI,CAAC3U,KAA7B,CAA7B,GAAmE,CAAC2U,IAAI,CAAC3U,KADvE,CAAP;AAEH;;;WACD,wBAAe2I,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAACiM,mBAAR,CAA4B,IAA5B,EAAkChM,OAAlC,CAAP;AACH;;;;EAbwB4L,S;;IAevBnC,mB;;;;;AACF,+BAAY9T,IAAZ,EAAkB6M,MAAlB,EAA0B+G,UAA1B,EAAsCpH,IAAtC,EAA4CxC,SAA5C,EAAuDyC,UAAvD,EAAmEyJ,eAAnE,EAAoF;AAAA;;AAAA;;AAChF,kCAAMlM,SAAN,EAAiByC,UAAjB,EAA6ByJ,eAA7B;AACA,YAAKlW,IAAL,GAAYA,IAAZ;AACA,YAAK6M,MAAL,GAAcA,MAAd;AACA,YAAK+G,UAAL,GAAkBA,UAAlB;AACA,YAAKpH,IAAL,GAAYA,IAAI,IAAI,IAApB;AALgF;AAMnF;;;;WACD,sBAAa4J,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAYtC,mBAAhB,IAAuCzH,gBAAgB,CAAC,KAAKQ,MAAN,EAAcuJ,IAAI,CAACvJ,MAAnB,CAAvD,IACHR,gBAAgB,CAAC,KAAKuH,UAAN,EAAkBwC,IAAI,CAACxC,UAAvB,CADpB;AAEH;;;WACD,wBAAexJ,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAACkM,wBAAR,CAAiC,IAAjC,EAAuCjM,OAAvC,CAAP;AACH;;;;EAd6B4L,S;;IAgB5BvH,mB;;;;;AACF,+BAAYQ,IAAZ,EAAkBzC,UAAlB,EAA8ByJ,eAA9B,EAA+C;AAAA;;AAAA;;AAC3C,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAKhH,IAAL,GAAYA,IAAZ;AAF2C;AAG9C;;;;WACD,sBAAakH,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAY1H,mBAAhB,IAAuC,KAAKQ,IAAL,CAAU9C,YAAV,CAAuBgK,IAAI,CAAClH,IAA5B,CAA9C;AACH;;;WACD,wBAAe9E,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAACmM,mBAAR,CAA4B,IAA5B,EAAkClM,OAAlC,CAAP;AACH;;;;EAV6B4L,S;;IAY5BO,e;;;;;AACF,2BAAY/U,KAAZ,EAAuD;AAAA;;AAAA,QAApCgL,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AACnD,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAKzU,KAAL,GAAaA,KAAb;AAFmD;AAGtD;;;;WACD,sBAAa2U,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAYI,eAAhB,IAAmC,KAAK/U,KAAL,CAAW2K,YAAX,CAAwBgK,IAAI,CAAC3U,KAA7B,CAA1C;AACH;;;WACD,wBAAe2I,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAACqM,eAAR,CAAwB,IAAxB,EAA8BpM,OAA9B,CAAP;AACH;;;;EAVyB4L,S;;IAYxBS,iB;AACF,+BAAyC;AAAA,QAA7BlK,IAA6B,uEAAtB,IAAsB;AAAA,QAAhBxC,SAAgB,uEAAJ,EAAI;;AAAA;;AACrC,SAAKwC,IAAL,GAAYA,IAAZ;AACA,SAAKxC,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,qBAAYC,QAAZ,EAAsB;AAClB,aAAO,KAAKD,SAAL,CAAe1L,OAAf,CAAuB2L,QAAvB,MAAqC,CAAC,CAA7C;AACH;;;;;;IAEC0M,U;;;;;AACF,sBAAY3W,IAAZ,EAAkBwM,IAAlB,EAAwBxC,SAAxB,EAAmC4M,WAAnC,EAAgD;AAAA;;AAAA;;AAC5C,kCAAMpK,IAAN,EAAYxC,SAAZ;AACA,YAAKhK,IAAL,GAAYA,IAAZ;AACA,YAAK4W,WAAL,GAAmBA,WAAnB;AAH4C;AAI/C;;;;WACD,sBAAaC,CAAb,EAAgB;AACZ,aAAO,KAAK7W,IAAL,KAAc6W,CAAC,CAAC7W,IAAvB;AACH;;;;EARoB0W,iB;;IAUnBI,W;;;;;AACF,uBAAY9W,IAAZ,EAAkB6M,MAAlB,EAA0BkK,IAA1B,EAAgCvK,IAAhC,EAAsCxC,SAAtC,EAAiD;AAAA;;AAAA;;AAC7C,kCAAMwC,IAAN,EAAYxC,SAAZ;AACA,YAAKhK,IAAL,GAAYA,IAAZ;AACA,YAAK6M,MAAL,GAAcA,MAAd;AACA,YAAKkK,IAAL,GAAYA,IAAZ;AAJ6C;AAKhD;;;;WACD,sBAAaC,CAAb,EAAgB;AACZ,aAAO,KAAKhX,IAAL,KAAcgX,CAAC,CAAChX,IAAhB,IAAwBqM,gBAAgB,CAAC,KAAK0K,IAAN,EAAYC,CAAC,CAACD,IAAd,CAA/C;AACH;;;;EATqBL,iB;;IAWpBO,W;;;;;AACF,uBAAYjX,IAAZ,EAAkB+W,IAAlB,EAAwBvK,IAAxB,EAA8BxC,SAA9B,EAAyC;AAAA;;AAAA;;AACrC,kCAAMwC,IAAN,EAAYxC,SAAZ;AACA,YAAKhK,IAAL,GAAYA,IAAZ;AACA,YAAK+W,IAAL,GAAYA,IAAZ;AAHqC;AAIxC;;;;WACD,sBAAaC,CAAb,EAAgB;AACZ,aAAO,KAAKhX,IAAL,KAAcgX,CAAC,CAAChX,IAAhB,IAAwBqM,gBAAgB,CAAC,KAAK0K,IAAN,EAAYC,CAAC,CAACD,IAAd,CAA/C;AACH;;;;EARqBL,iB;;IAUpBQ,S;;;;;AACF,qBAAYlX,IAAZ,EAAkBmX,MAAlB,EAA0BC,MAA1B,EAAkCC,OAAlC,EAA2CC,iBAA3C,EAA8DC,OAA9D,EAAuEvN,SAAvE,EAAkFyC,UAAlF,EAA8FyJ,eAA9F,EAA+G;AAAA;;AAAA;;AAC3G,kCAAMlM,SAAN,EAAiByC,UAAjB,EAA6ByJ,eAA7B;AACA,YAAKlW,IAAL,GAAYA,IAAZ;AACA,YAAKmX,MAAL,GAAcA,MAAd;AACA,YAAKC,MAAL,GAAcA,MAAd;AACA,YAAKC,OAAL,GAAeA,OAAf;AACA,YAAKC,iBAAL,GAAyBA,iBAAzB;AACA,YAAKC,OAAL,GAAeA,OAAf;AAP2G;AAQ9G;;;;WACD,sBAAanB,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAYc,SAAhB,IAA6B,KAAKlX,IAAL,KAAcoW,IAAI,CAACpW,IAAhD,IACHiM,oBAAoB,CAAC,KAAKkL,MAAN,EAAcf,IAAI,CAACe,MAAnB,CADjB,IAEH9K,gBAAgB,CAAC,KAAK+K,MAAN,EAAchB,IAAI,CAACgB,MAAnB,CAFb,IAGH/K,gBAAgB,CAAC,KAAKgL,OAAN,EAAejB,IAAI,CAACiB,OAApB,CAHb,IAIH,KAAKC,iBAAL,CAAuBlL,YAAvB,CAAoCgK,IAAI,CAACkB,iBAAzC,CAJG,IAKHjL,gBAAgB,CAAC,KAAKkL,OAAN,EAAenB,IAAI,CAACmB,OAApB,CALpB;AAMH;;;WACD,wBAAenN,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAACoN,qBAAR,CAA8B,IAA9B,EAAoCnN,OAApC,CAAP;AACH;;;;EApBmB4L,S;;IAsBlBwB,M;;;;;AACF,kBAAYvE,SAAZ,EAAuBjG,QAAvB,EAA8E;AAAA;;AAAA,QAA7CC,SAA6C,uEAAjC,EAAiC;AAAA,QAA7BT,UAA6B;AAAA,QAAjByJ,eAAiB;;AAAA;;AAC1E,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAKhD,SAAL,GAAiBA,SAAjB;AACA,YAAKjG,QAAL,GAAgBA,QAAhB;AACA,YAAKC,SAAL,GAAiBA,SAAjB;AAJ0E;AAK7E;;;;WACD,sBAAakJ,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAYqB,MAAhB,IAA0B,KAAKvE,SAAL,CAAe9G,YAAf,CAA4BgK,IAAI,CAAClD,SAAjC,CAA1B,IACH7G,gBAAgB,CAAC,KAAKY,QAAN,EAAgBmJ,IAAI,CAACnJ,QAArB,CADb,IAEHZ,gBAAgB,CAAC,KAAKa,SAAN,EAAiBkJ,IAAI,CAAClJ,SAAtB,CAFpB;AAGH;;;WACD,wBAAe9C,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAACsN,WAAR,CAAoB,IAApB,EAA0BrN,OAA1B,CAAP;AACH;;;;EAdgB4L,S;;IAgBf0B,Y;;;;;AACF,wBAAYC,SAAZ,EAAuBC,UAAvB,EAAuE;AAAA;;AAAA,QAApCpL,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AACnE,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAK0B,SAAL,GAAiBA,SAAjB;AACA,YAAKC,UAAL,GAAkBA,UAAlB;AAHmE;AAItE;;;;WACD,sBAAazB,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAYuB,YAAhB,IAAgCtL,gBAAgB,CAAC,KAAKuL,SAAN,EAAiBxB,IAAI,CAACwB,SAAtB,CAAhD,IACHvL,gBAAgB,CAAC,KAAKwL,UAAN,EAAkBzB,IAAI,CAACyB,UAAvB,CADpB;AAEH;;;WACD,wBAAezN,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAAC0N,iBAAR,CAA0B,IAA1B,EAAgCzN,OAAhC,CAAP;AACH;;;;EAZsB4L,S;;IAcrB8B,S;;;;;AACF,qBAAYC,KAAZ,EAAuD;AAAA;;AAAA,QAApCvL,UAAoC,uEAAvB,IAAuB;AAAA,QAAjByJ,eAAiB;;AAAA;;AACnD,kCAAM,EAAN,EAAUzJ,UAAV,EAAsByJ,eAAtB;AACA,YAAK8B,KAAL,GAAaA,KAAb;AAFmD;AAGtD;;;;WACD,sBAAa5B,IAAb,EAAmB;AACf,aAAOA,IAAI,YAAYuB,YAAhB,IAAgC,KAAKK,KAAL,CAAW5L,YAAX,CAAwBgK,IAAI,CAAC4B,KAA7B,CAAvC;AACH;;;WACD,wBAAe5N,OAAf,EAAwBC,OAAxB,EAAiC;AAC7B,aAAOD,OAAO,CAAC6N,cAAR,CAAuB,IAAvB,EAA6B5N,OAA7B,CAAP;AACH;;;;EAVmB4L,S;;IAYlBiC,c;;;;;;;WACF,uBAAchJ,IAAd,EAAoB7E,OAApB,EAA6B;AACzB,aAAO6E,IAAP;AACH;;;WACD,uBAAckH,IAAd,EAAoB/L,OAApB,EAA6B;AACzB,aAAO+L,IAAP;AACH;;;WACD,0BAAiB+B,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;WACD,yBAAgB6E,IAAhB,EAAsB7E,OAAtB,EAA+B;AAC3B,aAAO,KAAK+N,aAAL,CAAmB,IAAInJ,UAAJ,CAAeC,IAAI,CAACA,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAf,EAAyD6E,IAAI,CAAC1C,IAA9D,EAAoE0C,IAAI,CAACzC,UAAzE,CAAnB,EAAyGpC,OAAzG,CAAP;AACH;;;WACD,2BAAkB6E,IAAlB,EAAwB7E,OAAxB,EAAiC;AAC7B,aAAO,KAAK+N,aAAL,CAAmB,IAAIpJ,YAAJ,CAAiBE,IAAI,CAAClP,IAAtB,EAA4BkP,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA5B,EAAuE6E,IAAI,CAAC1C,IAA5E,EAAkF0C,IAAI,CAACzC,UAAvF,CAAnB,EAAuHpC,OAAvH,CAAP;AACH;;;WACD,2BAAkB6E,IAAlB,EAAwB7E,OAAxB,EAAiC;AAC7B,aAAO,KAAK+N,aAAL,CAAmB,IAAIvI,YAAJ,CAAiBX,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAjB,EAA+D6E,IAAI,CAACvC,KAAL,CAAW0L,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA/D,EAA0G6E,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA1G,EAAqJ6E,IAAI,CAAC1C,IAA1J,EAAgK0C,IAAI,CAACzC,UAArK,CAAnB,EAAqMpC,OAArM,CAAP;AACH;;;WACD,4BAAmB6E,IAAnB,EAAyB7E,OAAzB,EAAkC;AAC9B,aAAO,KAAK+N,aAAL,CAAmB,IAAIpI,aAAJ,CAAkBd,IAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAlB,EAAgE6E,IAAI,CAAClP,IAArE,EAA2EkP,IAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA3E,EAAsH6E,IAAI,CAAC1C,IAA3H,EAAiI0C,IAAI,CAACzC,UAAtI,CAAnB,EAAsKpC,OAAtK,CAAP;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,UAAM8F,MAAM,GAAGgI,GAAG,CAACtJ,OAAJ,IAAesJ,GAAG,CAACnY,IAAlC;AACA,aAAO,KAAKoY,aAAL,CAAmB,IAAItL,gBAAJ,CAAqBqL,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAArB,EAAkE8F,MAAlE,EAA0E,KAAKmI,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC,CAA1E,EAAuH8N,GAAG,CAAC3L,IAA3H,EAAiI2L,GAAG,CAAC1L,UAArI,CAAnB,EAAqKpC,OAArK,CAAP;AACH;;;WACD,iCAAwB8N,GAAxB,EAA6B9N,OAA7B,EAAsC;AAClC,aAAO,KAAK+N,aAAL,CAAmB,IAAIrL,kBAAJ,CAAuBoL,GAAG,CAAC9H,EAAJ,CAAOgI,eAAP,CAAuB,IAAvB,EAA6BhO,OAA7B,CAAvB,EAA8D,KAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC,CAA9D,EAA2G8N,GAAG,CAAC3L,IAA/G,EAAqH2L,GAAG,CAAC1L,UAAzH,CAAnB,EAAyJpC,OAAzJ,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO,KAAK+N,aAAL,CAAmB,IAAIpL,eAAJ,CAAoBmL,GAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAApB,EAAkE,KAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC,CAAlE,EAA+G8N,GAAG,CAAC3L,IAAnH,EAAyH2L,GAAG,CAAC1L,UAA7H,CAAnB,EAA6JpC,OAA7J,CAAP;AACH;;;WACD,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO,KAAK+N,aAAL,CAAmB,IAAIrH,eAAJ,CAAoBoH,GAAG,CAACnH,SAAxB,EAAmCmH,GAAG,CAAClH,YAAvC,EAAqDkH,GAAG,CAACjH,gBAAzD,EAA2E,KAAKoH,mBAAL,CAAyBH,GAAG,CAAChH,WAA7B,EAA0C9G,OAA1C,CAA3E,EAA+H8N,GAAG,CAAC1L,UAAnI,CAAnB,EAAmKpC,OAAnK,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO,KAAK+N,aAAL,CAAmBD,GAAnB,EAAwB9N,OAAxB,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO,KAAK+N,aAAL,CAAmB,IAAIjL,eAAJ,CAAoBgL,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAApB,EAAkE8N,GAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAAlE,EAA+G8N,GAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAA/G,EAA6J8N,GAAG,CAAC3L,IAAjK,EAAuK2L,GAAG,CAAC1L,UAA3K,CAAnB,EAA2MpC,OAA3M,CAAP;AACH;;;WACD,sBAAa8N,GAAb,EAAkB9N,OAAlB,EAA2B;AACvB,aAAO,KAAK+N,aAAL,CAAmB,IAAIhF,OAAJ,CAAY+E,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAZ,EAA0D8N,GAAG,CAAC1L,UAA9D,CAAnB,EAA8FpC,OAA9F,CAAP;AACH;;;WACD,gCAAuB8N,GAAvB,EAA4B9N,OAA5B,EAAqC;AACjC,aAAO,KAAK+N,aAAL,CAAmB,IAAI9E,aAAJ,CAAkB6E,GAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC,CAAlB,EAAgE8N,GAAG,CAAC1L,UAApE,CAAnB,EAAoGpC,OAApG,CAAP;AACH;;;WACD,uBAAc8N,GAAd,EAAmB9N,OAAnB,EAA4B;AACxB,aAAO,KAAK+N,aAAL,CAAmB,IAAI3J,QAAJ,CAAa0J,GAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAb,EAAuD8N,GAAG,CAAC3L,IAA3D,EAAiE2L,GAAG,CAAC1L,UAArE,CAAnB,EAAqGpC,OAArG,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO,KAAK+N,aAAL,CAAmB,IAAIzE,YAAJ,CAAiBwE,GAAG,CAACtL,MAArB,EAA6B,KAAK0L,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwCvJ,OAAxC,CAA7B,EAA+E8N,GAAG,CAAC3L,IAAnF,EAAyF2L,GAAG,CAAC1L,UAA7F,CAAnB,EAA6HpC,OAA7H,CAAP;AACH;;;WACD,gCAAuB8N,GAAvB,EAA4B9N,OAA5B,EAAqC;AACjC,aAAO,KAAK+N,aAAL,CAAmB,IAAIrE,iBAAJ,CAAsBoE,GAAG,CAACnE,QAA1B,EAAoCmE,GAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,IAAzB,EAA+BhO,OAA/B,CAApC,EAA6E8N,GAAG,CAAC3L,IAAjF,EAAuF2L,GAAG,CAAC1L,UAA3F,CAAnB,EAA2HpC,OAA3H,CAAP;AACH;;;WACD,iCAAwB8N,GAAxB,EAA6B9N,OAA7B,EAAsC;AAClC,aAAO,KAAK+N,aAAL,CAAmB,IAAI/K,kBAAJ,CAAuB8K,GAAG,CAACnE,QAA3B,EAAqCmE,GAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B,CAArC,EAA6E8N,GAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B,CAA7E,EAAqH8N,GAAG,CAAC3L,IAAzH,EAA+H2L,GAAG,CAAC1L,UAAnI,CAAnB,EAAmKpC,OAAnK,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO,KAAK+N,aAAL,CAAmB,IAAI1L,YAAJ,CAAiByL,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAAjB,EAA8D8N,GAAG,CAACnY,IAAlE,EAAwEmY,GAAG,CAAC3L,IAA5E,EAAkF2L,GAAG,CAAC1L,UAAtF,CAAnB,EAAsHpC,OAAtH,CAAP;AACH;;;WACD,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,aAAO,KAAK+N,aAAL,CAAmB,IAAIxL,WAAJ,CAAgBuL,GAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC,CAAhB,EAA6D8N,GAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAA7D,EAAuG8N,GAAG,CAAC3L,IAA3G,EAAiH2L,GAAG,CAAC1L,UAArH,CAAnB,EAAqJpC,OAArJ,CAAP;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,aAAO,KAAK+N,aAAL,CAAmB,IAAI9D,gBAAJ,CAAqB,KAAKgE,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsClK,OAAtC,CAArB,EAAqE8N,GAAG,CAAC3L,IAAzE,EAA+E2L,GAAG,CAAC1L,UAAnF,CAAnB,EAAmHpC,OAAnH,CAAP;AACH;;;WACD,6BAAoB8N,GAApB,EAAyB9N,OAAzB,EAAkC;AAAA;;AAC9B,UAAMkK,OAAO,GAAG4D,GAAG,CAAC5D,OAAJ,CAAY/P,GAAZ,CAAgB,UAACgU,KAAD;AAAA,eAAW,IAAI9D,eAAJ,CAAoB8D,KAAK,CAAC7D,GAA1B,EAA+B6D,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkChO,OAAlC,CAA/B,EAA2EmO,KAAK,CAAC5D,MAAjF,CAAX;AAAA,OAAhB,CAAhB;AACA,UAAM6D,OAAO,GAAG,IAAI5N,OAAJ,CAAYsN,GAAG,CAACrN,SAAhB,CAAhB;AACA,aAAO,KAAKsN,aAAL,CAAmB,IAAIvD,cAAJ,CAAmBN,OAAnB,EAA4BkE,OAA5B,EAAqCN,GAAG,CAAC1L,UAAzC,CAAnB,EAAyEpC,OAAzE,CAAP;AACH;;;WACD,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,aAAO,KAAK+N,aAAL,CAAmB,IAAIrD,SAAJ,CAAc,KAAKuD,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoC3K,OAApC,CAAd,EAA4D8N,GAAG,CAAC1L,UAAhE,CAAnB,EAAgGpC,OAAhG,CAAP;AACH;;;WACD,6BAAoBqO,KAApB,EAA2BrO,OAA3B,EAAoC;AAAA;;AAChC,aAAOqO,KAAK,CAAClU,GAAN,CAAU,UAAA0K,IAAI;AAAA,eAAIA,IAAI,CAACmJ,eAAL,CAAqB,OAArB,EAA2BhO,OAA3B,CAAJ;AAAA,OAAd,CAAP;AACH;;;WACD,6BAAoB+L,IAApB,EAA0B/L,OAA1B,EAAmC;AAC/B,UAAM5I,KAAK,GAAG2U,IAAI,CAAC3U,KAAL,IAAc2U,IAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAA5B;AACA,aAAO,KAAKsO,aAAL,CAAmB,IAAIlJ,cAAJ,CAAmB2G,IAAI,CAACpW,IAAxB,EAA8ByB,KAA9B,EAAqC2U,IAAI,CAAC5J,IAA1C,EAAgD4J,IAAI,CAACpM,SAArD,EAAgEoM,IAAI,CAAC3J,UAArE,EAAiF2J,IAAI,CAACF,eAAtF,CAAnB,EAA2H7L,OAA3H,CAAP;AACH;;;WACD,kCAAyB+L,IAAzB,EAA+B/L,OAA/B,EAAwC;AACpC,aAAO,KAAKsO,aAAL,CAAmB,IAAI7E,mBAAJ,CAAwBsC,IAAI,CAACpW,IAA7B,EAAmCoW,IAAI,CAACvJ,MAAxC,EAAgD,KAAK0L,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyCvJ,OAAzC,CAAhD,EAAmG+L,IAAI,CAAC5J,IAAxG,EAA8G4J,IAAI,CAACpM,SAAnH,EAA8HoM,IAAI,CAAC3J,UAAnI,EAA+I2J,IAAI,CAACF,eAApJ,CAAnB,EAAyL7L,OAAzL,CAAP;AACH;;;WACD,6BAAoB+L,IAApB,EAA0B/L,OAA1B,EAAmC;AAC/B,aAAO,KAAKsO,aAAL,CAAmB,IAAIjK,mBAAJ,CAAwB0H,IAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAxB,EAAkE+L,IAAI,CAAC3J,UAAvE,EAAmF2J,IAAI,CAACF,eAAxF,CAAnB,EAA6H7L,OAA7H,CAAP;AACH;;;WACD,yBAAgB+L,IAAhB,EAAsB/L,OAAtB,EAA+B;AAC3B,aAAO,KAAKsO,aAAL,CAAmB,IAAInC,eAAJ,CAAoBJ,IAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAApB,EAA+D+L,IAAI,CAAC3J,UAApE,EAAgF2J,IAAI,CAACF,eAArF,CAAnB,EAA0H7L,OAA1H,CAAP;AACH;;;WACD,+BAAsB+L,IAAtB,EAA4B/L,OAA5B,EAAqC;AAAA;;AACjC,UAAM8M,MAAM,GAAGf,IAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkChO,OAAlC,CAAf;AACA,UAAMgN,OAAO,GAAGjB,IAAI,CAACiB,OAAL,CAAa7S,GAAb,CAAiB,UAAAoU,MAAM;AAAA,eAAI,IAAI3B,WAAJ,CAAgB2B,MAAM,CAAC5Y,IAAvB,EAA6B,OAAI,CAACuY,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqC1M,OAArC,CAA7B,EAA4EuO,MAAM,CAACpM,IAAnF,EAAyFoM,MAAM,CAAC5O,SAAhG,CAAJ;AAAA,OAAvB,CAAhB;AACA,UAAM6O,UAAU,GAAGzC,IAAI,CAACkB,iBAAL,IACf,IAAIR,WAAJ,CAAgBV,IAAI,CAACkB,iBAAL,CAAuBtX,IAAvC,EAA6CoW,IAAI,CAACkB,iBAAL,CAAuBzK,MAApE,EAA4E,KAAK0L,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqD1M,OAArD,CAA5E,EAA2I+L,IAAI,CAACkB,iBAAL,CAAuB9K,IAAlK,EAAwK4J,IAAI,CAACkB,iBAAL,CAAuBtN,SAA/L,CADJ;AAEA,UAAMuN,OAAO,GAAGnB,IAAI,CAACmB,OAAL,CAAa/S,GAAb,CAAiB,UAAA2L,MAAM;AAAA,eAAI,IAAI2G,WAAJ,CAAgB3G,MAAM,CAACnQ,IAAvB,EAA6BmQ,MAAM,CAACtD,MAApC,EAA4C,OAAI,CAAC0L,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqC1M,OAArC,CAA5C,EAA2F8F,MAAM,CAAC3D,IAAlG,EAAwG2D,MAAM,CAACnG,SAA/G,CAAJ;AAAA,OAAvB,CAAhB;AACA,aAAO,KAAK2O,aAAL,CAAmB,IAAIzB,SAAJ,CAAcd,IAAI,CAACpW,IAAnB,EAAyBmX,MAAzB,EAAiCf,IAAI,CAACgB,MAAtC,EAA8CC,OAA9C,EAAuDwB,UAAvD,EAAmEtB,OAAnE,EAA4EnB,IAAI,CAACpM,SAAjF,EAA4FoM,IAAI,CAAC3J,UAAjG,CAAnB,EAAiIpC,OAAjI,CAAP;AACH;;;WACD,qBAAY+L,IAAZ,EAAkB/L,OAAlB,EAA2B;AACvB,aAAO,KAAKsO,aAAL,CAAmB,IAAIlB,MAAJ,CAAWrB,IAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqChO,OAArC,CAAX,EAA0D,KAAKkO,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuC5C,OAAvC,CAA1D,EAA2G,KAAKkO,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwC7C,OAAxC,CAA3G,EAA6J+L,IAAI,CAAC3J,UAAlK,EAA8K2J,IAAI,CAACF,eAAnL,CAAnB,EAAwN7L,OAAxN,CAAP;AACH;;;WACD,2BAAkB+L,IAAlB,EAAwB/L,OAAxB,EAAiC;AAC7B,aAAO,KAAKsO,aAAL,CAAmB,IAAIhB,YAAJ,CAAiB,KAAKY,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwCvN,OAAxC,CAAjB,EAAmE,KAAKkO,kBAAL,CAAwBnC,IAAI,CAACyB,UAA7B,EAAyCxN,OAAzC,CAAnE,EAAsH+L,IAAI,CAAC3J,UAA3H,EAAuI2J,IAAI,CAACF,eAA5I,CAAnB,EAAiL7L,OAAjL,CAAP;AACH;;;WACD,wBAAe+L,IAAf,EAAqB/L,OAArB,EAA8B;AAC1B,aAAO,KAAKsO,aAAL,CAAmB,IAAIZ,SAAJ,CAAc3B,IAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC,CAAd,EAAyD+L,IAAI,CAAC3J,UAA9D,EAA0E2J,IAAI,CAACF,eAA/E,CAAnB,EAAoH7L,OAApH,CAAP;AACH;;;WACD,4BAAmByO,KAAnB,EAA0BzO,OAA1B,EAAmC;AAAA;;AAC/B,aAAOyO,KAAK,CAACtU,GAAN,CAAU,UAAA4R,IAAI;AAAA,eAAIA,IAAI,CAAC2C,cAAL,CAAoB,OAApB,EAA0B1O,OAA1B,CAAJ;AAAA,OAAd,CAAP;AACH;;;;;;IAEC2O,mB;;;;;;;WACF,mBAAUb,GAAV,EAAe9N,OAAf,EAAwB;AACpB,aAAO8N,GAAP;AACH;;;WACD,yBAAgBA,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,UAAI8N,GAAG,CAAC3L,IAAR,EAAc;AACV2L,WAAG,CAAC3L,IAAJ,CAASyM,SAAT,CAAmB,IAAnB,EAAyB5O,OAAzB;AACH;;AACD,aAAO8N,GAAP;AACH;;;WACD,0BAAiB3L,IAAjB,EAAuBnC,OAAvB,EAAgC;AAC5B,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;WACD,6BAAoBmC,IAApB,EAA0BnC,OAA1B,EAAmC;AAAA;;AAC/BmC,UAAI,CAAC/K,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;;AACA,UAAImC,IAAI,CAAChC,UAAL,KAAoB,IAAxB,EAA8B;AAC1BgC,YAAI,CAAChC,UAAL,CAAgBzK,OAAhB,CAAwB,UAAA2T,KAAK;AAAA,iBAAI,OAAI,CAACuF,SAAL,CAAevF,KAAf,EAAsBrJ,OAAtB,CAAJ;AAAA,SAA7B;AACH;;AACD,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;WACD,wBAAemC,IAAf,EAAqBnC,OAArB,EAA8B;AAC1B,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;WACD,sBAAamC,IAAb,EAAmBnC,OAAnB,EAA4B;AACxB,aAAO,KAAK4O,SAAL,CAAezM,IAAf,EAAqBnC,OAArB,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO8N,GAAP;AACH;;;WACD,yBAAgBA,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA,WAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,iCAAwB8N,GAAxB,EAA6B9N,OAA7B,EAAsC;AAClC8N,SAAG,CAAC9H,EAAJ,CAAOgI,eAAP,CAAuB,IAAvB,EAA6BhO,OAA7B;AACA,WAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B8N,SAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,WAAKiO,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmCuC,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAAA;;AAC5B,UAAI8N,GAAG,CAAC3N,UAAR,EAAoB;AAChB2N,WAAG,CAAC3N,UAAJ,CAAezK,OAAf,CAAuB,UAAAyM,IAAI;AAAA,iBAAIA,IAAI,CAACyM,SAAL,CAAe,OAAf,EAAqB5O,OAArB,CAAJ;AAAA,SAA3B;AACH;;AACD,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,8BAAqB8N,GAArB,EAA0B9N,OAA1B,EAAmC;AAC/B8N,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA8N,SAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,sBAAa8N,GAAb,EAAkB9N,OAAlB,EAA2B;AACvB8N,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,gCAAuB8N,GAAvB,EAA4B9N,OAA5B,EAAqC;AACjC8N,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoChO,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,uBAAc8N,GAAd,EAAmB9N,OAAnB,EAA4B;AACxB8N,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,WAAKkO,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwCvJ,OAAxC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,gCAAuB8N,GAAvB,EAA4B9N,OAA5B,EAAqC;AACjC8N,SAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,IAAzB,EAA+BhO,OAA/B;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,iCAAwB8N,GAAxB,EAA6B9N,OAA7B,EAAsC;AAClC8N,SAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B;AACA8N,SAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,IAAxB,EAA8BhO,OAA9B;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B8N,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmChO,OAAnC;AACA8N,SAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,WAAKiO,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsClK,OAAtC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,6BAAoB8N,GAApB,EAAyB9N,OAAzB,EAAkC;AAAA;;AAC9B8N,SAAG,CAAC5D,OAAJ,CAAYxU,OAAZ,CAAoB,UAACyY,KAAD;AAAA,eAAWA,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkChO,OAAlC,CAAX;AAAA,OAApB;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,WAAKiO,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoC3K,OAApC;AACA,aAAO,KAAKgO,eAAL,CAAqBF,GAArB,EAA0B9N,OAA1B,CAAP;AACH;;;WACD,6BAAoBqO,KAApB,EAA2BrO,OAA3B,EAAoC;AAAA;;AAChCqO,WAAK,CAAC3Y,OAAN,CAAc,UAAAmP,IAAI;AAAA,eAAIA,IAAI,CAACmJ,eAAL,CAAqB,OAArB,EAA2BhO,OAA3B,CAAJ;AAAA,OAAlB;AACH;;;WACD,6BAAoB+L,IAApB,EAA0B/L,OAA1B,EAAmC;AAC/B,UAAI+L,IAAI,CAAC3U,KAAT,EAAgB;AACZ2U,YAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;AACH;;AACD,UAAI+L,IAAI,CAAC5J,IAAT,EAAe;AACX4J,YAAI,CAAC5J,IAAL,CAAUyM,SAAV,CAAoB,IAApB,EAA0B5O,OAA1B;AACH;;AACD,aAAO+L,IAAP;AACH;;;WACD,kCAAyBA,IAAzB,EAA+B/L,OAA/B,EAAwC;AACpC,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyCvJ,OAAzC;;AACA,UAAI+L,IAAI,CAAC5J,IAAT,EAAe;AACX4J,YAAI,CAAC5J,IAAL,CAAUyM,SAAV,CAAoB,IAApB,EAA0B5O,OAA1B;AACH;;AACD,aAAO+L,IAAP;AACH;;;WACD,6BAAoBA,IAApB,EAA0B/L,OAA1B,EAAmC;AAC/B+L,UAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC;AACA,aAAO+L,IAAP;AACH;;;WACD,yBAAgBA,IAAhB,EAAsB/L,OAAtB,EAA+B;AAC3B+L,UAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;AACA,aAAO+L,IAAP;AACH;;;WACD,+BAAsBA,IAAtB,EAA4B/L,OAA5B,EAAqC;AAAA;;AACjC+L,UAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkChO,OAAlC;AACA+L,UAAI,CAACiB,OAAL,CAAatX,OAAb,CAAqB,UAAA6Y,MAAM;AAAA,eAAI,OAAI,CAACL,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqC1M,OAArC,CAAJ;AAAA,OAA3B;;AACA,UAAI+L,IAAI,CAACkB,iBAAT,EAA4B;AACxB,aAAKiB,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqD1M,OAArD;AACH;;AACD+L,UAAI,CAACmB,OAAL,CAAaxX,OAAb,CAAqB,UAAAoQ,MAAM;AAAA,eAAI,OAAI,CAACoI,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqC1M,OAArC,CAAJ;AAAA,OAA3B;AACA,aAAO+L,IAAP;AACH;;;WACD,qBAAYA,IAAZ,EAAkB/L,OAAlB,EAA2B;AACvB+L,UAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqChO,OAArC;AACA,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuC5C,OAAvC;AACA,WAAKkO,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwC7C,OAAxC;AACA,aAAO+L,IAAP;AACH;;;WACD,2BAAkBA,IAAlB,EAAwB/L,OAAxB,EAAiC;AAC7B,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwCvN,OAAxC;AACA,WAAKkO,kBAAL,CAAwBnC,IAAI,CAACyB,UAA7B,EAAyCxN,OAAzC;AACA,aAAO+L,IAAP;AACH;;;WACD,wBAAeA,IAAf,EAAqB/L,OAArB,EAA8B;AAC1B+L,UAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiChO,OAAjC;AACA,aAAO+L,IAAP;AACH;;;WACD,4BAAmB0C,KAAnB,EAA0BzO,OAA1B,EAAmC;AAAA;;AAC/ByO,WAAK,CAAC/Y,OAAN,CAAc,UAAAqW,IAAI;AAAA,eAAIA,IAAI,CAAC2C,cAAL,CAAoB,OAApB,EAA0B1O,OAA1B,CAAJ;AAAA,OAAlB;AACH;;;;;;AAEL,SAAS6O,gBAAT,CAA0BJ,KAA1B,EAAiC;AAC7B,MAAM1O,OAAO,GAAG,IAAI+O,eAAJ,EAAhB;AACA/O,SAAO,CAACmO,kBAAR,CAA2BO,KAA3B,EAAkC,IAAlC;AACA,SAAO1O,OAAO,CAACgP,QAAf;AACH;;IACKD,e;;;;;AACF,6BAAc;AAAA;;AAAA;;AACV,mCAASE,SAAT;AACA,YAAKD,QAAL,GAAgB,IAAIE,GAAJ,EAAhB;AAFU;AAGb;;;;WACD,kCAAyBlD,IAAzB,EAA+B/L,OAA/B,EAAwC;AACpC;AACA,aAAO+L,IAAP;AACH;;;WACD,+BAAsBA,IAAtB,EAA4B/L,OAA5B,EAAqC;AACjC;AACA,aAAO+L,IAAP;AACH;;;WACD,0BAAiB+B,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,UAAI8N,GAAG,CAACnY,IAAR,EAAc;AACV,aAAKoZ,QAAL,CAAcG,GAAd,CAAkBpB,GAAG,CAACnY,IAAtB;AACH;;AACD,aAAO,IAAP;AACH;;;;EAlByBgZ,mB;;AAoB9B,SAASQ,yBAAT,CAAmCV,KAAnC,EAA0C;AACtC,MAAM1O,OAAO,GAAG,IAAIqP,8BAAJ,EAAhB;AACArP,SAAO,CAACmO,kBAAR,CAA2BO,KAA3B,EAAkC,IAAlC;AACA,SAAO1O,OAAO,CAACsP,kBAAf;AACH;;IACKD,8B;;;;;AACF,4CAAc;AAAA;;AAAA;;AACV,mCAASJ,SAAT;AACA,YAAKK,kBAAL,GAA0B,EAA1B;AAFU;AAGb;;;;WACD,2BAAkB5K,CAAlB,EAAqBzE,OAArB,EAA8B;AAC1B,WAAKqP,kBAAL,CAAwBnY,IAAxB,CAA6BuN,CAAC,CAACrN,KAA/B;AACA,mYAA+BqN,CAA/B,EAAkCzE,OAAlC;AACH;;;;EARwC2O,mB;;AAU7C,SAASW,kCAAT,CAA4CvD,IAA5C,EAAkD3J,UAAlD,EAA8D;AAC1D,MAAI,CAACA,UAAL,EAAiB;AACb,WAAO2J,IAAP;AACH;;AACD,MAAMwD,WAAW,GAAG,IAAIC,2BAAJ,CAAgCpN,UAAhC,CAApB;AACA,SAAO2J,IAAI,CAAC2C,cAAL,CAAoBa,WAApB,EAAiC,IAAjC,CAAP;AACH;;AACD,SAASE,mCAAT,CAA6C5K,IAA7C,EAAmDzC,UAAnD,EAA+D;AAC3D,MAAI,CAACA,UAAL,EAAiB;AACb,WAAOyC,IAAP;AACH;;AACD,MAAM0K,WAAW,GAAG,IAAIC,2BAAJ,CAAgCpN,UAAhC,CAApB;AACA,SAAOyC,IAAI,CAACmJ,eAAL,CAAqBuB,WAArB,EAAkC,IAAlC,CAAP;AACH;;IACKC,2B;;;;;AACF,uCAAYpN,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,YAAKA,UAAL,GAAkBA,UAAlB;AAFoB;AAGvB;;;;WACD,gBAAOvD,GAAP,EAAY;AACR,UAAM6Q,KAAK,GAAG3T,MAAM,CAAC4T,MAAP,CAAc9Q,GAAG,CAAC+Q,WAAJ,CAAgBC,SAA9B,CAAd;;AACA,uCAAiB9T,MAAM,CAAC+T,IAAP,CAAYjR,GAAZ,CAAjB,oCAAmC;AAA9B,YAAIkR,IAAI,oBAAR;AACDL,aAAK,CAACK,IAAD,CAAL,GAAclR,GAAG,CAACkR,IAAD,CAAjB;AACH;;AACD,aAAOL,KAAP;AACH;;;WACD,uBAAc7K,IAAd,EAAoB7E,OAApB,EAA6B;AACzB,UAAI,CAAC6E,IAAI,CAACzC,UAAV,EAAsB;AAClByC,YAAI,GAAG,KAAKmL,MAAL,CAAYnL,IAAZ,CAAP;AACAA,YAAI,CAACzC,UAAL,GAAkB,KAAKA,UAAvB;AACH;;AACD,aAAOyC,IAAP;AACH;;;WACD,uBAAckH,IAAd,EAAoB/L,OAApB,EAA6B;AACzB,UAAI,CAAC+L,IAAI,CAAC3J,UAAV,EAAsB;AAClB2J,YAAI,GAAG,KAAKiE,MAAL,CAAYjE,IAAZ,CAAP;AACAA,YAAI,CAAC3J,UAAL,GAAkB,KAAKA,UAAvB;AACH;;AACD,aAAO2J,IAAP;AACH;;;;EAzBqC8B,c;;AA2B1C,SAAS/B,cAAT,CAAwBvF,IAAxB,EAAyE;AAAA,MAA3CgF,SAA2C,uEAA/B,KAA+B;AAAA,MAAxBC,eAAwB,uEAAN,IAAM;AACrE,SAAO,IAAIF,cAAJ,CAAmB/E,IAAnB,EAAyBgF,SAAzB,EAAoCC,eAApC,CAAP;AACH;;AACD,SAASyE,YAAT,GAAiC;AAAA,MAAXvE,IAAW,uEAAJ,EAAI;AAC7B,SAAO,IAAID,YAAJ,CAAiBC,IAAjB,CAAP;AACH;;AACD,SAASwE,QAAT,CAAkBva,IAAlB,EAAwBwM,IAAxB,EAA8BC,UAA9B,EAA0C;AACtC,SAAO,IAAImC,WAAJ,CAAgB5O,IAAhB,EAAsBwM,IAAtB,EAA4BC,UAA5B,CAAP;AACH;;AACD,SAAS+N,UAAT,CAAoBC,EAApB,EAAuD;AAAA,MAA/BjQ,UAA+B,uEAAlB,IAAkB;AAAA,MAAZiC,UAAY;AACnD,SAAO,IAAIoG,YAAJ,CAAiB4H,EAAjB,EAAqB,IAArB,EAA2BjQ,UAA3B,EAAuCiC,UAAvC,CAAP;AACH;;AACD,SAASiO,UAAT,CAAoBD,EAApB,EAAwBjQ,UAAxB,EAAoCmQ,aAApC,EAAmD;AAC/C,SAAOF,EAAE,IAAI,IAAN,GAAaG,cAAc,CAACJ,UAAU,CAACC,EAAD,EAAKjQ,UAAL,EAAiB,IAAjB,CAAX,EAAmCmQ,aAAnC,CAA3B,GAA+E,IAAtF;AACH;;AACD,SAASC,cAAT,CAAwB1L,IAAxB,EAA8ByL,aAA9B,EAA6CnQ,UAA7C,EAAyD;AACrD,SAAO,IAAID,cAAJ,CAAmB2E,IAAnB,EAAyByL,aAAzB,EAAwCnQ,UAAxC,CAAP;AACH;;AACD,SAASqQ,UAAT,CAAoB3L,IAApB,EAA0B;AACtB,SAAO,IAAID,UAAJ,CAAeC,IAAf,CAAP;AACH;;AACD,SAAS4L,UAAT,CAAoB/R,MAApB,EAA4ByD,IAA5B,EAAkCC,UAAlC,EAA8C;AAC1C,SAAO,IAAI6H,gBAAJ,CAAqBvL,MAArB,EAA6ByD,IAA7B,EAAmCC,UAAnC,CAAP;AACH;;AACD,SAASsO,UAAT,CAAoBhS,MAApB,EAAyC;AAAA,MAAbyD,IAAa,uEAAN,IAAM;AACrC,SAAO,IAAIqI,cAAJ,CAAmB9L,MAAM,CAACvE,GAAP,CAAW,UAAAsK,CAAC;AAAA,WAAI,IAAI4F,eAAJ,CAAoB5F,CAAC,CAAC6F,GAAtB,EAA2B7F,CAAC,CAACrN,KAA7B,EAAoCqN,CAAC,CAAC8F,MAAtC,CAAJ;AAAA,GAAZ,CAAnB,EAAmFpI,IAAnF,EAAyF,IAAzF,CAAP;AACH;;AACD,SAASwO,KAAT,CAAehH,QAAf,EAAyB9E,IAAzB,EAA+B1C,IAA/B,EAAqCC,UAArC,EAAiD;AAC7C,SAAO,IAAIsH,iBAAJ,CAAsBC,QAAtB,EAAgC9E,IAAhC,EAAsC1C,IAAtC,EAA4CC,UAA5C,CAAP;AACH;;AACD,SAASwO,GAAT,CAAa/L,IAAb,EAAmBzC,UAAnB,EAA+B;AAC3B,SAAO,IAAI2G,OAAJ,CAAYlE,IAAZ,EAAkBzC,UAAlB,CAAP;AACH;;AACD,SAASyO,aAAT,CAAuBhM,IAAvB,EAA6BzC,UAA7B,EAAyC;AACrC,SAAO,IAAI6G,aAAJ,CAAkBpE,IAAlB,EAAwBzC,UAAxB,CAAP;AACH;;AACD,SAAS4D,EAAT,CAAYxD,MAAZ,EAAoBkK,IAApB,EAA0BvK,IAA1B,EAAgCC,UAAhC,EAA4CzM,IAA5C,EAAkD;AAC9C,SAAO,IAAI2T,YAAJ,CAAiB9G,MAAjB,EAAyBkK,IAAzB,EAA+BvK,IAA/B,EAAqCC,UAArC,EAAiDzM,IAAjD,CAAP;AACH;;AACD,SAASmb,MAAT,CAAgBjI,SAAhB,EAA2BkI,UAA3B,EAAuCC,UAAvC,EAAmD5O,UAAnD,EAA+DyJ,eAA/D,EAAgF;AAC5E,SAAO,IAAIuB,MAAJ,CAAWvE,SAAX,EAAsBkI,UAAtB,EAAkCC,UAAlC,EAA8C5O,UAA9C,EAA0DyJ,eAA1D,CAAP;AACH;;AACD,SAASoF,OAAT,CAAiB7Z,KAAjB,EAAwB+K,IAAxB,EAA8BC,UAA9B,EAA0C;AACtC,SAAO,IAAIgE,WAAJ,CAAgBhP,KAAhB,EAAuB+K,IAAvB,EAA6BC,UAA7B,CAAP;AACH;;AACD,SAAS8O,eAAT,CAAyBvK,SAAzB,EAAoCC,YAApC,EAAkDuK,gBAAlD,EAAoErK,WAApE,EAAiF1E,UAAjF,EAA6F;AACzF,SAAO,IAAIsE,eAAJ,CAAoBC,SAApB,EAA+BC,YAA/B,EAA6CuK,gBAA7C,EAA+DrK,WAA/D,EAA4E1E,UAA5E,CAAP;AACH;;AACD,SAASgP,MAAT,CAAgBC,GAAhB,EAAqB;AACjB,SAAOA,GAAG,YAAYjL,WAAf,IAA8BiL,GAAG,CAACja,KAAJ,KAAc,IAAnD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASka,WAAT,CAAqBpZ,GAArB,EAA0B;AACtB,MAAIqZ,GAAG,GAAG,EAAV;;AACA,MAAIrZ,GAAG,CAAC7D,OAAR,EAAiB;AACbkd,OAAG,gBAASrZ,GAAG,CAAC7D,OAAb,CAAH;AACH;;AACD,MAAI6D,GAAG,CAACqO,IAAR,EAAc;AACV,QAAIrO,GAAG,CAACqO,IAAJ,CAAS1O,KAAT,CAAe,WAAf,CAAJ,EAAiC;AAC7B,YAAM,IAAI3D,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACDqd,OAAG,IAAI,MAAMrZ,GAAG,CAACqO,IAAJ,CAAS0B,OAAT,CAAiB,IAAjB,EAAuB,KAAvB,CAAb;AACH;;AACD,SAAOsJ,GAAP;AACH;;AACD,SAAS5F,aAAT,CAAuBD,IAAvB,EAA6B;AACzB,MAAIA,IAAI,CAACjW,MAAL,KAAgB,CAApB,EACI,OAAO,EAAP;;AACJ,MAAIiW,IAAI,CAACjW,MAAL,KAAgB,CAAhB,IAAqBiW,IAAI,CAAC,CAAD,CAAJ,CAAQrX,OAA7B,IAAwC,CAACqX,IAAI,CAAC,CAAD,CAAJ,CAAQnF,IAArD,EAA2D;AACvD;AACA,sBAAW+K,WAAW,CAAC5F,IAAI,CAAC,CAAD,CAAL,CAAtB;AACH;;AACD,MAAI6F,GAAG,GAAG,KAAV;;AAPyB,qLAQP7F,IARO;AAAA;;AAAA;AAQzB,wDAAwB;AAAA,UAAbxT,GAAa;AACpBqZ,SAAG,IAAI,IAAP,CADoB,CAEpB;;AACAA,SAAG,IAAID,WAAW,CAACpZ,GAAD,CAAX,CAAiB+P,OAAjB,CAAyB,KAAzB,EAAgC,OAAhC,CAAP;AACAsJ,SAAG,IAAI,IAAP;AACH;AAbwB;AAAA;AAAA;AAAA;AAAA;;AAczBA,KAAG,IAAI,GAAP;AACA,SAAOA,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AACA,SAASC,mBAAT,CAA6BC,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACzJ,OAAN,CAAcuJ,gBAAd,EAAgC;AAAA,sCAAI7E,CAAJ;AAAIA,OAAJ;AAAA;;AAAA,WAAUA,CAAC,CAAC,CAAD,CAAD,CAAKgF,WAAL,EAAV;AAAA,GAAhC,CAAP;AACH;;AACD,SAASC,YAAT,CAAsBF,KAAtB,EAA6BG,aAA7B,EAA4C;AACxC,SAAOC,QAAQ,CAACJ,KAAD,EAAQ,GAAR,EAAaG,aAAb,CAAf;AACH;;AACD,SAASE,aAAT,CAAuBL,KAAvB,EAA8BG,aAA9B,EAA6C;AACzC,SAAOC,QAAQ,CAACJ,KAAD,EAAQ,GAAR,EAAaG,aAAb,CAAf;AACH;;AACD,SAASC,QAAT,CAAkBJ,KAAlB,EAAyBM,SAAzB,EAAoCH,aAApC,EAAmD;AAC/C,MAAMI,cAAc,GAAGP,KAAK,CAACzd,OAAN,CAAc+d,SAAd,CAAvB;AACA,MAAIC,cAAc,IAAI,CAAC,CAAvB,EACI,OAAOJ,aAAP;AACJ,SAAO,CAACH,KAAK,CAACvd,KAAN,CAAY,CAAZ,EAAe8d,cAAf,EAA+BC,IAA/B,EAAD,EAAwCR,KAAK,CAACvd,KAAN,CAAY8d,cAAc,GAAG,CAA7B,EAAgCC,IAAhC,EAAxC,CAAP;AACH;;AACD,SAASC,UAAT,CAAoB/a,KAApB,EAA2B2I,OAA3B,EAAoCC,OAApC,EAA6C;AACzC,MAAIoS,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAJ,EAA0B;AACtB,WAAO2I,OAAO,CAACuS,UAAR,CAAmBlb,KAAnB,EAA0B4I,OAA1B,CAAP;AACH;;AACD,MAAIuS,iBAAiB,CAACnb,KAAD,CAArB,EAA8B;AAC1B,WAAO2I,OAAO,CAACyS,cAAR,CAAuBpb,KAAvB,EAA8B4I,OAA9B,CAAP;AACH;;AACD,MAAI5I,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,IAAgB,QAAjC,IAA6C,OAAOA,KAAP,IAAgB,QAA7D,IACA,OAAOA,KAAP,IAAgB,SADpB,EAC+B;AAC3B,WAAO2I,OAAO,CAAC0S,cAAR,CAAuBrb,KAAvB,EAA8B4I,OAA9B,CAAP;AACH;;AACD,SAAOD,OAAO,CAAC2S,UAAR,CAAmBtb,KAAnB,EAA0B4I,OAA1B,CAAP;AACH;;AACD,SAAS2S,SAAT,CAAmBC,GAAnB,EAAwB;AACpB,SAAOA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKlX,SAA/B;AACH;;AACD,SAASmX,WAAT,CAAqBD,GAArB,EAA0B;AACtB,SAAOA,GAAG,KAAKlX,SAAR,GAAoB,IAApB,GAA2BkX,GAAlC;AACH;;IACKE,gB;;;;;;;WACF,oBAAWC,GAAX,EAAgB/S,OAAhB,EAAyB;AAAA;;AACrB,aAAO+S,GAAG,CAAC5Y,GAAJ,CAAQ,UAAA/C,KAAK;AAAA,eAAI+a,UAAU,CAAC/a,KAAD,EAAQ,OAAR,EAAc4I,OAAd,CAAd;AAAA,OAAb,CAAP;AACH;;;WACD,wBAAe7F,GAAf,EAAoB6F,OAApB,EAA6B;AAAA;;AACzB,UAAM/I,MAAM,GAAG,EAAf;AACA8E,YAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBzE,OAAjB,CAAyB,UAAA4U,GAAG,EAAI;AAC5BrT,cAAM,CAACqT,GAAD,CAAN,GAAc6H,UAAU,CAAChY,GAAG,CAACmQ,GAAD,CAAJ,EAAW,OAAX,EAAiBtK,OAAjB,CAAxB;AACH,OAFD;AAGA,aAAO/I,MAAP;AACH;;;WACD,wBAAeG,KAAf,EAAsB4I,OAAtB,EAA+B;AAC3B,aAAO5I,KAAP;AACH;;;WACD,oBAAWA,KAAX,EAAkB4I,OAAlB,EAA2B;AACvB,aAAO5I,KAAP;AACH;;;;;;AAEL,IAAM4b,SAAS,GAAG;AACdC,YAAU,EAAE,oBAAC7b,KAAD,EAAW;AACnB,QAAI8b,SAAS,CAAC9b,KAAD,CAAb,EAAsB;AAClB,YAAM,IAAIlD,KAAJ,4CAAN;AACH;;AACD,WAAOkD,KAAP;AACH,GANa;AAOd+b,MAAI,EAAE,cAAC/b,KAAD,EAAQgc,EAAR,EAAe;AACjB,WAAOF,SAAS,CAAC9b,KAAD,CAAT,GAAmBA,KAAK,CAAC+b,IAAN,CAAWC,EAAX,CAAnB,GAAoCA,EAAE,CAAChc,KAAD,CAA7C;AACH,GATa;AAUdic,KAAG,EAAE,aAACC,eAAD,EAAqB;AACtB,WAAOA,eAAe,CAACC,IAAhB,CAAqBL,SAArB,IAAkCM,OAAO,CAACH,GAAR,CAAYC,eAAZ,CAAlC,GAAiEA,eAAxE;AACH;AAZa,CAAlB;;AAcA,SAAS3F,KAAT,CAAe8F,GAAf,EAAoB;AAChB,QAAM,IAAIvf,KAAJ,2BAA6Buf,GAA7B,EAAN;AACH;;AACD,SAASC,WAAT,CAAqBD,GAArB,EAA0BE,WAA1B,EAAuC;AACnC,MAAMhG,KAAK,GAAGzZ,KAAK,CAACuf,GAAD,CAAnB;AACA9F,OAAK,CAACiG,kBAAD,CAAL,GAA4B,IAA5B;AACA,MAAID,WAAJ,EACIhG,KAAK,CAACkG,kBAAD,CAAL,GAA4BF,WAA5B;AACJ,SAAOhG,KAAP;AACH;;AACD,IAAMiG,kBAAkB,GAAG,eAA3B;AACA,IAAMC,kBAAkB,GAAG,eAA3B;;AACA,SAASC,aAAT,CAAuBnG,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,CAACiG,kBAAD,CAAZ;AACH;;AACD,SAASG,cAAT,CAAwBpG,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAACkG,kBAAD,CAAL,IAA6B,EAApC;AACH,C,CACD;;;AACA,SAASG,YAAT,CAAsBC,CAAtB,EAAyB;AACrB,SAAOA,CAAC,CAAChM,OAAF,CAAU,4BAAV,EAAwC,MAAxC,CAAP;AACH;;AACD,IAAMiM,gBAAgB,GAAGnY,MAAM,CAACoY,cAAP,CAAsB,EAAtB,CAAzB;;AACA,SAAS5B,iBAAT,CAA2B1T,GAA3B,EAAgC;AAC5B,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2C9C,MAAM,CAACoY,cAAP,CAAsBtV,GAAtB,MAA+BqV,gBAAjF;AACH;;AACD,SAASE,UAAT,CAAoBpM,GAApB,EAAyB;AACrB,MAAIqM,OAAO,GAAG,EAAd;;AACA,OAAK,IAAI/R,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG0F,GAAG,CAACvS,MAAhC,EAAwC6M,KAAK,EAA7C,EAAiD;AAC7C,QAAIgS,SAAS,GAAGtM,GAAG,CAACuM,UAAJ,CAAejS,KAAf,CAAhB,CAD6C,CAE7C;AACA;;AACA,QAAIgS,SAAS,IAAI,MAAb,IAAuBA,SAAS,IAAI,MAApC,IAA8CtM,GAAG,CAACvS,MAAJ,GAAc6M,KAAK,GAAG,CAAxE,EAA4E;AACxE,UAAMkS,GAAG,GAAGxM,GAAG,CAACuM,UAAJ,CAAejS,KAAK,GAAG,CAAvB,CAAZ;;AACA,UAAIkS,GAAG,IAAI,MAAP,IAAiBA,GAAG,IAAI,MAA5B,EAAoC;AAChClS,aAAK;AACLgS,iBAAS,GAAG,CAAEA,SAAS,GAAG,MAAb,IAAwB,EAAzB,IAA+BE,GAA/B,GAAqC,MAArC,GAA8C,OAA1D;AACH;AACJ;;AACD,QAAIF,SAAS,IAAI,IAAjB,EAAuB;AACnBD,aAAO,CAACnd,IAAR,CAAaod,SAAb;AACH,KAFD,MAGK,IAAIA,SAAS,IAAI,KAAjB,EAAwB;AACzBD,aAAO,CAACnd,IAAR,CAAeod,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAAzC,EAAgDA,SAAS,GAAG,IAAb,GAAqB,IAApE;AACH,KAFI,MAGA,IAAIA,SAAS,IAAI,MAAjB,EAAyB;AAC1BD,aAAO,CAACnd,IAAR,CAAcod,SAAS,IAAI,EAAd,GAAoB,IAAjC,EAAyCA,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAAnE,EAA0EA,SAAS,GAAG,IAAb,GAAqB,IAA9F;AACH,KAFI,MAGA,IAAIA,SAAS,IAAI,QAAjB,EAA2B;AAC5BD,aAAO,CAACnd,IAAR,CAAeod,SAAS,IAAI,EAAd,GAAoB,IAArB,GAA6B,IAA1C,EAAkDA,SAAS,IAAI,EAAd,GAAoB,IAArB,GAA6B,IAA7E,EAAqFA,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAA/G,EAAsHA,SAAS,GAAG,IAAb,GAAqB,IAA1I;AACH;AACJ;;AACD,SAAOD,OAAP;AACH;;AACD,SAASI,SAAT,CAAmBpZ,KAAnB,EAA0B;AACtB,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,WAAOA,KAAP;AACH;;AACD,MAAI+W,KAAK,CAACC,OAAN,CAAchX,KAAd,CAAJ,EAA0B;AACtB,WAAO,MAAMA,KAAK,CAAClB,GAAN,CAAUsa,SAAV,EAAqB5d,IAArB,CAA0B,IAA1B,CAAN,GAAwC,GAA/C;AACH;;AACD,MAAIwE,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,KAAKA,KAAZ;AACH;;AACD,MAAIA,KAAK,CAACqZ,cAAV,EAA0B;AACtB,qBAAUrZ,KAAK,CAACqZ,cAAhB;AACH;;AACD,MAAIrZ,KAAK,CAAC1F,IAAV,EAAgB;AACZ,qBAAU0F,KAAK,CAAC1F,IAAhB;AACH;;AACD,MAAI,CAAC0F,KAAK,CAACsZ,QAAX,EAAqB;AACjB,WAAO,QAAP;AACH,GAlBqB,CAmBtB;AACA;;;AACA,MAAMtd,GAAG,GAAGgE,KAAK,CAACsZ,QAAN,EAAZ;;AACA,MAAItd,GAAG,IAAI,IAAX,EAAiB;AACb,WAAO,KAAKA,GAAZ;AACH;;AACD,MAAMud,YAAY,GAAGvd,GAAG,CAACpD,OAAJ,CAAY,IAAZ,CAArB;AACA,SAAO2gB,YAAY,KAAK,CAAC,CAAlB,GAAsBvd,GAAtB,GAA4BA,GAAG,CAACwd,SAAJ,CAAc,CAAd,EAAiBD,YAAjB,CAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2B3S,IAA3B,EAAiC;AAC7B,MAAI,OAAOA,IAAP,KAAgB,UAAhB,IAA8BA,IAAI,CAAC4S,cAAL,CAAoB,iBAApB,CAAlC,EAA0E;AACtE,WAAO5S,IAAI,EAAX;AACH,GAFD,MAGK;AACD,WAAOA,IAAP;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS+Q,SAAT,CAAmBrU,GAAnB,EAAwB;AACpB;AACA;AACA,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACsU,IAAX,KAAoB,UAApC;AACH;;IACK6B,O,GACF,iBAAYC,IAAZ,EAAkB;AAAA;;AACd,OAAKA,IAAL,GAAYA,IAAZ;AACA,MAAMC,MAAM,GAAGD,IAAI,CAACE,KAAL,CAAW,GAAX,CAAf;AACA,OAAKC,KAAL,GAAaF,MAAM,CAAC,CAAD,CAAnB;AACA,OAAKG,KAAL,GAAaH,MAAM,CAAC,CAAD,CAAnB;AACA,OAAKI,KAAL,GAAaJ,MAAM,CAAC/gB,KAAP,CAAa,CAAb,EAAgB0C,IAAhB,CAAqB,GAArB,CAAb;AACH,C;;AAEL,IAAM0e,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD;;AACA,IAAMC,MAAM,GAAG,OAAOC,IAAP,KAAgB,WAAhB,IAA+B,OAAOC,iBAAP,KAA6B,WAA5D,IACXD,IAAI,YAAYC,iBADL,IAC0BD,IADzC;;AAEA,IAAME,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD,C,CACA;AACA;;;AACA,IAAMC,OAAO,GAAGF,QAAQ,IAAIL,QAAZ,IAAwBE,MAAxC;;AACA,SAASM,QAAT,CAAkBC,IAAlB,EAAwB5e,KAAxB,EAA+B;AAC3B,MAAM6e,IAAI,GAAG,EAAb;;AACA,OAAK,IAAInf,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkf,IAApB,EAA0Blf,CAAC,EAA3B,EAA+B;AAC3Bmf,QAAI,CAAC/e,IAAL,CAAUE,KAAV;AACH;;AACD,SAAO6e,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBnD,GAAxB,EAA6BoD,WAA7B,EAA0C;AACtC,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,KAAK,GAAG,EAAd;;AAFsC,sLAGnBtD,GAHmB;AAAA;;AAAA;AAGtC,2DAAwB;AAAA,UAAbuD,IAAa;AACpB,OAACH,WAAW,CAACG,IAAD,CAAX,GAAoBF,MAApB,GAA6BC,KAA9B,EAAqCnf,IAArC,CAA0Cof,IAA1C;AACH;AALqC;AAAA;AAAA;AAAA;AAAA;;AAMtC,SAAO,CAACF,MAAD,EAASC,KAAT,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAME,eAAe,GAAG,IAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,iBAAiB,GAAGtG,QAAQ,CAAC,WAAD,CAAlC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMuG,WAAW,GAAG,EAApB;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,2CAA2C,GAAG,EAApD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,e;;;;;AACF,2BAAYC,QAAZ,EAAsB;AAAA;;AAAA;;AAClB,kCAAMA,QAAQ,CAACzU,IAAf;AACA,YAAKyU,QAAL,GAAgBA,QAAhB;AACA,YAAKC,QAAL,GAAgBD,QAAhB;AAHkB;AAIrB;;;;WACD,yBAAgB7W,OAAhB,EAAyBC,OAAzB,EAAkC;AAC9B,UAAIA,OAAO,KAAKyW,WAAhB,EAA6B;AACzB;AACA;AACA,eAAO,KAAKI,QAAL,CAAc7I,eAAd,CAA8BjO,OAA9B,EAAuCC,OAAvC,CAAP;AACH,OAJD,MAKK;AACD,eAAO,KAAK4W,QAAL,CAAc5I,eAAd,CAA8BjO,OAA9B,EAAuCC,OAAvC,CAAP;AACH;AACJ;;;WACD,sBAAayE,CAAb,EAAgB;AACZ,aAAOA,CAAC,YAAYkS,eAAb,IAAgC,KAAKC,QAAL,CAAc7U,YAAd,CAA2B0C,CAAC,CAACmS,QAA7B,CAAvC;AACH;;;WACD,sBAAa;AACT,aAAO,IAAP;AACH;;;WACD,eAAME,UAAN,EAAkB;AACd,WAAKF,QAAL,GAAgBE,UAAhB;AACA,WAAKC,MAAL,GAAc,IAAd;AACH;;;;EAzByB7U,U;AA2B9B;AACA;AACA;AACA;AACA;;;IACM8U,Y;AACF,0BAA8C;AAAA,QAAlCC,wBAAkC,uEAAP,KAAO;;AAAA;;AAC1C,SAAKA,wBAAL,GAAgCA,wBAAhC;AACA,SAAK1N,UAAL,GAAkB,EAAlB;AACA,SAAK2N,QAAL,GAAgB,IAAIxe,GAAJ,EAAhB;AACA,SAAKye,gBAAL,GAAwB,IAAIze,GAAJ,EAAxB;AACA,SAAK0e,mBAAL,GAA2B,IAAI1e,GAAJ,EAA3B;AACA,SAAK2e,oBAAL,GAA4B,IAAI3e,GAAJ,EAA5B;AACA,SAAK4e,oBAAL,GAA4B,IAAI5e,GAAJ,EAA5B;AACA,SAAK6e,eAAL,GAAuB,IAAI7e,GAAJ,EAAvB;AACA,SAAK8e,aAAL,GAAqB,CAArB;AACH;;;;WACD,yBAAgBvG,OAAhB,EAAyBwG,WAAzB,EAAsC;AAClC,UAAKxG,OAAO,YAAY7K,WAAnB,IAAkC,CAACsR,mBAAmB,CAACzG,OAAD,CAAvD,IACAA,OAAO,YAAY0F,eADvB,EACwC;AACpC;AACA;AACA,eAAO1F,OAAP;AACH;;AACD,UAAM3G,GAAG,GAAG,KAAKqN,KAAL,CAAW1G,OAAX,CAAZ;AACA,UAAI2G,KAAK,GAAG,KAAKV,QAAL,CAAcnd,GAAd,CAAkBuQ,GAAlB,CAAZ;AACA,UAAIuN,QAAQ,GAAG,KAAf;;AACA,UAAI,CAACD,KAAL,EAAY;AACRA,aAAK,GAAG,IAAIjB,eAAJ,CAAoB1F,OAApB,CAAR;AACA,aAAKiG,QAAL,CAAcld,GAAd,CAAkBsQ,GAAlB,EAAuBsN,KAAvB;AACAC,gBAAQ,GAAG,IAAX;AACH;;AACD,UAAK,CAACA,QAAD,IAAa,CAACD,KAAK,CAACb,MAArB,IAAiCc,QAAQ,IAAIJ,WAAjD,EAA+D;AAC3D;AACA,YAAM9hB,IAAI,GAAG,KAAKmiB,SAAL,EAAb;AACA,YAAIC,UAAJ;AACA,YAAIC,KAAJ;;AACA,YAAI,KAAKf,wBAAL,IAAiCS,mBAAmB,CAACzG,OAAD,CAAxD,EAAmE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA8G,oBAAU,GAAG7H,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmB,IAAIsP,YAAJ,CAAiB,EAAjB,EAAqB;AACrD,WACI;AACA,cAAI6C,eAAJ,CAAoB8E,OAApB,CAFJ,CADgC,CAAnB,CAAb;AAKA+G,eAAK,GAAG9H,QAAQ,CAACva,IAAD,CAAR,CAAesiB,MAAf,CAAsB,EAAtB,CAAR;AACH,SApBD,MAqBK;AACD;AACA;AACAF,oBAAU,GAAG7H,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmBiX,OAAnB,CAAb;AACA+G,eAAK,GAAG9H,QAAQ,CAACva,IAAD,CAAhB;AACH;;AACD,aAAK4T,UAAL,CAAgBrS,IAAhB,CAAqB6gB,UAAU,CAAC1S,UAAX,CAAsBxE,aAAtB,EAAqC,CAACyE,YAAY,CAACC,KAAd,CAArC,CAArB;AACAqS,aAAK,CAACA,KAAN,CAAYI,KAAZ;AACH;;AACD,aAAOJ,KAAP;AACH;;;WACD,uBAAczV,IAAd,EAAoB+V,IAApB,EAA0BC,GAA1B,EAAoD;AAAA,UAArBV,WAAqB,uEAAP,KAAO;AAChD,UAAMW,WAAW,GAAG,KAAKC,aAAL,CAAmBH,IAAnB,CAApB;AACA,UAAIN,KAAK,GAAGQ,WAAW,CAACre,GAAZ,CAAgBoI,IAAhB,CAAZ;AACA,UAAI0V,QAAQ,GAAG,KAAf;;AACA,UAAI,CAACD,KAAL,EAAY;AACR,YAAMU,QAAQ,GAAG,KAAKC,cAAL,CAAoBL,IAApB,CAAjB;AACAN,aAAK,GAAG,IAAIjB,eAAJ,CAAoBwB,GAAG,CAAChI,UAAJ,CAAehO,IAAf,EAAqB4N,IAArB,CAA0BuI,QAA1B,CAApB,CAAR;AACAF,mBAAW,CAACpe,GAAZ,CAAgBmI,IAAhB,EAAsByV,KAAtB;AACAC,gBAAQ,GAAG,IAAX;AACH;;AACD,UAAK,CAACA,QAAD,IAAa,CAACD,KAAK,CAACb,MAArB,IAAiCc,QAAQ,IAAIJ,WAAjD,EAA+D;AAC3D,YAAM9hB,IAAI,GAAG,KAAKmiB,SAAL,EAAb;AACA,aAAKvO,UAAL,CAAgBrS,IAAhB,CAAqBgZ,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmB4d,KAAK,CAAChB,QAAzB,EAAmCvR,UAAnC,CAA8CxE,aAA9C,EAA6D,CAACyE,YAAY,CAACC,KAAd,CAA7D,CAArB;AACAqS,aAAK,CAACA,KAAN,CAAY1H,QAAQ,CAACva,IAAD,CAApB;AACH;;AACD,aAAOiiB,KAAP;AACH;;;WACD,2BAAkB3G,OAAlB,EAA2B;AACvB;AACA,UAAIA,OAAO,YAAYhH,gBAAvB,EAAyC;AACrC,YAAMuO,eAAe,GAAGvH,OAAO,CAAC/G,OAAR,CAAgB/P,GAAhB,CAAoB,UAAAsK,CAAC;AAAA,iBAAIA,CAAC,CAACM,UAAF,KAAiBN,CAAjB,GAAqB+R,iBAAzB;AAAA,SAArB,CAAxB;AACA,YAAMlM,GAAG,GAAG,KAAKqN,KAAL,CAAWlH,UAAU,CAAC+H,eAAD,CAArB,CAAZ;AACA,eAAO,KAAKC,kBAAL,CAAwBnO,GAAxB,EAA6B2G,OAAO,CAAC/G,OAArC,EAA8C,UAAAA,OAAO;AAAA,iBAAIuG,UAAU,CAACvG,OAAD,CAAd;AAAA,SAArD,CAAP;AACH,OAJD,MAKK;AACD,YAAMwO,gBAAgB,GAAGhI,UAAU,CAACO,OAAO,CAAC/G,OAAR,CAAgB/P,GAAhB,CAAoB,UAAAsK,CAAC;AAAA,iBAAK;AAC1D6F,eAAG,EAAE7F,CAAC,CAAC6F,GADmD;AAE1DlT,iBAAK,EAAEqN,CAAC,CAACrN,KAAF,CAAQ2N,UAAR,KAAuBN,CAAC,CAACrN,KAAzB,GAAiCof,iBAFkB;AAG1DjM,kBAAM,EAAE9F,CAAC,CAAC8F;AAHgD,WAAL;AAAA,SAArB,CAAD,CAAnC;;AAKA,YAAMD,KAAG,GAAG,KAAKqN,KAAL,CAAWe,gBAAX,CAAZ;;AACA,eAAO,KAAKD,kBAAL,CAAwBnO,KAAxB,EAA6B2G,OAAO,CAAC/G,OAAR,CAAgB/P,GAAhB,CAAoB,UAAAsK,CAAC;AAAA,iBAAIA,CAAC,CAACrN,KAAN;AAAA,SAArB,CAA7B,EAAgE,UAAA8S,OAAO;AAAA,iBAAIwG,UAAU,CAACxG,OAAO,CAAC/P,GAAR,CAAY,UAAC/C,KAAD,EAAQkL,KAAR;AAAA,mBAAmB;AACxHgI,iBAAG,EAAE2G,OAAO,CAAC/G,OAAR,CAAgB5H,KAAhB,EAAuBgI,GAD4F;AAExHlT,mBAAK,EAALA,KAFwH;AAGxHmT,oBAAM,EAAE0G,OAAO,CAAC/G,OAAR,CAAgB5H,KAAhB,EAAuBiI;AAHyF,aAAnB;AAAA,WAAZ,CAAD,CAAd;AAAA,SAAvE,CAAP;AAKH;AACJ;;;WACD,4BAAmBD,GAAnB,EAAwB5L,MAAxB,EAAgCia,SAAhC,EAA2C;AAAA;;AACvC,UAAIC,cAAc,GAAG,KAAKzB,gBAAL,CAAsBpd,GAAtB,CAA0BuQ,GAA1B,CAArB;AACA,UAAMuO,uBAAuB,GAAGna,MAAM,CAACoa,MAAP,CAAe,UAAArU,CAAC;AAAA,eAAI,CAACA,CAAC,CAACM,UAAF,EAAL;AAAA,OAAhB,CAAhC;;AACA,UAAI,CAAC6T,cAAL,EAAqB;AACjB,YAAMG,iBAAiB,GAAGra,MAAM,CAACvE,GAAP,CAAW,UAACsK,CAAD,EAAInC,KAAJ;AAAA,iBAAcmC,CAAC,CAACM,UAAF,KAAiB,OAAI,CAACiU,eAAL,CAAqBvU,CAArB,EAAwB,IAAxB,CAAjB,GAAiDyL,QAAQ,YAAK5N,KAAL,EAAvE;AAAA,SAAX,CAA1B;AACA,YAAM2W,UAAU,GAAGF,iBAAiB,CAACD,MAAlB,CAAyBI,UAAzB,EAAqC/e,GAArC,CAAyC,UAAAsK,CAAC;AAAA,iBAAI,IAAI2E,OAAJ,CAAY3E,CAAC,CAAC9O,IAAd,EAAoBgL,YAApB,CAAJ;AAAA,SAA1C,CAAnB;AACA,YAAMwY,uBAAuB,GAAGnT,EAAE,CAACiT,UAAD,EAAa,CAAC,IAAI9M,eAAJ,CAAoBwM,SAAS,CAACI,iBAAD,CAA7B,CAAD,CAAb,EAAkElY,aAAlE,CAAlC;AACA,YAAMlL,IAAI,GAAG,KAAKmiB,SAAL,EAAb;AACA,aAAKvO,UAAL,CAAgBrS,IAAhB,CAAqBgZ,QAAQ,CAACva,IAAD,CAAR,CAAeqE,GAAf,CAAmBmf,uBAAnB,EAA4C9T,UAA5C,CAAuDxE,aAAvD,EAAsE,CACvFyE,YAAY,CAACC,KAD0E,CAAtE,CAArB;AAGAqT,sBAAc,GAAG1I,QAAQ,CAACva,IAAD,CAAzB;AACA,aAAKwhB,gBAAL,CAAsBnd,GAAtB,CAA0BsQ,GAA1B,EAA+BsO,cAA/B;AACH;;AACD,aAAO;AAAEA,sBAAc,EAAdA,cAAF;AAAkBC,+BAAuB,EAAvBA;AAAlB,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAWlkB,MAAX,EAAmB;AACf,uBAAUA,MAAV,SAAmB,KAAK6iB,aAAL,EAAnB;AACH;;;WACD,uBAAcU,IAAd,EAAoB;AAChB,cAAQA,IAAR;AACI,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKZ,oBAAZ;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKD,oBAAZ;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKD,mBAAZ;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,KAAKG,eAAZ;AARR;;AAUA5J,WAAK,mCAA4BuK,IAA5B,EAAL;AACA,aAAO,KAAKZ,oBAAZ;AACH;;;WACD,wBAAeY,IAAf,EAAqB;AACjB,cAAQA,IAAR;AACI,aAAK;AAAE;AAAP;AACI,iBAAO,MAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,MAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,MAAP;;AACJ,aAAK;AAAE;AAAP;AACI,iBAAO,OAAP;AARR;;AAUAvK,WAAK,mCAA4BuK,IAA5B,EAAL;AACA,aAAO,WAAP;AACH;;;WACD,qBAAY;AACR,aAAO,KAAKkB,UAAL,CAAgB7C,eAAhB,CAAP;AACH;;;WACD,eAAMO,UAAN,EAAkB;AACd,aAAOA,UAAU,CAAC9I,eAAX,CAA2B,IAAIqL,UAAJ,EAA3B,EAA6C5C,WAA7C,CAAP;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;;;IACM4C,U;AACF,wBAAc;AAAA;;AACV,SAAKnU,oBAAL,GAA4BoU,OAA5B;AACA,SAAKnU,iBAAL,GAAyBmU,OAAzB;AACA,SAAK5T,iBAAL,GAAyB4T,OAAzB;AACA,SAAK1T,kBAAL,GAA0B0T,OAA1B;AACA,SAAKvT,qBAAL,GAA6BuT,OAA7B;AACA,SAAKrT,uBAAL,GAA+BqT,OAA/B;AACA,SAAKnT,oBAAL,GAA4BmT,OAA5B;AACA,SAAKxQ,oBAAL,GAA4BwQ,OAA5B;AACA,SAAKtQ,YAAL,GAAoBsQ,OAApB;AACA,SAAKpQ,sBAAL,GAA8BoQ,OAA9B;AACA,SAAKnQ,aAAL,GAAqBmQ,OAArB;AACA,SAAK9P,iBAAL,GAAyB8P,OAAzB;AACA,SAAK1P,sBAAL,GAA8B0P,OAA9B;AACA,SAAKxP,uBAAL,GAA+BwP,OAA/B;AACA,SAAKvP,iBAAL,GAAyBuP,OAAzB;AACA,SAAKtP,gBAAL,GAAwBsP,OAAxB;AACA,SAAK1O,cAAL,GAAsB0O,OAAtB;AACA,SAAKvS,oBAAL,GAA4BuS,OAA5B;AACH;;;;WACD,0BAAiBxL,GAAjB,EAAsB;AAClB,uBAAU,OAAOA,GAAG,CAAC1W,KAAX,KAAqB,QAArB,GAAgC,MAAM0W,GAAG,CAAC1W,KAAV,GAAkB,GAAlD,GAAwD0W,GAAG,CAAC1W,KAAtE;AACH;;;WACD,+BAAsB0W,GAAtB,EAA2B9N,OAA3B,EAAoC;AAAA;;AAChC,wBAAW8N,GAAG,CAAC5D,OAAJ,CAAY/P,GAAZ,CAAgB,UAAAgU,KAAK;AAAA,eAAIA,KAAK,CAACH,eAAN,CAAsB,OAAtB,EAA4BhO,OAA5B,CAAJ;AAAA,OAArB,EAA+DnJ,IAA/D,CAAoE,GAApE,CAAX;AACH;;;WACD,6BAAoBiX,GAApB,EAAyB9N,OAAzB,EAAkC;AAAA;;AAC9B,UAAMuZ,MAAM,GAAG,SAATA,MAAS,CAACpL,KAAD,EAAW;AACtB,YAAMqL,KAAK,GAAGrL,KAAK,CAAC5D,MAAN,GAAe,GAAf,GAAqB,EAAnC;AACA,yBAAUiP,KAAV,SAAkBrL,KAAK,CAAC7D,GAAxB,SAA8BkP,KAA9B;AACH,OAHD;;AAIA,UAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACtL,KAAD;AAAA,yBAAcoL,MAAM,CAACpL,KAAD,CAApB,cAA+BA,KAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkChO,OAAlC,CAA/B;AAAA,OAAjB;;AACA,wBAAW8N,GAAG,CAAC5D,OAAJ,CAAY/P,GAAZ,CAAgBsf,QAAhB,EAA0B5iB,IAA1B,CAA+B,GAA/B,CAAX;AACH;;;WACD,2BAAkBiX,GAAlB,EAAuB;AACnB,aAAOA,GAAG,CAAC1W,KAAJ,CAAUqR,UAAV,gBAA6BqF,GAAG,CAAC1W,KAAJ,CAAUqR,UAAvC,cAAqDqF,GAAG,CAAC1W,KAAJ,CAAUzB,IAA/D,iBACGmY,GAAG,CAAC1W,KAAJ,CAAUsR,OAAV,CAAkB/S,IADrB,CAAP;AAEH;;;WACD,0BAAiBsP,IAAjB,EAAuB;AACnB,2BAAcA,IAAI,CAACtP,IAAnB;AACH;;;WACD,yBAAgBsP,IAAhB,EAAsBjF,OAAtB,EAA+B;AAC3B,8BAAiBiF,IAAI,CAACJ,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgChO,OAAhC,CAAjB;AACH;;;;;;AAEL,SAASsZ,OAAT,CAAiBI,GAAjB,EAAsB;AAClB,QAAM,IAAIxlB,KAAJ,kCAAoC,KAAK0b,WAAL,CAAiBja,IAArD,6BAA4E+jB,GAAG,CAAC9J,WAAJ,CAAgBja,IAA5F,EAAN;AACH;;AACD,SAASujB,UAAT,CAAoBzU,CAApB,EAAuB;AACnB,SAAOA,CAAC,YAAYF,WAApB;AACH;;AACD,SAASmT,mBAAT,CAA6B7S,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,YAAYuB,WAAhB,IAA+B,OAAOvB,IAAI,CAACzN,KAAZ,KAAsB,QAArD,IACHyN,IAAI,CAACzN,KAAL,CAAW3B,MAAX,IAAqBihB,2CADzB;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMiD,IAAI,GAAG,eAAb;;IACMC,W;;;;AAENA,WAAW,CAACC,4BAAZ,GAA2C;AACvClkB,MAAI,EAAE,8BADiC;AAEvC8S,YAAU,EAAEkR;AAF2B,CAA3C;AAIAC,WAAW,CAACE,UAAZ,GAAyB;AAAEnkB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEkR;AAAlC,CAAzB;AACAC,WAAW,CAACG,WAAZ,GAA0B;AAAEpkB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEkR;AAAnC,CAA1B;AACAC,WAAW,CAACI,gBAAZ,GAA+B;AAAErkB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEkR;AAAxC,CAA/B;AACAC,WAAW,CAACK,iBAAZ,GAAgC;AAC5BtkB,MAAI,EAAE,mBADsB;AAE5B8S,YAAU,EAAEkR;AAFgB,CAAhC;AAIAC,WAAW,CAACM,SAAZ,GAAwB;AAAEvkB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEkR;AAAjC,CAAxB;AACAC,WAAW,CAACO,WAAZ,GAA0B;AAAExkB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEkR;AAAnC,CAA1B;AACAC,WAAW,CAACQ,SAAZ,GAAwB;AAAEzkB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEkR;AAAjC,CAAxB;AACAC,WAAW,CAACS,+BAAZ,GAA8C;AAC1C1kB,MAAI,EAAE,kCADoC;AAE1C8S,YAAU,EAAEkR;AAF8B,CAA9C;AAIAC,WAAW,CAACU,wBAAZ,GAAuC;AACnC3kB,MAAI,EAAE,0BAD6B;AAEnC8S,YAAU,EAAEkR;AAFuB,CAAvC;AAIAC,WAAW,CAACW,gBAAZ,GAA+B;AAAE5kB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEkR;AAAxC,CAA/B;AACAC,WAAW,CAACY,YAAZ,GAA2B;AAAE7kB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEkR;AAApC,CAA3B;AACAC,WAAW,CAACa,eAAZ,GAA8B;AAAE9kB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEkR;AAAvC,CAA9B;AACAC,WAAW,CAACc,mBAAZ,GAAkC;AAC9B/kB,MAAI,EAAE,MADwB;AAE9B8S,YAAU,EAAEkR;AAFkB,CAAlC;AAIAC,WAAW,CAACe,SAAZ,GAAwB;AACpBhlB,MAAI,EAAE,MADc;AAEpB8S,YAAU,EAAEkR;AAFQ,CAAxB;AAIAC,WAAW,CAACgB,iBAAZ,GAAgC;AAC5BjlB,MAAI,EAAE,MADsB;AAE5B8S,YAAU,EAAEkR;AAFgB,CAAhC;AAIAC,WAAW,CAACiB,uBAAZ,GAAsC;AAClCllB,MAAI,EAAE,wBAD4B;AAElC8S,YAAU,EAAEkR;AAFsB,CAAtC;AAIAC,WAAW,CAACkB,MAAZ,GAAqB;AAAEnlB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEkR;AAAhC,CAArB;AACAC,WAAW,CAACmB,eAAZ,GAA8B;AAAEplB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEkR;AAAzC,CAA9B;AACAC,WAAW,CAACoB,QAAZ,GAAuB;AAAErlB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEkR;AAAhC,CAAvB;AACAC,WAAW,CAACqB,QAAZ,GAAuB;AAAEtlB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEkR;AAAhC,CAAvB;AACAC,WAAW,CAACsB,kBAAZ,GAAiC;AAAEvlB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEkR;AAA1C,CAAjC;AACAC,WAAW,CAACuB,aAAZ,GAA4B;AAAExlB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEkR;AAAvC,CAA5B;AACAC,WAAW,CAACnd,iBAAZ,GAAgC;AAC5B9G,MAAI,EAAE,mBADsB;AAE5B8S,YAAU,EAAEkR;AAFgB,CAAhC;AAIAC,WAAW,CAACld,uBAAZ,GAAsC;AAClC/G,MAAI,EAAE,yBAD4B;AAElC8S,YAAU,EAAEkR;AAFsB,CAAtC;AAIAC,WAAW,CAACtb,eAAZ,GAA8B;AAC1B3I,MAAI,EAAE,iBADoB;AAE1B8S,YAAU,EAAEkR;AAFc,CAA9B;AAIAC,WAAW,CAACwB,SAAZ,GAAwB;AAAEzlB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEkR;AAAjC,CAAxB;AACAC,WAAW,CAACyB,mBAAZ,GAAkC;AAC9B1lB,MAAI,EAAE,qBADwB;AAE9B8S,YAAU,EAAEkR;AAFkB,CAAlC;AAIAC,WAAW,CAAC0B,iBAAZ,GAAgC;AAC5B3lB,MAAI,EAAE,oBADsB;AAE5B8S,YAAU,EAAEkR;AAFgB,CAAhC;AAIAC,WAAW,CAAC2B,WAAZ,GAA0B;AAAE5lB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEkR;AAApC,CAA1B;AACAC,WAAW,CAAC4B,WAAZ,GAA0B;AAAE7lB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEkR;AAApC,CAA1B;AACAC,WAAW,CAAC6B,SAAZ,GAAwB;AAAE9lB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEkR;AAAlC,CAAxB;AACAC,WAAW,CAAC8B,QAAZ,GAAuB;AAAE/lB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEkR;AAAhC,CAAvB;AACAC,WAAW,CAAC+B,OAAZ,GAAsB;AAAEhmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAtB;AACAC,WAAW,CAACgC,UAAZ,GAAyB;AAAEjmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAzB;AACAC,WAAW,CAACiC,SAAZ,GAAwB;AAAElmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAxB;AACAC,WAAW,CAACkC,OAAZ,GAAsB;AAAEnmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAtB;AACAC,WAAW,CAACmC,YAAZ,GAA2B;AAAEpmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA3B;AACAC,WAAW,CAACoC,WAAZ,GAA0B;AAAErmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA1B;AACAC,WAAW,CAACqC,QAAZ,GAAuB;AAAEtmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAvB;AACAC,WAAW,CAACsC,YAAZ,GAA2B;AAAEvmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA3B;AACAC,WAAW,CAACuC,aAAZ,GAA4B;AAAExmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA5B;AACAC,WAAW,CAACwC,WAAZ,GAA0B;AAAEzmB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA1B;AACAC,WAAW,CAACyC,OAAZ,GAAsB;AAAE1mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAtB;AACAC,WAAW,CAAC0C,SAAZ,GAAwB;AAAE3mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAxB;AACAC,WAAW,CAAC2C,YAAZ,GAA2B;AAAE5mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA3B;AACAC,WAAW,CAAC4C,WAAZ,GAA0B;AAAE7mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAA1B;AACAC,WAAW,CAAC6C,mBAAZ,GAAkC;AAAE9mB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAAlC,C,CACA;;AACAC,WAAW,CAAC8C,aAAZ,GAA4B;AACxB/mB,MAAI,EAAE,eADkB;AAExB8S,YAAU,EAAEkR;AAFY,CAA5B,C,CAIA;;AACAC,WAAW,CAAC+C,cAAZ,GAA6B;AACzBhnB,MAAI,EAAE,iBADmB;AAEzB8S,YAAU,EAAEkR;AAFa,CAA7B;AAIAC,WAAW,CAACgD,sBAAZ,GAAqC;AAAEjnB,MAAI,EAAE,MAAR;AAAgB8S,YAAU,EAAEkR;AAA5B,CAArC;AACAC,WAAW,CAACiD,gBAAZ,GAA+B;AAAElnB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEkR;AAAzC,CAA/B;;AACA,SAASmD,uBAAT,CAAiCC,SAAjC,EAA4C;AACxC,SAAO;AAAEC,cAAU,EAAE;AAAED,eAAS,EAAEA;AAAb;AAAd,GAAP;AACH;;AACD,SAASE,+BAAT,CAAyCC,SAAzC,EAAoDH,SAApD,EAA+D;AAC3D,SAAOD,uBAAuB,CAACI,SAAS,CAACC,wBAAV,CAAmCJ,SAAnC,CAAD,CAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMK,Y;AACF,wBAAYC,QAAZ,EAAsB1nB,IAAtB,EAA4B2nB,OAA5B,EAAqC;AAAA;;AACjC,SAAKD,QAAL,GAAgBA,QAAhB;AACA,SAAK1nB,IAAL,GAAYA,IAAZ;AACA,SAAK2nB,OAAL,GAAeA,OAAf;AACH;;;;WACD,2BAAkB;AACd,UAAI,KAAKA,OAAL,CAAa7nB,MAAjB,EAAyB;AACrB,cAAM,IAAIvB,KAAJ,mEAAqEqpB,IAAI,CAAC9I,SAAL,CAAe,IAAf,CAArE,OAAN;AACH;AACJ;;;;;AAEL;AACA;AACA;AACA;;;IACM+I,iB;AACF,+BAAc;AAAA;;AACV,SAAKC,KAAL,GAAa,IAAI/kB,GAAJ,EAAb;AACH;;;;WACD,aAAIglB,eAAJ,EAAqB/nB,IAArB,EAA2B2nB,OAA3B,EAAoC;AAChCA,aAAO,GAAGA,OAAO,IAAI,EAArB;AACA,UAAMK,YAAY,GAAGL,OAAO,CAAC7nB,MAAR,cAAqB6nB,OAAO,CAACzmB,IAAR,CAAa,GAAb,CAArB,IAA2C,EAAhE;AACA,UAAMyT,GAAG,eAAOoT,eAAP,gBAA2B/nB,IAA3B,SAAkCgoB,YAAlC,CAAT;AACA,UAAI1mB,MAAM,GAAG,KAAKwmB,KAAL,CAAW1jB,GAAX,CAAeuQ,GAAf,CAAb;;AACA,UAAI,CAACrT,MAAL,EAAa;AACTA,cAAM,GAAG,IAAImmB,YAAJ,CAAiBM,eAAjB,EAAkC/nB,IAAlC,EAAwC2nB,OAAxC,CAAT;AACA,aAAKG,KAAL,CAAWzjB,GAAX,CAAesQ,GAAf,EAAoBrT,MAApB;AACH;;AACD,aAAOA,MAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM2mB,YAAY,GAAG,oDAArB;;AACA,SAASC,kBAAT,CAA4BloB,IAA5B,EAAkC;AAC9B,SAAOA,IAAI,CAACsS,OAAL,CAAa,KAAb,EAAoB,GAApB,CAAP;AACH;;AACD,IAAI6V,mBAAmB,GAAG,CAA1B;;AACA,SAASC,cAAT,CAAwBC,iBAAxB,EAA2C;AACvC,MAAI,CAACA,iBAAD,IAAsB,CAACA,iBAAiB,CAACjB,SAA7C,EAAwD;AACpD,WAAO,IAAP;AACH;;AACD,MAAMkB,GAAG,GAAGD,iBAAiB,CAACjB,SAA9B;;AACA,MAAIkB,GAAG,YAAYb,YAAnB,EAAiC;AAC7B,WAAOa,GAAG,CAACtoB,IAAX;AACH;;AACD,MAAIsoB,GAAG,CAAC,iBAAD,CAAP,EAA4B;AACxB,WAAOA,GAAG,CAAC,iBAAD,CAAV;AACH;;AACD,MAAIjB,UAAU,GAAGvI,SAAS,CAACwJ,GAAD,CAA1B;;AACA,MAAIjB,UAAU,CAAC/oB,OAAX,CAAmB,GAAnB,KAA2B,CAA/B,EAAkC;AAC9B;AACA+oB,cAAU,uBAAgBc,mBAAmB,EAAnC,CAAV;AACAG,OAAG,CAAC,iBAAD,CAAH,GAAyBjB,UAAzB;AACH,GAJD,MAKK;AACDA,cAAU,GAAGa,kBAAkB,CAACb,UAAD,CAA/B;AACH;;AACD,SAAOA,UAAP;AACH;;AACD,SAASkB,mBAAT,CAA6BF,iBAA7B,EAAgD;AAC5C,MAAMC,GAAG,GAAGD,iBAAiB,CAACjB,SAA9B;;AACA,MAAIkB,GAAG,YAAYb,YAAnB,EAAiC;AAC7B,WAAOa,GAAG,CAACZ,QAAX;AACH,GAJ2C,CAK5C;;;AACA,qBAAY5I,SAAS,CAACwJ,GAAD,CAArB;AACH;;AACD,SAASE,aAAT,CAAuBC,QAAvB,EAAiCC,qBAAjC,EAAwD;AACpD,wBAAeN,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAA7B,cAA0DC,qBAA1D;AACH;;AACD,SAASC,gBAAT,CAA0BF,QAA1B,EAAoC;AAChC,8BAAqBL,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAAnC;AACH;;AACD,SAASG,iBAAT,CAA2BH,QAA3B,EAAqC;AACjC,4BAAmBL,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAAjC;AACH;;AACD,SAASI,oBAAT,CAA8BJ,QAA9B,EAAwC;AACpC,mBAAUL,cAAc,CAAC;AAAEhB,aAAS,EAAEqB;AAAb,GAAD,CAAxB;AACH;;AACD,IAAIK,kBAAJ;;AACA,CAAC,UAAUA,kBAAV,EAA8B;AAC3BA,oBAAkB,CAACA,kBAAkB,CAAC,MAAD,CAAlB,GAA6B,CAA9B,CAAlB,GAAqD,MAArD;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,CAAnC,CAAlB,GAA0D,WAA1D;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,UAAD,CAAlB,GAAiC,CAAlC,CAAlB,GAAyD,UAAzD;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,CAApC,CAAlB,GAA2D,YAA3D;AACH,CALD,EAKGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CALrB;;AAMA,SAASC,SAAT,CAAmBrjB,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CAACjE,KAAN,IAAe,IAAf,GAAsBymB,kBAAkB,CAACxiB,KAAK,CAACjE,KAAP,CAAxC,GAAwD2mB,cAAc,CAAC1iB,KAAK,CAAC2hB,UAAP,CAA7E;AACH;;AACD,SAAS2B,cAAT,CAAwBtjB,KAAxB,EAA+B;AAC3B,MAAIA,KAAK,CAAC2hB,UAAN,IAAoB,IAAxB,EAA8B;AAC1B,WAAO3hB,KAAK,CAAC2hB,UAAN,CAAiBD,SAAxB;AACH,GAFD,MAGK;AACD,WAAO1hB,KAAK,CAACjE,KAAb;AACH;AACJ;AACD;AACA;AACA;;;IACMwnB,yB,GACF,qCAAmD;AAAA,kFAAJ,EAAI;AAAA,MAArCC,SAAqC,SAArCA,SAAqC;AAAA,MAA1BC,MAA0B,SAA1BA,MAA0B;AAAA,MAAlBC,SAAkB,SAAlBA,SAAkB;;AAAA;;AAC/C,OAAKF,SAAL,GAAiBA,SAAS,IAAI,IAA9B;AACA,OAAKC,MAAL,GAAcE,eAAe,CAACF,MAAD,CAA7B;AACA,OAAKC,SAAL,GAAiBC,eAAe,CAACD,SAAD,CAAhC;AACH,C;AAEL;AACA;AACA;;;IACME,uB;AACF,0CAAqL;AAAA,QAAvKC,aAAuK,SAAvKA,aAAuK;AAAA,QAAxJC,QAAwJ,SAAxJA,QAAwJ;AAAA,QAA9IC,WAA8I,SAA9IA,WAA8I;AAAA,QAAjIC,OAAiI,SAAjIA,OAAiI;AAAA,QAAxHP,MAAwH,SAAxHA,MAAwH;AAAA,QAAhHC,SAAgH,SAAhHA,SAAgH;AAAA,QAArGO,mBAAqG,SAArGA,mBAAqG;AAAA,QAAhFC,UAAgF,SAAhFA,UAAgF;AAAA,QAApEC,kBAAoE,SAApEA,kBAAoE;AAAA,QAAhDC,aAAgD,SAAhDA,aAAgD;AAAA,QAAjCC,QAAiC,SAAjCA,QAAiC;AAAA,QAAvBC,mBAAuB,SAAvBA,mBAAuB;;AAAA;;AACjL,SAAKT,aAAL,GAAqBA,aAArB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKP,MAAL,GAAcE,eAAe,CAACF,MAAD,CAA7B;AACA,SAAKC,SAAL,GAAiBC,eAAe,CAACD,SAAD,CAAhC;AACA,SAAKO,mBAAL,GAA2BN,eAAe,CAACM,mBAAD,CAA1C;AACA,SAAKC,UAAL,GAAkBA,UAAU,GAAGK,OAAO,CAACL,UAAD,CAAV,GAAyB,EAArD;AACA,SAAKC,kBAAL,GAA0BA,kBAAkB,IAAI,EAAhD;;AACA,QAAIC,aAAa,IAAIA,aAAa,CAAChqB,MAAd,IAAwB,CAA7C,EAAgD;AAC5C,YAAM,IAAIvB,KAAJ,0DAAN;AACH;;AACD,SAAKurB,aAAL,GAAqBA,aAArB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,mBAAL,GAA2BA,mBAA3B;AACH;;;;WACD,qBAAY;AACR,aAAO;AACHH,0BAAkB,EAAE,KAAKA,kBADtB;AAEHN,qBAAa,EAAE,KAAKA,aAFjB;AAGHJ,cAAM,EAAE,KAAKA,MAHV;AAIHS,kBAAU,EAAE,KAAKA;AAJd,OAAP;AAMH;;;;;AAEL;AACA;AACA;;;IACMM,wB;AACF,2CAAsR;AAAA,QAAxQC,MAAwQ,SAAxQA,MAAwQ;AAAA,QAAhQ3d,IAAgQ,SAAhQA,IAAgQ;AAAA,QAA1P4d,WAA0P,SAA1PA,WAA0P;AAAA,QAA7OvoB,QAA6O,SAA7OA,QAA6O;AAAA,QAAnOwoB,QAAmO,SAAnOA,QAAmO;AAAA,QAAzNnjB,eAAyN,SAAzNA,eAAyN;AAAA,QAAxMojB,MAAwM,SAAxMA,MAAwM;AAAA,QAAhMC,OAAgM,SAAhMA,OAAgM;AAAA,QAAvLC,aAAuL,SAAvLA,aAAuL;AAAA,QAAxKC,cAAwK,SAAxKA,cAAwK;AAAA,QAAxJC,cAAwJ,SAAxJA,cAAwJ;AAAA,QAAxIC,SAAwI,SAAxIA,SAAwI;AAAA,QAA7HC,aAA6H,SAA7HA,aAA6H;AAAA,QAA9GC,OAA8G,SAA9GA,OAA8G;AAAA,QAArGC,MAAqG,SAArGA,MAAqG;AAAA,QAA7FC,WAA6F,SAA7FA,WAA6F;AAAA,QAAhFC,eAAgF,SAAhFA,eAAgF;AAAA,QAA/DxB,QAA+D,SAA/DA,QAA+D;AAAA,QAArDyB,iBAAqD,SAArDA,iBAAqD;AAAA,QAAlCC,YAAkC,SAAlCA,YAAkC;AAAA,QAApBC,gBAAoB,SAApBA,gBAAoB;;AAAA;;AAClR,SAAKhB,MAAL,GAAc,CAAC,CAACA,MAAhB;AACA,SAAK3d,IAAL,GAAYA,IAAZ;AACA,SAAK4d,WAAL,GAAmBA,WAAnB;AACA,SAAKvoB,QAAL,GAAgBA,QAAhB;AACA,SAAKwoB,QAAL,GAAgBA,QAAhB;AACA,SAAKnjB,eAAL,GAAuBA,eAAvB;AACA,SAAKojB,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,SAAL,GAAiBtB,eAAe,CAACsB,SAAD,CAAhC;AACA,SAAKC,aAAL,GAAqBvB,eAAe,CAACuB,aAAD,CAApC;AACA,SAAKC,OAAL,GAAexB,eAAe,CAACwB,OAAD,CAA9B;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,WAAL,GAAmB1B,eAAe,CAAC0B,WAAD,CAAlC;AACA,SAAKC,eAAL,GAAuB3B,eAAe,CAAC2B,eAAD,CAAtC;AACA,SAAKxB,QAAL,GAAgBA,QAAhB;AACA,SAAKyB,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACH;;;;WA8DD,qBAAY;AACR,aAAO;AACHC,mBAAW,EAAEtC,kBAAkB,CAACuC,SAD7B;AAEH7e,YAAI,EAAE,KAAKA,IAFR;AAGH4d,mBAAW,EAAE,KAAKA,WAHf;AAIHvoB,gBAAQ,EAAE,KAAKA,QAJZ;AAKHwoB,gBAAQ,EAAE,KAAKA,QALZ;AAMHC,cAAM,EAAE,KAAKA,MANV;AAOHC,eAAO,EAAE,KAAKA,OAPX;AAQHC,qBAAa,EAAE,KAAKA,aARjB;AASHC,sBAAc,EAAE,KAAKA,cATlB;AAUHC,sBAAc,EAAE,KAAKA,cAVlB;AAWHC,iBAAS,EAAE,KAAKA,SAXb;AAYHC,qBAAa,EAAE,KAAKA,aAZjB;AAaHC,eAAO,EAAE,KAAKA,OAbX;AAcHC,cAAM,EAAE,KAAKA,MAdV;AAeHC,mBAAW,EAAE,KAAKA,WAff;AAgBHC,uBAAe,EAAE,KAAKA,eAhBnB;AAiBH9jB,uBAAe,EAAE,KAAKA,eAjBnB;AAkBHsiB,gBAAQ,EAAE,KAAKA,QAAL,IAAiB,KAAKA,QAAL,CAAc8B,SAAd,EAlBxB;AAmBHL,yBAAiB,EAAE,KAAKA,iBAnBrB;AAoBHC,oBAAY,EAAE,KAAKA,YApBhB;AAqBHC,wBAAgB,EAAE,KAAKA;AArBpB,OAAP;AAuBH;;;WArFD,uBAA+O;AAAA,UAA/NhB,MAA+N,SAA/NA,MAA+N;AAAA,UAAvN3d,IAAuN,SAAvNA,IAAuN;AAAA,UAAjN4d,WAAiN,SAAjNA,WAAiN;AAAA,UAApMvoB,QAAoM,SAApMA,QAAoM;AAAA,UAA1LwoB,QAA0L,SAA1LA,QAA0L;AAAA,UAAhLnjB,eAAgL,SAAhLA,eAAgL;AAAA,UAA/JojB,MAA+J,SAA/JA,MAA+J;AAAA,UAAvJC,OAAuJ,SAAvJA,OAAuJ;AAAA,UAA9IgB,IAA8I,SAA9IA,IAA8I;AAAA,UAAxIZ,SAAwI,SAAxIA,SAAwI;AAAA,UAA7HC,aAA6H,SAA7HA,aAA6H;AAAA,UAA9GC,OAA8G,SAA9GA,OAA8G;AAAA,UAArGC,MAAqG,SAArGA,MAAqG;AAAA,UAA7FC,WAA6F,SAA7FA,WAA6F;AAAA,UAAhFC,eAAgF,SAAhFA,eAAgF;AAAA,UAA/DxB,QAA+D,SAA/DA,QAA+D;AAAA,UAArDyB,iBAAqD,SAArDA,iBAAqD;AAAA,UAAlCC,YAAkC,SAAlCA,YAAkC;AAAA,UAApBC,gBAAoB,SAApBA,gBAAoB;AAC3O,UAAMX,aAAa,GAAG,EAAtB;AACA,UAAMC,cAAc,GAAG,EAAvB;AACA,UAAMC,cAAc,GAAG,EAAvB;;AACA,UAAIa,IAAI,IAAI,IAAZ,EAAkB;AACdnlB,cAAM,CAAC+T,IAAP,CAAYoR,IAAZ,EAAkBxrB,OAAlB,CAA0B,UAAA4U,GAAG,EAAI;AAC7B,cAAMlT,KAAK,GAAG8pB,IAAI,CAAC5W,GAAD,CAAlB;AACA,cAAM6W,OAAO,GAAG7W,GAAG,CAACzS,KAAJ,CAAU+lB,YAAV,CAAhB;;AACA,cAAIuD,OAAO,KAAK,IAAhB,EAAsB;AAClBd,0BAAc,CAAC/V,GAAD,CAAd,GAAsBlT,KAAtB;AACH,WAFD,MAGK,IAAI+pB,OAAO,CAAC,CAAD,CAAP,IAAc,IAAlB,EAAwB;AACzBf,0BAAc,CAACe,OAAO,CAAC,CAAD,CAAR,CAAd,GAA6B/pB,KAA7B;AACH,WAFI,MAGA,IAAI+pB,OAAO,CAAC,CAAD,CAAP,IAAc,IAAlB,EAAwB;AACzBhB,yBAAa,CAACgB,OAAO,CAAC,CAAD,CAAR,CAAb,GAA4B/pB,KAA5B;AACH;AACJ,SAZD;AAaH;;AACD,UAAMgqB,SAAS,GAAG,EAAlB;;AACA,UAAInB,MAAM,IAAI,IAAd,EAAoB;AAChBA,cAAM,CAACvqB,OAAP,CAAe,UAAC2rB,UAAD,EAAgB;AAC3B;AACA;AACA,cAAM1W,KAAK,GAAGiH,YAAY,CAACyP,UAAD,EAAa,CAACA,UAAD,EAAaA,UAAb,CAAb,CAA1B;AACAD,mBAAS,CAACzW,KAAK,CAAC,CAAD,CAAN,CAAT,GAAsBA,KAAK,CAAC,CAAD,CAA3B;AACH,SALD;AAMH;;AACD,UAAM2W,UAAU,GAAG,EAAnB;;AACA,UAAIpB,OAAO,IAAI,IAAf,EAAqB;AACjBA,eAAO,CAACxqB,OAAR,CAAgB,UAAC2rB,UAAD,EAAgB;AAC5B;AACA;AACA,cAAM1W,KAAK,GAAGiH,YAAY,CAACyP,UAAD,EAAa,CAACA,UAAD,EAAaA,UAAb,CAAb,CAA1B;AACAC,oBAAU,CAAC3W,KAAK,CAAC,CAAD,CAAN,CAAV,GAAuBA,KAAK,CAAC,CAAD,CAA5B;AACH,SALD;AAMH;;AACD,aAAO,IAAIkV,wBAAJ,CAA6B;AAChCC,cAAM,EAANA,MADgC;AAEhC3d,YAAI,EAAJA,IAFgC;AAGhC4d,mBAAW,EAAE,CAAC,CAACA,WAHiB;AAIhCvoB,gBAAQ,EAARA,QAJgC;AAKhCwoB,gBAAQ,EAARA,QALgC;AAMhCnjB,uBAAe,EAAfA,eANgC;AAOhCojB,cAAM,EAAEmB,SAPwB;AAQhClB,eAAO,EAAEoB,UARuB;AAShCnB,qBAAa,EAAbA,aATgC;AAUhCC,sBAAc,EAAdA,cAVgC;AAWhCC,sBAAc,EAAdA,cAXgC;AAYhCC,iBAAS,EAATA,SAZgC;AAahCC,qBAAa,EAAbA,aAbgC;AAchCC,eAAO,EAAPA,OAdgC;AAehCC,cAAM,EAANA,MAfgC;AAgBhCC,mBAAW,EAAXA,WAhBgC;AAiBhCC,uBAAe,EAAfA,eAjBgC;AAkBhCxB,gBAAQ,EAARA,QAlBgC;AAmBhCyB,yBAAiB,EAAjBA,iBAnBgC;AAoBhCC,oBAAY,EAAZA,YApBgC;AAqBhCC,wBAAgB,EAAhBA;AArBgC,OAA7B,CAAP;AAuBH;;;;;;IA2BCS,mB;AACF,sCAAkC;AAAA,QAApBpf,IAAoB,SAApBA,IAAoB;AAAA,QAAdxM,IAAc,SAAdA,IAAc;AAAA,QAARsH,IAAQ,SAARA,IAAQ;;AAAA;;AAC9B,SAAKkF,IAAL,GAAYA,IAAZ;AACA,SAAKxM,IAAL,GAAYA,IAAZ;AACA,SAAKsH,IAAL,GAAY,CAAC,CAACA,IAAd;AACH;;;;WACD,qBAAY;AACR,aAAO;AACH8jB,mBAAW,EAAEtC,kBAAkB,CAAC+C,IAD7B;AAEHrf,YAAI,EAAE,KAAKA,IAFR;AAGHxM,YAAI,EAAE,KAAKA,IAHR;AAIHsH,YAAI,EAAE,KAAKA;AAJR,OAAP;AAMH;;;;;;IAECwkB,4B;;;AAEN;AACA;AACA;;;IACMC,uB;AACF,0CAA8M;AAAA,QAAhMvf,IAAgM,SAAhMA,IAAgM;AAAA,QAA1Lme,SAA0L,SAA1LA,SAA0L;AAAA,QAA/KqB,kBAA+K,SAA/KA,kBAA+K;AAAA,QAA3JC,kBAA2J,SAA3JA,kBAA2J;AAAA,QAAvIC,aAAuI,SAAvIA,aAAuI;AAAA,QAAxHC,aAAwH,SAAxHA,aAAwH;AAAA,QAAzGnB,eAAyG,SAAzGA,eAAyG;AAAA,QAAxFoB,mBAAwF,SAAxFA,mBAAwF;AAAA,QAAnEC,eAAmE,SAAnEA,eAAmE;AAAA,QAAlDC,eAAkD,SAAlDA,eAAkD;AAAA,QAAjCC,OAAiC,SAAjCA,OAAiC;AAAA,QAAxBC,gBAAwB,SAAxBA,gBAAwB;AAAA,QAAN/R,EAAM,SAANA,EAAM;;AAAA;;AAC1M,SAAKjO,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,SAAKwf,kBAAL,GAA0B3C,eAAe,CAAC2C,kBAAD,CAAzC;AACA,SAAKC,kBAAL,GAA0B5C,eAAe,CAAC4C,kBAAD,CAAzC;AACA,SAAKC,aAAL,GAAqB7C,eAAe,CAAC6C,aAAD,CAApC;AACA,SAAKC,aAAL,GAAqB9C,eAAe,CAAC8C,aAAD,CAApC;AACA,SAAKxB,SAAL,GAAiBtB,eAAe,CAACsB,SAAD,CAAhC;AACA,SAAKK,eAAL,GAAuB3B,eAAe,CAAC2B,eAAD,CAAtC;AACA,SAAKoB,mBAAL,GAA2B/C,eAAe,CAAC+C,mBAAD,CAA1C;AACA,SAAKC,eAAL,GAAuBhD,eAAe,CAACgD,eAAD,CAAtC;AACA,SAAKC,eAAL,GAAuBjD,eAAe,CAACiD,eAAD,CAAtC;AACA,SAAKC,OAAL,GAAelD,eAAe,CAACkD,OAAD,CAA9B;AACA,SAAK9R,EAAL,GAAUA,EAAE,IAAI,IAAhB;AACA,SAAK+R,gBAAL,GAAwBA,gBAAgB,IAAI,IAA5C;AACH;;;;WACD,qBAAY;AACR,UAAMC,MAAM,GAAG,KAAKD,gBAApB;AACA,aAAO;AACHpB,mBAAW,EAAEtC,kBAAkB,CAAC4D,QAD7B;AAEHlgB,YAAI,EAAE,KAAKA,IAFR;AAGHwe,uBAAe,EAAEyB,MAAM,CAACzB,eAHrB;AAIHL,iBAAS,EAAE8B,MAAM,CAAC9B,SAJf;AAKHgC,eAAO,EAAEF,MAAM,CAACE,OALb;AAMHV,0BAAkB,EAAEQ,MAAM,CAACR,kBANxB;AAOHE,qBAAa,EAAEM,MAAM,CAACN;AAPnB,OAAP;AASH;;;;;;IAECS,iC;AACF,+CAAc;AAAA;;AACV,SAAKC,aAAL,GAAqB,IAAIvT,GAAJ,EAArB;AACA,SAAKwT,UAAL,GAAkB,EAAlB;AACA,SAAKC,qBAAL,GAA6B,IAAIzT,GAAJ,EAA7B;AACA,SAAK2S,kBAAL,GAA0B,EAA1B;AACA,SAAKe,QAAL,GAAgB,IAAI1T,GAAJ,EAAhB;AACA,SAAK2T,KAAL,GAAa,EAAb;AACA,SAAKC,gBAAL,GAAwB,IAAI5T,GAAJ,EAAxB;AACA,SAAK6S,aAAL,GAAqB,EAArB;AACA,SAAKgB,UAAL,GAAkB,IAAI7T,GAAJ,EAAlB;AACA,SAAKqT,OAAL,GAAe,EAAf;AACA,SAAKS,kBAAL,GAA0B,IAAI9T,GAAJ,EAA1B;AACA,SAAK0R,eAAL,GAAuB,EAAvB;AACA,SAAKL,SAAL,GAAiB,EAAjB;AACH;;;;WACD,qBAAY0C,QAAZ,EAAsBZ,MAAtB,EAA8B;AAC1B,WAAK9B,SAAL,CAAeppB,IAAf,CAAoB;AAAE8rB,gBAAQ,EAAEA,QAAZ;AAAsBZ,cAAM,EAAEA;AAA9B,OAApB;AACH;;;WACD,sBAAahS,EAAb,EAAiB;AACb,UAAI,CAAC,KAAKoS,aAAL,CAAmBS,GAAnB,CAAuB7S,EAAE,CAAC2M,SAA1B,CAAL,EAA2C;AACvC,aAAKyF,aAAL,CAAmBtT,GAAnB,CAAuBkB,EAAE,CAAC2M,SAA1B;AACA,aAAK0F,UAAL,CAAgBvrB,IAAhB,CAAqBkZ,EAArB;AACH;AACJ;;;WACD,8BAAqBA,EAArB,EAAyB;AACrB,UAAI,CAAC,KAAKsS,qBAAL,CAA2BO,GAA3B,CAA+B7S,EAAE,CAAC2M,SAAlC,CAAL,EAAmD;AAC/C,aAAK2F,qBAAL,CAA2BxT,GAA3B,CAA+BkB,EAAE,CAAC2M,SAAlC;AACA,aAAK6E,kBAAL,CAAwB1qB,IAAxB,CAA6BkZ,EAA7B;AACH;AACJ;;;WACD,iBAAQA,EAAR,EAAY;AACR,UAAI,CAAC,KAAKuS,QAAL,CAAcM,GAAd,CAAkB7S,EAAE,CAAC2M,SAArB,CAAL,EAAsC;AAClC,aAAK4F,QAAL,CAAczT,GAAd,CAAkBkB,EAAE,CAAC2M,SAArB;AACA,aAAK6F,KAAL,CAAW1rB,IAAX,CAAgBkZ,EAAhB;AACH;AACJ;;;WACD,yBAAgBA,EAAhB,EAAoB;AAChB,UAAI,CAAC,KAAKyS,gBAAL,CAAsBI,GAAtB,CAA0B7S,EAAE,CAAC2M,SAA7B,CAAL,EAA8C;AAC1C,aAAK8F,gBAAL,CAAsB3T,GAAtB,CAA0BkB,EAAE,CAAC2M,SAA7B;AACA,aAAK+E,aAAL,CAAmB5qB,IAAnB,CAAwBkZ,EAAxB;AACH;AACJ;;;WACD,mBAAUA,EAAV,EAAc;AACV,UAAI,CAAC,KAAK0S,UAAL,CAAgBG,GAAhB,CAAoB7S,EAAE,CAAC2M,SAAvB,CAAL,EAAwC;AACpC,aAAK+F,UAAL,CAAgB5T,GAAhB,CAAoBkB,EAAE,CAAC2M,SAAvB;AACA,aAAKuF,OAAL,CAAaprB,IAAb,CAAkBkZ,EAAlB;AACH;AACJ;;;WACD,2BAAkB8S,EAAlB,EAAsB;AAClB,UAAI,CAAC,KAAKH,kBAAL,CAAwBE,GAAxB,CAA4BC,EAAE,CAACC,aAA/B,CAAL,EAAoD;AAChD,aAAKJ,kBAAL,CAAwB7T,GAAxB,CAA4BgU,EAAE,CAACC,aAA/B;AACA,aAAKxC,eAAL,CAAqBzpB,IAArB,CAA0BgsB,EAA1B;AACH;AACJ;;;;;;AAEL,SAASlE,eAAT,CAAyBngB,GAAzB,EAA8B;AAC1B,SAAOA,GAAG,IAAI,EAAd;AACH;;IACKukB,Y,GACF,sBAAY/nB,KAAZ,SAAiF;AAAA,MAA5DgoB,QAA4D,SAA5DA,QAA4D;AAAA,MAAlDC,QAAkD,SAAlDA,QAAkD;AAAA,MAAxCC,WAAwC,SAAxCA,WAAwC;AAAA,MAA3BC,UAA2B,SAA3BA,UAA2B;AAAA,MAAfC,IAAe,SAAfA,IAAe;AAAA,MAATC,KAAS,SAATA,KAAS;;AAAA;;AAC7E,OAAKroB,KAAL,GAAaA,KAAb;AACA,OAAKgoB,QAAL,GAAgBA,QAAQ,IAAI,IAA5B;AACA,OAAKC,QAAL,GAAgBA,QAAhB;AACA,OAAKC,WAAL,GAAmBA,WAAnB;AACA,OAAKC,UAAL,GAAkBA,UAAU,IAAI,IAAhC;AACA,OAAKG,YAAL,GAAoBF,IAAI,IAAI,IAA5B;AACA,OAAKC,KAAL,GAAa,CAAC,CAACA,KAAf;AACH,C;;AAEL,SAAS9D,OAAT,CAAiB3J,IAAjB,EAAuB;AACnB,SAAOA,IAAI,CAAC2N,MAAL,CAAY,UAACC,IAAD,EAAOvN,IAAP,EAAgB;AAC/B,QAAMwN,QAAQ,GAAG1R,KAAK,CAACC,OAAN,CAAciE,IAAd,IAAsBsJ,OAAO,CAACtJ,IAAD,CAA7B,GAAsCA,IAAvD;AACA,WAAOuN,IAAI,CAAC1sB,MAAL,CAAY2sB,QAAZ,CAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;AACD,SAASC,YAAT,CAAsBC,GAAtB,EAA2B;AACvB;AACA;AACA,SAAOA,GAAG,CAAC/b,OAAJ,CAAY,0BAAZ,EAAwC,QAAxC,CAAP;AACH;;AACD,SAASgc,iBAAT,CAA2BC,YAA3B,EAAyCC,QAAzC,EAAmDC,YAAnD,EAAiE;AAC7D,MAAIJ,GAAJ;;AACA,MAAII,YAAY,CAAC1E,QAAjB,EAA2B;AACvB,QAAIyE,QAAQ,CAAChiB,IAAT,CAAc4a,SAAd,YAAmCK,YAAvC,EAAqD;AACjD;AACA;AACA4G,SAAG,aAAMG,QAAQ,CAAChiB,IAAT,CAAc4a,SAAd,CAAwBM,QAA9B,cAA0C8G,QAAQ,CAAChiB,IAAT,CAAc4a,SAAd,CAAwBpnB,IAAlE,UAAH;AACH,KAJD,MAKK;AACDquB,SAAG,aAAMjG,cAAc,CAACmG,YAAD,CAApB,cAAsCnG,cAAc,CAACoG,QAAQ,CAAChiB,IAAV,CAApD,UAAH;AACH;AACJ,GATD,MAUK;AACD6hB,OAAG,GAAGI,YAAY,CAAChF,WAAnB;AACH;;AACD,SAAO+E,QAAQ,CAAChiB,IAAT,CAAc4a,SAAd,YAAmCK,YAAnC,GAAkD4G,GAAlD,GAAwDD,YAAY,CAACC,GAAD,CAA3E;AACH;;AACD,SAASK,sBAAT,CAAgCC,IAAhC,EAAsClU,EAAtC,EAA0C;AACtC,MAAMmU,SAAS,GAAGD,IAAI,CAACzF,SAAL,CAAe1J,KAAf,CAAqB,OAArB,CAAlB;AACA,MAAMqP,QAAQ,GAAGD,SAAS,CAACA,SAAS,CAAC9uB,MAAV,GAAmB,CAApB,CAA1B;AACA,SAAOsuB,YAAY,eAAQ3T,EAAR,SAAaoU,QAAb,iBAAnB;AACH;;AACD,SAASC,cAAT,CAAwBC,UAAxB,EAAoC;AAChC,SAAOX,YAAY,WAAIhG,cAAc,CAAC2G,UAAU,CAACviB,IAAZ,CAAlB,0BAAnB;AACH;;AACD,SAASwiB,cAAT,CAAwBT,YAAxB,EAAsCC,QAAtC,EAAgD;AAC5C,SAAOJ,YAAY,WAAIhG,cAAc,CAACmG,YAAD,CAAlB,cAAoCnG,cAAc,CAACoG,QAAQ,CAAChiB,IAAV,CAAlD,mBAAnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMyiB,MAAM,GAAG,eAAf;;IACMC,a;;;AAEN;;;AACAA,aAAa,CAACC,UAAd,GAA2B,SAA3B;AACAD,aAAa,CAACE,gBAAd,GAAiC,WAAjC;AACAF,aAAa,CAACG,UAAd,GAA2B,aAA3B;AACA;;AACAH,aAAa,CAACI,aAAd,GAA8B;AAAEtvB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACK,eAAd,GAAgC;AAAEvvB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAACM,YAAd,GAA6B;AAAExvB,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEmc;AAAtC,CAA7B;AACAC,aAAa,CAACtuB,OAAd,GAAwB;AAAEZ,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmc;AAAjC,CAAxB;AACAC,aAAa,CAACO,YAAd,GAA6B;AAAEzvB,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEmc;AAAtC,CAA7B;AACAC,aAAa,CAACQ,UAAd,GAA2B;AAAE1vB,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEmc;AAApC,CAA3B;AACAC,aAAa,CAACS,OAAd,GAAwB;AAAE3vB,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmc;AAAjC,CAAxB;AACAC,aAAa,CAACU,qBAAd,GAAsC;AAAE5vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACW,qBAAd,GAAsC;AAAE7vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACtsB,SAAd,GAA0B;AAAE5C,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACY,qBAAd,GAAsC;AAAE9vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACa,qBAAd,GAAsC;AAAE/vB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACc,qBAAd,GAAsC;AAAEhwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACe,qBAAd,GAAsC;AAAEjwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACgB,qBAAd,GAAsC;AAAElwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACiB,qBAAd,GAAsC;AAAEnwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACkB,qBAAd,GAAsC;AAAEpwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACmB,qBAAd,GAAsC;AAAErwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACoB,qBAAd,GAAsC;AAAEtwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACqB,SAAd,GAA0B;AAAEvwB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACsB,qBAAd,GAAsC;AAAExwB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACuB,mBAAd,GAAoC;AAAEzwB,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEmc;AAA7C,CAApC;AACAC,aAAa,CAACwB,gBAAd,GAAiC;AAAE1wB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACyB,QAAd,GAAyB;AAAE3wB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmc;AAAlC,CAAzB;AACAC,aAAa,CAAC0B,oBAAd,GAAqC;AAAE5wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC2B,oBAAd,GAAqC;AAAE7wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC4B,oBAAd,GAAqC;AAAE9wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC6B,oBAAd,GAAqC;AAAE/wB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC8B,oBAAd,GAAqC;AAAEhxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC+B,oBAAd,GAAqC;AAAEjxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACgC,oBAAd,GAAqC;AAAElxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACiC,oBAAd,GAAqC;AAAEnxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACkC,oBAAd,GAAqC;AAAEpxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACmC,QAAd,GAAyB;AAAErxB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmc;AAAlC,CAAzB;AACAC,aAAa,CAACoC,oBAAd,GAAqC;AAAEtxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACqC,oBAAd,GAAqC;AAAEvxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACsC,oBAAd,GAAqC;AAAExxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACuC,oBAAd,GAAqC;AAAEzxB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACwC,oBAAd,GAAqC;AAAE1xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACyC,oBAAd,GAAqC;AAAE3xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC0C,oBAAd,GAAqC;AAAE5xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC2C,oBAAd,GAAqC;AAAE7xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC4C,oBAAd,GAAqC;AAAE9xB,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC6C,SAAd,GAA0B;AAAE/xB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAAC8C,qBAAd,GAAsC;AAAEhyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAAC+C,qBAAd,GAAsC;AAAEjyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACgD,qBAAd,GAAsC;AAAElyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACiD,qBAAd,GAAsC;AAAEnyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACkD,qBAAd,GAAsC;AAAEpyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACmD,qBAAd,GAAsC;AAAEryB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACoD,qBAAd,GAAsC;AAAEtyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACqD,qBAAd,GAAsC;AAAEvyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACsD,qBAAd,GAAsC;AAAExyB,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAACuD,WAAd,GAA4B;AAAEzyB,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEmc;AAArC,CAA5B;AACAC,aAAa,CAACwD,cAAd,GAA+B;AAAE1yB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmc;AAAlC,CAA/B;AACAC,aAAa,CAACte,IAAd,GAAqB;AAAE5Q,MAAI,EAAE,QAAR;AAAkB8S,YAAU,EAAEmc;AAA9B,CAArB;AACAC,aAAa,CAACyD,cAAd,GAA+B;AAAE3yB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmc;AAAxC,CAA/B;AACAC,aAAa,CAAC0D,eAAd,GAAgC;AAAE5yB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAAC2D,cAAd,GAA+B;AAAE7yB,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmc;AAAxC,CAA/B;AACAC,aAAa,CAAC4D,eAAd,GAAgC;AAAE9yB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAAC6D,gBAAd,GAAiC;AAAE/yB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAAC8D,gBAAd,GAAiC;AAAEhzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAAC+D,gBAAd,GAAiC;AAAEjzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACgE,gBAAd,GAAiC;AAAElzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACiE,gBAAd,GAAiC;AAAEnzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACkE,gBAAd,GAAiC;AAAEpzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACmE,gBAAd,GAAiC;AAAErzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACoE,gBAAd,GAAiC;AAAEtzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACqE,gBAAd,GAAiC;AAAEvzB,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAACsE,WAAd,GAA4B;AAAExzB,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEmc;AAArC,CAA5B;AACAC,aAAa,CAACuE,aAAd,GAA8B;AAAEzzB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACwE,aAAd,GAA8B;AAAE1zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACyE,aAAd,GAA8B;AAAE3zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC0E,aAAd,GAA8B;AAAE5zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC2E,aAAd,GAA8B;AAAE7zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC4E,aAAd,GAA8B;AAAE9zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC6E,aAAd,GAA8B;AAAE/zB,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC8E,aAAd,GAA8B;AAAEh0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC+E,aAAd,GAA8B;AAAEj0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACgF,aAAd,GAA8B;AAAEl0B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACiF,SAAd,GAA0B;AAAEn0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACkF,SAAd,GAA0B;AAAEp0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACmF,SAAd,GAA0B;AAAEr0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACoF,SAAd,GAA0B;AAAEt0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACqF,SAAd,GAA0B;AAAEv0B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACsF,YAAd,GAA6B;AAAEx0B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEmc;AAAtC,CAA7B;AACAC,aAAa,CAACvM,QAAd,GAAyB;AAAE3iB,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmc;AAAlC,CAAzB;AACAC,aAAa,CAACuF,mBAAd,GAAoC;AAAEz0B,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEmc;AAA7C,CAApC;AACAC,aAAa,CAACwF,oBAAd,GAAqC;AAAE10B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACyF,oBAAd,GAAqC;AAAE30B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC0F,oBAAd,GAAqC;AAAE50B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC2F,oBAAd,GAAqC;AAAE70B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC4F,oBAAd,GAAqC;AAAE90B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC6F,oBAAd,GAAqC;AAAE/0B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC8F,oBAAd,GAAqC;AAAEh1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAAC+F,oBAAd,GAAqC;AAAEj1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACgG,oBAAd,GAAqC;AAAEl1B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACiG,IAAd,GAAqB;AAAEn1B,MAAI,EAAE,QAAR;AAAkB8S,YAAU,EAAEmc;AAA9B,CAArB;AACAC,aAAa,CAACkG,cAAd,GAA+B;AAAEp1B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmc;AAAxC,CAA/B;AACAC,aAAa,CAACmG,OAAd,GAAwB;AAAEr1B,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmc;AAAjC,CAAxB;AACAC,aAAa,CAACoG,SAAd,GAA0B;AAAEt1B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACqG,OAAd,GAAwB;AAAEv1B,MAAI,EAAE,WAAR;AAAqB8S,YAAU,EAAEmc;AAAjC,CAAxB;AACAC,aAAa,CAACsG,SAAd,GAA0B;AAAEx1B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACuG,eAAd,GAAgC;AAAEz1B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAACwG,IAAd,GAAqB;AAAE11B,MAAI,EAAE,QAAR;AAAkB8S,YAAU,EAAEmc;AAA9B,CAArB;AACAC,aAAa,CAACyG,UAAd,GAA2B;AAAE31B,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEmc;AAApC,CAA3B;AACAC,aAAa,CAAC0G,aAAd,GAA8B;AAAE51B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAAC9H,SAAd,GAA0B;AAAEpnB,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAAC/J,MAAd,GAAuB;AAAEnlB,MAAI,EAAE,UAAR;AAAoB8S,YAAU,EAAEmc;AAAhC,CAAvB;AACAC,aAAa,CAAC2G,eAAd,GAAgC;AAAE71B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAAC4G,2BAAd,GAA4C;AAAE91B,MAAI,EAAE,+BAAR;AAAyC8S,YAAU,EAAEmc;AAArD,CAA5C;AACAC,aAAa,CAAC9J,eAAd,GAAgC;AAAEplB,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAAC6G,cAAd,GAA+B;AAAE/1B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmc;AAAxC,CAA/B;AACAC,aAAa,CAAC8G,iBAAd,GAAkC;AAAEh2B,MAAI,EAAE,qBAAR;AAA+B8S,YAAU,EAAEmc;AAA3C,CAAlC;AACAC,aAAa,CAAC+G,oBAAd,GAAqC;AAAEj2B,MAAI,EAAE,wBAAR;AAAkC8S,YAAU,EAAEmc;AAA9C,CAArC;AACAC,aAAa,CAACgH,aAAd,GAA8B;AAAEl2B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACiH,eAAd,GAAgC;AAAEn2B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAACkH,WAAd,GAA4B;AAAEp2B,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEmc;AAArC,CAA5B;AACAC,aAAa,CAACmH,eAAd,GAAgC;AAAEr2B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAACoH,iBAAd,GAAkC;AAAEt2B,MAAI,EAAE,qBAAR;AAA+B8S,YAAU,EAAEmc;AAA3C,CAAlC;AACAC,aAAa,CAACqH,oBAAd,GAAqC;AACjCv2B,MAAI,EAAE,wBAD2B;AAEjC8S,YAAU,EAAEmc;AAFqB,CAArC;AAIAC,aAAa,CAACsH,UAAd,GAA2B;AACvBx2B,MAAI,EAAE,cADiB;AAEvB8S,YAAU,EAAEmc;AAFW,CAA3B;AAIAC,aAAa,CAACuH,eAAd,GAAgC;AAC5Bz2B,MAAI,EAAE,mBADsB;AAE5B8S,YAAU,EAAEmc;AAFgB,CAAhC;AAIAC,aAAa,CAACwH,oBAAd,GAAqC;AACjC12B,MAAI,EAAE,wBAD2B;AAEjC8S,YAAU,EAAEmc;AAFqB,CAArC;AAIAC,aAAa,CAACyH,WAAd,GAA4B;AACxB32B,MAAI,EAAE,eADkB;AAExB8S,YAAU,EAAEmc;AAFY,CAA5B;AAIAC,aAAa,CAAC0H,cAAd,GAA+B;AAC3B52B,MAAI,EAAE,kBADqB;AAE3B8S,YAAU,EAAEmc;AAFe,CAA/B;AAIAC,aAAa,CAAC2H,mBAAd,GAAoC;AAChC72B,MAAI,EAAE,uBAD0B;AAEhC8S,YAAU,EAAEmc;AAFoB,CAApC;AAIAC,aAAa,CAAC4H,mBAAd,GAAoC;AAChC92B,MAAI,EAAE,qBAD0B;AAEhC8S,YAAU,EAAEmc;AAFoB,CAApC;AAIAC,aAAa,CAAC6H,cAAd,GAA+B;AAAE/2B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmc;AAAxC,CAA/B;AACAC,aAAa,CAAC8H,gBAAd,GAAiC;AAAEh3B,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAAC+H,eAAd,GAAgC;AAAEj3B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAACgI,UAAd,GAA2B;AAAEl3B,MAAI,EAAE,cAAR;AAAwB8S,YAAU,EAAEmc;AAApC,CAA3B;AACAC,aAAa,CAACiI,YAAd,GAA6B;AAAEn3B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEmc;AAAtC,CAA7B;AACAC,aAAa,CAACkI,SAAd,GAA0B;AAAEp3B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACmI,eAAd,GAAgC;AAAEr3B,MAAI,EAAE,mBAAR;AAA6B8S,YAAU,EAAEmc;AAAzC,CAAhC;AACAC,aAAa,CAACoI,kBAAd,GAAmC;AAAEt3B,MAAI,EAAE,sBAAR;AAAgC8S,YAAU,EAAEmc;AAA5C,CAAnC;AACAC,aAAa,CAACqI,SAAd,GAA0B;AAAEv3B,MAAI,EAAE,aAAR;AAAuB8S,YAAU,EAAEmc;AAAnC,CAA1B;AACAC,aAAa,CAACsI,YAAd,GAA6B;AAAEx3B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEmc;AAAtC,CAA7B;AACAC,aAAa,CAACuI,kBAAd,GAAmC;AAAEz3B,MAAI,EAAE,sBAAR;AAAgC8S,YAAU,EAAEmc;AAA5C,CAAnC;AACAC,aAAa,CAACwI,wBAAd,GAAyC;AAAE13B,MAAI,EAAE,4BAAR;AAAsC8S,YAAU,EAAEmc;AAAlD,CAAzC;AACAC,aAAa,CAACyI,qBAAd,GAAsC;AAAE33B,MAAI,EAAE,yBAAR;AAAmC8S,YAAU,EAAEmc;AAA/C,CAAtC;AACAC,aAAa,CAAC0I,gBAAd,GAAiC;AAAE53B,MAAI,EAAE,oBAAR;AAA8B8S,YAAU,EAAEmc;AAA1C,CAAjC;AACAC,aAAa,CAAC2I,QAAd,GAAyB;AAAE73B,MAAI,EAAE,YAAR;AAAsB8S,YAAU,EAAEmc;AAAlC,CAAzB;AACAC,aAAa,CAAC4I,YAAd,GAA6B;AACzB93B,MAAI,EAAE,gBADmB;AAEzB8S,YAAU,EAAEmc;AAFa,CAA7B;AAIAC,aAAa,CAAC6I,mBAAd,GAAoC;AAChC/3B,MAAI,EAAE,uBAD0B;AAEhC8S,YAAU,EAAEmc;AAFoB,CAApC,C,CAIA;;AACAC,aAAa,CAAC8I,YAAd,GAA6B;AAAEh4B,MAAI,EAAE,gBAAR;AAA0B8S,YAAU,EAAEmc;AAAtC,CAA7B;AACAC,aAAa,CAAC+I,aAAd,GAA8B;AAAEj4B,MAAI,EAAE,iBAAR;AAA2B8S,YAAU,EAAEmc;AAAvC,CAA9B;AACAC,aAAa,CAACgJ,mBAAd,GAAoC;AAAEl4B,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEmc;AAA7C,CAApC;AACAC,aAAa,CAACiJ,cAAd,GAA+B;AAAEn4B,MAAI,EAAE,kBAAR;AAA4B8S,YAAU,EAAEmc;AAAxC,CAA/B;AACAC,aAAa,CAACkJ,WAAd,GAA4B;AAAEp4B,MAAI,EAAE,eAAR;AAAyB8S,YAAU,EAAEmc;AAArC,CAA5B;AACAC,aAAa,CAACmJ,wBAAd,GAAyC;AAAEr4B,MAAI,EAAE,4BAAR;AAAsC8S,YAAU,EAAEmc;AAAlD,CAAzC;AACAC,aAAa,CAACoJ,iBAAd,GAAkC;AAAEt4B,MAAI,EAAE,qBAAR;AAA+B8S,YAAU,EAAEmc;AAA3C,CAAlC;AACAC,aAAa,CAACqJ,mBAAd,GAAoC;AAAEv4B,MAAI,EAAE,uBAAR;AAAiC8S,YAAU,EAAEmc;AAA7C,CAApC;AACAC,aAAa,CAACsJ,wBAAd,GAAyC;AAAEx4B,MAAI,EAAE,4BAAR;AAAsC8S,YAAU,EAAEmc;AAAlD,CAAzC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,SAASwJ,kBAAT,CAA4Bj0B,GAA5B,EAAiC;AAC7B,MAAMlD,MAAM,GAAG8E,MAAM,CAAC+T,IAAP,CAAY3V,GAAZ,EAAiBA,GAAjB,CAAqB,UAAAmQ,GAAG;AAAA,WAAK;AACxCA,SAAG,EAAHA,GADwC;AAExC;AACA;AACAlT,WAAK,EAAE+C,GAAG,CAACmQ,GAAD,CAJ8B;AAKxCC,YAAM,EAAE;AALgC,KAAL;AAAA,GAAxB,CAAf;AAOA,SAAOmG,UAAU,CAACzZ,MAAD,CAAjB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASo3B,mBAAT,CAA6B/J,IAA7B,EAAmCnM,GAAnC,EAAwC;AACpC,MAAI/F,KAAK,CAACC,OAAN,CAAciS,IAAd,CAAJ,EAAyB;AACrB,WAAO7T,UAAU,CAAC6T,IAAI,CAACnqB,GAAL,CAAS,UAAAgU,KAAK;AAAA,aAAIkgB,mBAAmB,CAAClgB,KAAD,EAAQgK,GAAR,CAAvB;AAAA,KAAd,CAAD,CAAjB;AACH;;AACD,MAAImM,IAAI,YAAYlH,YAApB,EAAkC;AAC9B,WAAOjF,GAAG,CAAChI,UAAJ,CAAemU,IAAf,CAAP;AACH;;AACD,MAAIA,IAAI,IAAI,IAAZ,EAAkB;AACd,WAAOrT,OAAO,CAACqT,IAAD,CAAd;AACH;;AACD,QAAM,IAAIpwB,KAAJ,4DAA8DowB,IAA9D,EAAN;AACH;;AACD,SAASgK,kBAAT,CAA4BnsB,IAA5B,EAAkCosB,SAAlC,EAA6C;AACzC,MAAIA,SAAS,KAAK,CAAlB,EAAqB;AACjB,WAAOhe,cAAc,CAACpO,IAAD,CAArB;AACH;;AACD,MAAMK,MAAM,GAAG,EAAf;;AACA,OAAK,IAAI1L,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy3B,SAApB,EAA+Bz3B,CAAC,EAAhC,EAAoC;AAChC0L,UAAM,CAACtL,IAAP,CAAYyJ,YAAZ;AACH;;AACD,SAAO4P,cAAc,CAACpO,IAAD,EAAOzG,SAAP,EAAkB8G,MAAlB,CAArB;AACH;;AACD,IAAMgsB,qBAAqB,GAAG,GAA9B;;AACA,SAASC,4BAAT,CAAsC94B,IAAtC,EAA4C;AACxC,mBAAU64B,qBAAV,SAAkC74B,IAAlC;AACH;;AACD,SAAS+4B,4BAAT,CAAsC/4B,IAAtC,EAA4Cg5B,KAA5C,EAAmD;AAC/C,mBAAUH,qBAAV,SAAkC74B,IAAlC,cAA0Cg5B,KAA1C;AACH;;AACD,SAASC,6BAAT,CAAuCj5B,IAAvC,EAA6C;AACzC,SAAOA,IAAI,CAACk5B,MAAL,CAAY,CAAZ,KAAkBL,qBAAzB;AACH;;AACD,SAASM,wBAAT,CAAkCn5B,IAAlC,EAAwC;AACpC;AACA;AACA,MAAMmB,CAAC,GAAGnB,IAAI,CAAC1B,OAAL,CAAa,GAAb,CAAV;AACA0B,MAAI,GAAGmB,CAAC,GAAG,CAAJ,GAAQnB,IAAI,CAACkf,SAAL,CAAe,CAAf,EAAkB/d,CAAlB,CAAR,GAA+BnB,IAAtC;;AACA,MAAIA,IAAI,CAACk5B,MAAL,CAAY,CAAZ,MAAmBL,qBAAvB,EAA8C;AAC1C74B,QAAI,GAAG64B,qBAAqB,GAAG74B,IAA/B;AACH;;AACD,SAAOA,IAAP;AACH;;AACD,SAASo5B,oCAAT,CAA8Cp5B,IAA9C,EAAoDg5B,KAApD,EAA2D;AACvD,6BAAoBh5B,IAApB,cAA4Bg5B,KAA5B;AACH;;AACD,SAASK,wBAAT,CAAkCnqB,IAAlC,EAAwC;AACpC,MAAMoqB,SAAS,GAAG,IAAIzmB,YAAJ,CAAiB;AAAE7S,QAAI,EAAE,WAAR;AAAqB8S,cAAU,EAAE;AAAjC,GAAjB,CAAlB;AACA,MAAMymB,iBAAiB,GAAG,IAAIlsB,kBAAJ,CAAuBrB,cAAc,CAACwB,SAAtC,EAAiD,IAAIyB,UAAJ,CAAeqqB,SAAf,CAAjD,EAA4Ehe,OAAO,CAAC,WAAD,CAAnF,CAA1B;AACA,MAAMke,sBAAsB,GAAG,IAAInsB,kBAAJ,CAAuBrB,cAAc,CAACkC,EAAtC,EAA0CqrB,iBAA1C,EAA6DD,SAA7D;AAAwE;AAAWvzB,WAAnF;AAC/B;AAAiBA,WADc,EACH,IADG,CAA/B;AAEA,SAAO,IAAIsH,kBAAJ,CAAuBrB,cAAc,CAAC+B,GAAtC,EAA2CyrB,sBAA3C,EAAmEtqB,IAAnE,CAAP;AACH;;AACD,SAASuqB,aAAT,CAAuBh4B,KAAvB,EAA8B;AAC1B,MAAMi4B,OAAO,GAAG,IAAIrqB,eAAJ,CAAoB5N,KAApB,CAAhB;AACA,SAAO;AAAEA,SAAK,EAAEi4B,OAAT;AAAkBltB,QAAI,EAAEktB;AAAxB,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,I;AACF,gBAAYl4B,KAAZ,EAAmBgL,UAAnB,EAA+B;AAAA;;AAC3B,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAAe;AACX,aAAOA,OAAO,CAACwvB,SAAR,CAAkB,IAAlB,CAAP;AACH;;;;;;IAECC,S;AACF,qBAAYp4B,KAAZ,EAAmBgL,UAAnB,EAA+B0oB,IAA/B,EAAqC;AAAA;;AACjC,SAAK1zB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAK0oB,IAAL,GAAYA,IAAZ;AACH;;;;WACD,eAAM/qB,OAAN,EAAe;AACX,aAAOA,OAAO,CAAC0vB,cAAR,CAAuB,IAAvB,CAAP;AACH;;;;;;IAECC,a;AACF,yBAAY/5B,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqCutB,SAArC,EAAgD7E,IAAhD,EAAsD;AAAA;;AAClD,SAAKn1B,IAAL,GAAYA,IAAZ;AACA,SAAKyB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAKutB,SAAL,GAAiBA,SAAjB;AACA,SAAK7E,IAAL,GAAYA,IAAZ;AACH;;;;WACD,eAAM/qB,OAAN,EAAe;AACX,aAAOA,OAAO,CAAC6vB,kBAAR,CAA2B,IAA3B,CAAP;AACH;;;;;;IAECC,c;AACF,0BAAYl6B,IAAZ,EAAkBwM,IAAlB,EAAwB2tB,eAAxB,EAAyC14B,KAAzC,EAAgD24B,IAAhD,EAAsD3tB,UAAtD,EAAkE4tB,OAAlE,EAA2EL,SAA3E,EAAsF7E,IAAtF,EAA4F;AAAA;;AACxF,SAAKn1B,IAAL,GAAYA,IAAZ;AACA,SAAKwM,IAAL,GAAYA,IAAZ;AACA,SAAK2tB,eAAL,GAAuBA,eAAvB;AACA,SAAK14B,KAAL,GAAaA,KAAb;AACA,SAAK24B,IAAL,GAAYA,IAAZ;AACA,SAAK3tB,UAAL,GAAkBA,UAAlB;AACA,SAAK4tB,OAAL,GAAeA,OAAf;AACA,SAAKL,SAAL,GAAiBA,SAAjB;AACA,SAAK7E,IAAL,GAAYA,IAAZ;AACH;;;;WAOD,eAAM/qB,OAAN,EAAe;AACX,aAAOA,OAAO,CAACkwB,mBAAR,CAA4B,IAA5B,CAAP;AACH;;;WARD,kCAAgClgB,IAAhC,EAAsC+a,IAAtC,EAA4C;AACxC,UAAI/a,IAAI,CAACigB,OAAL,KAAiBt0B,SAArB,EAAgC;AAC5B,cAAM,IAAIxH,KAAJ,0FAA4F6b,IAAI,CAACpa,IAAjG,eAA0Goa,IAAI,CAAC3N,UAA/G,EAAN;AACH;;AACD,aAAO,IAAIytB,cAAJ,CAAmB9f,IAAI,CAACpa,IAAxB,EAA8Boa,IAAI,CAAC5N,IAAnC,EAAyC4N,IAAI,CAAC+f,eAA9C,EAA+D/f,IAAI,CAAC3Y,KAApE,EAA2E2Y,IAAI,CAACggB,IAAhF,EAAsFhgB,IAAI,CAAC3N,UAA3F,EAAuG2N,IAAI,CAACigB,OAA5G,EAAqHjgB,IAAI,CAAC4f,SAA1H,EAAqI7E,IAArI,CAAP;AACH;;;;;;IAKCoF,U;AACF,sBAAYv6B,IAAZ,EAAkBwM,IAAlB,EAAwBguB,OAAxB,EAAiCC,MAAjC,EAAyCzB,KAAzC,EAAgDvsB,UAAhD,EAA4DiuB,WAA5D,EAAyE;AAAA;;AACrE,SAAK16B,IAAL,GAAYA,IAAZ;AACA,SAAKwM,IAAL,GAAYA,IAAZ;AACA,SAAKguB,OAAL,GAAeA,OAAf;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKzB,KAAL,GAAaA,KAAb;AACA,SAAKvsB,UAAL,GAAkBA,UAAlB;AACA,SAAKiuB,WAAL,GAAmBA,WAAnB;AACH;;;;WAMD,eAAMtwB,OAAN,EAAe;AACX,aAAOA,OAAO,CAACuwB,eAAR,CAAwB,IAAxB,CAAP;AACH;;;WAPD,yBAAuBC,KAAvB,EAA8B;AAC1B,UAAMH,MAAM,GAAGG,KAAK,CAACpuB,IAAN,KAAe;AAAE;AAAjB,QAAiCouB,KAAK,CAACC,aAAvC,GAAuD,IAAtE;AACA,UAAM7B,KAAK,GAAG4B,KAAK,CAACpuB,IAAN,KAAe;AAAE;AAAjB,QAAmCouB,KAAK,CAACC,aAAzC,GAAyD,IAAvE;AACA,aAAO,IAAIN,UAAJ,CAAeK,KAAK,CAAC56B,IAArB,EAA2B46B,KAAK,CAACpuB,IAAjC,EAAuCouB,KAAK,CAACJ,OAA7C,EAAsDC,MAAtD,EAA8DzB,KAA9D,EAAqE4B,KAAK,CAACnuB,UAA3E,EAAuFmuB,KAAK,CAACF,WAA7F,CAAP;AACH;;;;;;IAKCI,O;AACF,mBAAY96B,IAAZ,EAAkB+6B,UAAlB,EAA8BzQ,MAA9B,EAAsCC,OAAtC,EAA+CyQ,QAA/C,EAAyDC,UAAzD,EAAqExuB,UAArE,EAAiFyuB,eAAjF,EAAkGC,aAAlG,EAAiHhG,IAAjH,EAAuH;AAAA;;AACnH,SAAKn1B,IAAL,GAAYA,IAAZ;AACA,SAAK+6B,UAAL,GAAkBA,UAAlB;AACA,SAAKzQ,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKyQ,QAAL,GAAgBA,QAAhB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACA,SAAKxuB,UAAL,GAAkBA,UAAlB;AACA,SAAKyuB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKhG,IAAL,GAAYA,IAAZ;AACH;;;;WACD,eAAM/qB,OAAN,EAAe;AACX,aAAOA,OAAO,CAACgxB,YAAR,CAAqB,IAArB,CAAP;AACH;;;;;;IAECC,Q;AACF,oBAAY38B,OAAZ,EAAqBq8B,UAArB,EAAiCzQ,MAAjC,EAAyCC,OAAzC,EAAkD+Q,aAAlD,EAAiEN,QAAjE,EAA2EC,UAA3E,EAAuFM,SAAvF,EAAkG9uB,UAAlG,EAA8GyuB,eAA9G,EAA+HC,aAA/H,EAA8IhG,IAA9I,EAAoJ;AAAA;;AAChJ,SAAKz2B,OAAL,GAAeA,OAAf;AACA,SAAKq8B,UAAL,GAAkBA,UAAlB;AACA,SAAKzQ,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAK+Q,aAAL,GAAqBA,aAArB;AACA,SAAKN,QAAL,GAAgBA,QAAhB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACA,SAAKM,SAAL,GAAiBA,SAAjB;AACA,SAAK9uB,UAAL,GAAkBA,UAAlB;AACA,SAAKyuB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKhG,IAAL,GAAYA,IAAZ;AACH;;;;WACD,eAAM/qB,OAAN,EAAe;AACX,aAAOA,OAAO,CAACoxB,aAAR,CAAsB,IAAtB,CAAP;AACH;;;;;;IAECC,O;AACF,mBAAY55B,QAAZ,EAAsBk5B,UAAtB,EAAkCtuB,UAAlC,EAA8C0oB,IAA9C,EAAoD;AAAA;;AAChD,SAAKtzB,QAAL,GAAgBA,QAAhB;AACA,SAAKk5B,UAAL,GAAkBA,UAAlB;AACA,SAAKtuB,UAAL,GAAkBA,UAAlB;AACA,SAAK0oB,IAAL,GAAYA,IAAZ;AACA,SAAKn1B,IAAL,GAAY,YAAZ;AACH;;;;WACD,eAAMoK,OAAN,EAAe;AACX,aAAOA,OAAO,CAACsxB,YAAR,CAAqB,IAArB,CAAP;AACH;;;;;;IAECC,Q;AACF,oBAAY37B,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqC4tB,OAArC,EAA8CL,SAA9C,EAAyD;AAAA;;AACrD,SAAKh6B,IAAL,GAAYA,IAAZ;AACA,SAAKyB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAK4tB,OAAL,GAAeA,OAAf;AACA,SAAKL,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,eAAM5vB,OAAN,EAAe;AACX,aAAOA,OAAO,CAACwxB,aAAR,CAAsB,IAAtB,CAAP;AACH;;;;;;IAECC,S;AACF,qBAAY77B,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqCutB,SAArC,EAAgD;AAAA;;AAC5C,SAAKh6B,IAAL,GAAYA,IAAZ;AACA,SAAKyB,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACA,SAAKutB,SAAL,GAAiBA,SAAjB;AACH;;;;WACD,eAAM5vB,OAAN,EAAe;AACX,aAAOA,OAAO,CAAC0xB,cAAR,CAAuB,IAAvB,CAAP;AACH;;;;;;IAECC,G;AACF,eAAYC,IAAZ,EAAkBC,YAAlB,EAAgCxvB,UAAhC,EAA4C0oB,IAA5C,EAAkD;AAAA;;AAC9C,SAAK6G,IAAL,GAAYA,IAAZ;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKxvB,UAAL,GAAkBA,UAAlB;AACA,SAAK0oB,IAAL,GAAYA,IAAZ;AACH;;;;WACD,eAAM/qB,OAAN,EAAe;AACX,aAAOA,OAAO,CAAC8xB,QAAR,CAAiB,IAAjB,CAAP;AACH;;;;;;IAECC,W;;;;;;;WACF,sBAAav7B,OAAb,EAAsB,CAAG;;;WACzB,uBAAc4oB,QAAd,EAAwB,CAAG;;;WAC3B,sBAAa4S,OAAb,EAAsB,CAAG;;;WACzB,uBAAc7hB,QAAd,EAAwB,CAAG;;;WAC3B,wBAAe6M,SAAf,EAA0B,CAAG;;;WAC7B,4BAAmBxkB,SAAnB,EAA8B,CAAG;;;WACjC,6BAAoBA,SAApB,EAA+B,CAAG;;;WAClC,yBAAgBA,SAAhB,EAA2B,CAAG;;;WAC9B,mBAAUgO,IAAV,EAAgB,CAAG;;;WACnB,wBAAeA,IAAf,EAAqB,CAAG;;;WACxB,kBAASyrB,GAAT,EAAc,CAAG;;;;;;IAEfC,gB;;;;;;;WACF,sBAAa17B,OAAb,EAAsB;AAClB27B,cAAQ,CAAC,IAAD,EAAO37B,OAAO,CAACm6B,UAAf,CAAR;AACAwB,cAAQ,CAAC,IAAD,EAAO37B,OAAO,CAACo6B,QAAf,CAAR;AACAuB,cAAQ,CAAC,IAAD,EAAO37B,OAAO,CAACq6B,UAAf,CAAR;AACH;;;WACD,uBAAczR,QAAd,EAAwB;AACpB+S,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAACuR,UAAhB,CAAR;AACAwB,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAACwR,QAAhB,CAAR;AACAuB,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAACyR,UAAhB,CAAR;AACAsB,cAAQ,CAAC,IAAD,EAAO/S,QAAQ,CAAC+R,SAAhB,CAAR;AACH;;;WACD,sBAAaa,OAAb,EAAsB,CAAG;;;WACzB,uBAAc7hB,QAAd,EAAwB,CAAG;;;WAC3B,wBAAe6M,SAAf,EAA0B,CAAG;;;WAC7B,4BAAmBxkB,SAAnB,EAA8B,CAAG;;;WACjC,6BAAoBA,SAApB,EAA+B,CAAG;;;WAClC,yBAAgBA,SAAhB,EAA2B,CAAG;;;WAC9B,mBAAUgO,IAAV,EAAgB,CAAG;;;WACnB,wBAAeA,IAAf,EAAqB,CAAG;;;WACxB,kBAASyrB,GAAT,EAAc,CAAG;;;;;;IAEfG,gB;;;;;;;WACF,sBAAa57B,OAAb,EAAsB;AAClB,UAAM67B,aAAa,GAAGC,YAAY,CAAC,IAAD,EAAO97B,OAAO,CAACm6B,UAAf,CAAlC;AACA,UAAM4B,SAAS,GAAGD,YAAY,CAAC,IAAD,EAAO97B,OAAO,CAAC0pB,MAAf,CAA9B;AACA,UAAMsS,UAAU,GAAGF,YAAY,CAAC,IAAD,EAAO97B,OAAO,CAAC2pB,OAAf,CAA/B;AACA,UAAMsS,WAAW,GAAGH,YAAY,CAAC,IAAD,EAAO97B,OAAO,CAACo6B,QAAf,CAAhC;AACA,UAAM8B,aAAa,GAAGJ,YAAY,CAAC,IAAD,EAAO97B,OAAO,CAACq6B,UAAf,CAAlC;;AACA,UAAIwB,aAAa,IAAI77B,OAAO,CAACm6B,UAAzB,IAAuC4B,SAAS,IAAI/7B,OAAO,CAAC0pB,MAA5D,IACAsS,UAAU,IAAIh8B,OAAO,CAAC2pB,OADtB,IACiCsS,WAAW,IAAIj8B,OAAO,CAACo6B,QADxD,IAEA8B,aAAa,IAAIl8B,OAAO,CAACq6B,UAF7B,EAEyC;AACrC,eAAO,IAAIH,OAAJ,CAAYl6B,OAAO,CAACZ,IAApB,EAA0By8B,aAA1B,EAAyCE,SAAzC,EAAoDC,UAApD,EAAgEC,WAAhE,EAA6EC,aAA7E,EAA4Fl8B,OAAO,CAAC6L,UAApG,EAAgH7L,OAAO,CAACs6B,eAAxH,EAAyIt6B,OAAO,CAACu6B,aAAjJ,CAAP;AACH;;AACD,aAAOv6B,OAAP;AACH;;;WACD,uBAAc4oB,QAAd,EAAwB;AACpB,UAAMiT,aAAa,GAAGC,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACuR,UAAhB,CAAlC;AACA,UAAM4B,SAAS,GAAGD,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACc,MAAhB,CAA9B;AACA,UAAMsS,UAAU,GAAGF,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACe,OAAhB,CAA/B;AACA,UAAMwS,gBAAgB,GAAGL,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAAC8R,aAAhB,CAArC;AACA,UAAMuB,WAAW,GAAGH,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACwR,QAAhB,CAAhC;AACA,UAAM8B,aAAa,GAAGJ,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAACyR,UAAhB,CAAlC;AACA,UAAM+B,YAAY,GAAGN,YAAY,CAAC,IAAD,EAAOlT,QAAQ,CAAC+R,SAAhB,CAAjC;;AACA,UAAIkB,aAAa,IAAIjT,QAAQ,CAACuR,UAA1B,IAAwC4B,SAAS,IAAInT,QAAQ,CAACc,MAA9D,IACAsS,UAAU,IAAIpT,QAAQ,CAACe,OADvB,IACkCwS,gBAAgB,IAAIvT,QAAQ,CAAC8R,aAD/D,IAEAuB,WAAW,IAAIrT,QAAQ,CAACwR,QAFxB,IAEoC8B,aAAa,IAAItT,QAAQ,CAACyR,UAF9D,IAGA+B,YAAY,IAAIxT,QAAQ,CAAC+R,SAH7B,EAGwC;AACpC,eAAO,IAAIF,QAAJ,CAAa7R,QAAQ,CAAC9qB,OAAtB,EAA+B+9B,aAA/B,EAA8CE,SAA9C,EAAyDC,UAAzD,EAAqEG,gBAArE,EAAuFF,WAAvF,EAAoGC,aAApG,EAAmHE,YAAnH,EAAiIxT,QAAQ,CAAC/c,UAA1I,EAAsJ+c,QAAQ,CAAC0R,eAA/J,EAAgL1R,QAAQ,CAAC2R,aAAzL,CAAP;AACH;;AACD,aAAO3R,QAAP;AACH;;;WACD,sBAAa4S,OAAb,EAAsB;AAClB,aAAOA,OAAP;AACH;;;WACD,uBAAc7hB,QAAd,EAAwB;AACpB,aAAOA,QAAP;AACH;;;WACD,wBAAe6M,SAAf,EAA0B;AACtB,aAAOA,SAAP;AACH;;;WACD,4BAAmBxkB,SAAnB,EAA8B;AAC1B,aAAOA,SAAP;AACH;;;WACD,6BAAoBA,SAApB,EAA+B;AAC3B,aAAOA,SAAP;AACH;;;WACD,yBAAgBA,SAAhB,EAA2B;AACvB,aAAOA,SAAP;AACH;;;WACD,mBAAUgO,IAAV,EAAgB;AACZ,aAAOA,IAAP;AACH;;;WACD,wBAAeA,IAAf,EAAqB;AACjB,aAAOA,IAAP;AACH;;;WACD,kBAASyrB,GAAT,EAAc;AACV,aAAOA,GAAP;AACH;;;;;;AAEL,SAASE,QAAT,CAAkBnyB,OAAlB,EAA2B6yB,KAA3B,EAAkC;AAC9B,MAAM37B,MAAM,GAAG,EAAf;;AACA,MAAI8I,OAAO,CAAC8yB,KAAZ,EAAmB;AAAA,wLACID,KADJ;AAAA;;AAAA;AACf,6DAA0B;AAAA,YAAf3tB,IAAe;AACtB,YAAM6tB,OAAO,GAAG/yB,OAAO,CAAC8yB,KAAR,CAAc5tB,IAAd,KAAuBA,IAAI,CAAC4tB,KAAL,CAAW9yB,OAAX,CAAvC;AACH;AAHc;AAAA;AAAA;AAAA;AAAA;AAIlB,GAJD,MAKK;AAAA,wLACkB6yB,KADlB;AAAA;;AAAA;AACD,6DAA0B;AAAA,YAAf3tB,KAAe;;AACtB,YAAM6tB,QAAO,GAAG7tB,KAAI,CAAC4tB,KAAL,CAAW9yB,OAAX,CAAhB;;AACA,YAAI+yB,QAAJ,EAAa;AACT77B,gBAAM,CAACC,IAAP,CAAY47B,QAAZ;AACH;AACJ;AANA;AAAA;AAAA;AAAA;AAAA;AAOJ;;AACD,SAAO77B,MAAP;AACH;;AACD,SAASo7B,YAAT,CAAsBtyB,OAAtB,EAA+B6yB,KAA/B,EAAsC;AAClC,MAAM37B,MAAM,GAAG,EAAf;AACA,MAAI87B,OAAO,GAAG,KAAd;;AAFkC,sLAGfH,KAHe;AAAA;;AAAA;AAGlC,2DAA0B;AAAA,UAAf3tB,IAAe;AACtB,UAAM6tB,OAAO,GAAG7tB,IAAI,CAAC4tB,KAAL,CAAW9yB,OAAX,CAAhB;;AACA,UAAI+yB,OAAJ,EAAa;AACT77B,cAAM,CAACC,IAAP,CAAY47B,OAAZ;AACH;;AACDC,aAAO,GAAGA,OAAO,IAAID,OAAO,IAAI7tB,IAAhC;AACH;AATiC;AAAA;AAAA;AAAA;AAAA;;AAUlC,SAAO8tB,OAAO,GAAG97B,MAAH,GAAY27B,KAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMI,O;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,iBAAYJ,KAAZ,EAAmBhB,YAAnB,EAAiCqB,oBAAjC,EAAuD7rB,OAAvD,EAAgED,WAAhE,EAA6EE,QAA7E,EAAuF;AAAA;;AACnF,OAAKurB,KAAL,GAAaA,KAAb;AACA,OAAKhB,YAAL,GAAoBA,YAApB;AACA,OAAKqB,oBAAL,GAA4BA,oBAA5B;AACA,OAAK7rB,OAAL,GAAeA,OAAf;AACA,OAAKD,WAAL,GAAmBA,WAAnB;AACA,OAAKE,QAAL,GAAgBA,QAAhB;AACA,OAAK+I,EAAL,GAAU,KAAK/I,QAAf;AACA;;AACA,OAAKC,SAAL,GAAiB,EAAjB;;AACA,MAAIsrB,KAAK,CAACn9B,MAAV,EAAkB;AACd,SAAKy9B,OAAL,GAAe,CAAC;AACR7V,cAAQ,EAAEuV,KAAK,CAAC,CAAD,CAAL,CAASxwB,UAAT,CAAoB+wB,KAApB,CAA0BC,IAA1B,CAA+BpP,GADjC;AAERqP,eAAS,EAAET,KAAK,CAAC,CAAD,CAAL,CAASxwB,UAAT,CAAoB+wB,KAApB,CAA0BG,IAA1B,GAAiC,CAFpC;AAGRC,cAAQ,EAAEX,KAAK,CAAC,CAAD,CAAL,CAASxwB,UAAT,CAAoB+wB,KAApB,CAA0BK,GAA1B,GAAgC,CAHlC;AAIRC,aAAO,EAAEb,KAAK,CAACA,KAAK,CAACn9B,MAAN,GAAe,CAAhB,CAAL,CAAwB2M,UAAxB,CAAmCsxB,GAAnC,CAAuCJ,IAAvC,GAA8C,CAJ/C;AAKRK,YAAM,EAAEf,KAAK,CAAC,CAAD,CAAL,CAASxwB,UAAT,CAAoB+wB,KAApB,CAA0BK,GAA1B,GAAgC;AALhC,KAAD,CAAf;AAOH,GARD,MASK;AACD,SAAKN,OAAL,GAAe,EAAf;AACH;AACJ,C;;IAECU,M;AACF,kBAAYx8B,KAAZ,EAAmBgL,UAAnB,EAA+B;AAAA;;AAC3B,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKgL,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAAeC,OAAf,EAAwB;AACpB,aAAOD,OAAO,CAACwvB,SAAR,CAAkB,IAAlB,EAAwBvvB,OAAxB,CAAP;AACH;;;;KAEL;;;IACM6zB,S;AACF,qBAAYlD,QAAZ,EAAsBvuB,UAAtB,EAAkC;AAAA;;AAC9B,SAAKuuB,QAAL,GAAgBA,QAAhB;AACA,SAAKvuB,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAAeC,OAAf,EAAwB;AACpB,aAAOD,OAAO,CAAC+zB,cAAR,CAAuB,IAAvB,EAA6B9zB,OAA7B,CAAP;AACH;;;;;;IAEC+zB,K;AACF,iBAAYjd,UAAZ,EAAwB3U,IAAxB,EAA8B6xB,KAA9B,EAAqC5xB,UAArC,EAAiD;AAAA;;AAC7C,SAAK0U,UAAL,GAAkBA,UAAlB;AACA,SAAK3U,IAAL,GAAYA,IAAZ;AACA,SAAK6xB,KAAL,GAAaA,KAAb;AACA,SAAK5xB,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAAeC,OAAf,EAAwB;AACpB,aAAOD,OAAO,CAAC8xB,QAAR,CAAiB,IAAjB,EAAuB7xB,OAAvB,CAAP;AACH;;;;;;IAECi0B,c;AACF,0BAAY/7B,GAAZ,EAAiBzB,KAAjB,EAAwBy9B,SAAxB,EAAmCC,SAAnC,EAA8CxD,QAA9C,EAAwDt7B,MAAxD,EACA;AACA+M,YAFA,EAEYyuB,eAFZ,EAE6BC,aAF7B,EAE4C;AAAA;;AACxC,SAAK54B,GAAL,GAAWA,GAAX;AACA,SAAKzB,KAAL,GAAaA,KAAb;AACA,SAAKy9B,SAAL,GAAiBA,SAAjB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKxD,QAAL,GAAgBA,QAAhB;AACA,SAAKt7B,MAAL,GAAcA,MAAd;AACA,SAAK+M,UAAL,GAAkBA,UAAlB;AACA,SAAKyuB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;;;;WACD,eAAM/wB,OAAN,EAAeC,OAAf,EAAwB;AACpB,aAAOD,OAAO,CAACq0B,mBAAR,CAA4B,IAA5B,EAAkCp0B,OAAlC,CAAP;AACH;;;;;;IAECq0B,W;AACF,uBAAYj9B,KAAZ,EAAmBzB,IAAnB,EAAyByM,UAAzB,EAAqC;AAAA;;AACjC,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKzB,IAAL,GAAYA,IAAZ;AACA,SAAKyM,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAAeC,OAAf,EAAwB;AACpB,aAAOD,OAAO,CAACu0B,gBAAR,CAAyB,IAAzB,EAA+Bt0B,OAA/B,CAAP;AACH;;;;;;IAECu0B,c;AACF,0BAAYn9B,KAAZ,EAAmBzB,IAAnB,EAAyByM,UAAzB,EAAqC;AAAA;;AACjC,SAAKhL,KAAL,GAAaA,KAAb;AACA,SAAKzB,IAAL,GAAYA,IAAZ;AACA,SAAKyM,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAAeC,OAAf,EAAwB;AACpB,aAAOD,OAAO,CAACy0B,mBAAR,CAA4B,IAA5B,EAAkCx0B,OAAlC,CAAP;AACH;;;;KAEL;;;IACMy0B,Y;;;;;;;WACF,mBAAUluB,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,IAAI4zB,MAAJ,CAAWrtB,IAAI,CAACnP,KAAhB,EAAuBmP,IAAI,CAACnE,UAA5B,CAAP;AACH;;;WACD,wBAAesyB,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B,UAAM2wB,QAAQ,GAAG+D,SAAS,CAAC/D,QAAV,CAAmBx2B,GAAnB,CAAuB,UAAAw6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,OAAR,EAAc7yB,OAAd,CAAJ;AAAA,OAAxB,CAAjB;AACA,aAAO,IAAI6zB,SAAJ,CAAclD,QAAd,EAAwB+D,SAAS,CAACtyB,UAAlC,CAAP;AACH;;;WACD,kBAAS4vB,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAMg0B,KAAK,GAAG,EAAd;AACAj4B,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuBt+B,OAAvB,CAA+B,UAAA4U,GAAG;AAAA,eAAI0pB,KAAK,CAAC1pB,GAAD,CAAL,GAAa0nB,GAAG,CAACgC,KAAJ,CAAU1pB,GAAV,EAAeuoB,KAAf,CAAqB,OAArB,EAA2B7yB,OAA3B,CAAjB;AAAA,OAAlC;AACA,UAAMyT,GAAG,GAAG,IAAIsgB,KAAJ,CAAU/B,GAAG,CAAClb,UAAd,EAA0Bkb,GAAG,CAAC7vB,IAA9B,EAAoC6xB,KAApC,EAA2ChC,GAAG,CAAC5vB,UAA/C,CAAZ;AACAqR,SAAG,CAACmhB,qBAAJ,GAA4B5C,GAAG,CAAC4C,qBAAhC;AACA,aAAOnhB,GAAP;AACH;;;WACD,6BAAoBohB,EAApB,EAAwB70B,OAAxB,EAAiC;AAAA;;AAC7B,UAAM2wB,QAAQ,GAAGkE,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAAAw6B,CAAC;AAAA,eAAIA,CAAC,CAAC9B,KAAF,CAAQ,OAAR,EAAc7yB,OAAd,CAAJ;AAAA,OAAjB,CAAjB;AACA,aAAO,IAAIi0B,cAAJ,CAAmBY,EAAE,CAAC38B,GAAtB,EAA2B28B,EAAE,CAACp+B,KAA9B,EAAqCo+B,EAAE,CAACX,SAAxC,EAAmDW,EAAE,CAACV,SAAtD,EAAiExD,QAAjE,EAA2EkE,EAAE,CAACx/B,MAA9E,EAAsFw/B,EAAE,CAACzyB,UAAzF,EAAqGyyB,EAAE,CAAChE,eAAxG,EAAyHgE,EAAE,CAAC/D,aAA5H,CAAP;AACH;;;WACD,0BAAiB+D,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,aAAO,IAAIq0B,WAAJ,CAAgBQ,EAAE,CAACz9B,KAAnB,EAA0By9B,EAAE,CAACl/B,IAA7B,EAAmCk/B,EAAE,CAACzyB,UAAtC,CAAP;AACH;;;WACD,6BAAoByyB,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,aAAO,IAAIu0B,cAAJ,CAAmBM,EAAE,CAACz9B,KAAtB,EAA6By9B,EAAE,CAACl/B,IAAhC,EAAsCk/B,EAAE,CAACzyB,UAAzC,CAAP;AACH;;;;KAEL;;;IACM0yB,c;;;;;;;WACF,mBAAUvuB,IAAV,EAAgBvG,OAAhB,EAAyB,CAAG;;;WAC5B,wBAAe00B,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B00B,eAAS,CAAC/D,QAAV,CAAmBj7B,OAAnB,CAA2B,UAAAq/B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAAhC;AACH;;;WACD,kBAASb,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnBjE,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuBt+B,OAAvB,CAA+B,UAAAs/B,CAAC,EAAI;AAChChD,WAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,OAAnB;AACH,OAFD;AAGH;;;WACD,6BAAoBgC,EAApB,EAAwB70B,OAAxB,EAAiC;AAAA;;AAC7B60B,QAAE,CAAClE,QAAH,CAAYj7B,OAAZ,CAAoB,UAAAq/B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAAzB;AACH;;;WACD,0BAAiBgC,EAAjB,EAAqB70B,OAArB,EAA8B,CAAG;;;WACjC,6BAAoB60B,EAApB,EAAwB70B,OAAxB,EAAiC,CAAG;;;;;AAGxC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMi1B,U;AACF;AACJ;AACA;AACI,sBAAYC,MAAZ,EAAoB;AAAA;;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACH;;;;;AAOD;AACJ;AACA;AACI,qBAAQ;AACJ,aAAO,IAAID,UAAJ,CAAe,KAAKC,MAAL,CAAY/gC,KAAZ,EAAf,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,aAAI2N,KAAJ,EAAW;AACP,UAAM7K,MAAM,GAAG,KAAKyY,KAAL,EAAf;AACAzY,YAAM,CAACk+B,SAAP,CAAiBrzB,KAAjB;AACA,aAAO7K,MAAP;AACH;AACD;AACJ;AACA;;;;WACI,mBAAU6K,KAAV,EAAiB;AACb,UAAMszB,aAAa,GAAGC,IAAI,CAACC,GAAL,CAAS,KAAKJ,MAAL,CAAYz/B,MAArB,EAA6BqM,KAAK,CAACozB,MAAN,CAAaz/B,MAA1C,CAAtB;AACA,UAAI8/B,KAAK,GAAG,CAAZ;;AACA,WAAK,IAAIz+B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs+B,aAApB,EAAmCt+B,CAAC,EAApC,EAAwC;AACpC,YAAI0+B,QAAQ,GAAGD,KAAf;;AACA,YAAIz+B,CAAC,GAAG,KAAKo+B,MAAL,CAAYz/B,MAApB,EAA4B;AACxB+/B,kBAAQ,IAAI,KAAKN,MAAL,CAAYp+B,CAAZ,CAAZ;AACH;;AACD,YAAIA,CAAC,GAAGgL,KAAK,CAACozB,MAAN,CAAaz/B,MAArB,EAA6B;AACzB+/B,kBAAQ,IAAI1zB,KAAK,CAACozB,MAAN,CAAap+B,CAAb,CAAZ;AACH;;AACD,YAAI0+B,QAAQ,IAAI,EAAhB,EAAoB;AAChB,eAAKN,MAAL,CAAYp+B,CAAZ,IAAiB0+B,QAAQ,GAAG,EAA5B;AACAD,eAAK,GAAG,CAAR;AACH,SAHD,MAIK;AACD,eAAKL,MAAL,CAAYp+B,CAAZ,IAAiB0+B,QAAjB;AACAD,eAAK,GAAG,CAAR;AACH;AACJ,OAnBY,CAoBb;;;AACA,UAAIA,KAAK,GAAG,CAAZ,EAAe;AACX,aAAKL,MAAL,CAAYE,aAAZ,IAA6B,CAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;;WACI,oBAAW;AACP,UAAI/9B,GAAG,GAAG,EAAV;;AACA,WAAK,IAAIP,CAAC,GAAG,KAAKo+B,MAAL,CAAYz/B,MAAZ,GAAqB,CAAlC,EAAqCqB,CAAC,IAAI,CAA1C,EAA6CA,CAAC,EAA9C,EAAkD;AAC9CO,WAAG,IAAI,KAAK69B,MAAL,CAAYp+B,CAAZ,CAAP;AACH;;AACD,aAAOO,GAAP;AACH;;;WA3DD,gBAAc;AACV,aAAO,IAAI49B,UAAJ,CAAe,CAAC,CAAD,CAAf,CAAP;AACH;;;WACD,eAAa;AACT,aAAO,IAAIA,UAAJ,CAAe,CAAC,CAAD,CAAf,CAAP;AACH;;;;;AAwDL;AACA;AACA;AACA;;;IACMQ,uB;AACF,mCAAYr+B,KAAZ,EAAmB;AAAA;;AACf,SAAKs+B,WAAL,GAAmB,CAACt+B,KAAD,CAAnB;AACH;AACD;AACJ;AACA;;;;;WACI,oBAAW;AACP,aAAO,KAAKs+B,WAAL,CAAiB,CAAjB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAWC,GAAX,EAAgB;AACZ,UAAMC,OAAO,GAAGX,UAAU,CAACY,IAAX,EAAhB;AACA,WAAKC,kBAAL,CAAwBH,GAAxB,EAA6BC,OAA7B;AACA,aAAOA,OAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,4BAAmBD,GAAnB,EAAwB1+B,MAAxB,EAAgC;AAC5B,WAAK,IAAI8+B,QAAQ,GAAG,CAApB,EAAuBJ,GAAG,KAAK,CAA/B,EAAkCA,GAAG,GAAGA,GAAG,KAAK,CAAd,EAAiBI,QAAQ,EAA3D,EAA+D;AAC3D,YAAIJ,GAAG,GAAG,CAAV,EAAa;AACT,cAAMv+B,KAAK,GAAG,KAAK4+B,yBAAL,CAA+BD,QAA/B,CAAd;AACA9+B,gBAAM,CAACk+B,SAAP,CAAiB/9B,KAAjB;AACH;AACJ;AACJ;AACD;AACJ;AACA;;;;WACI,mCAA0B2+B,QAA1B,EAAoC;AAChC;AACA;AACA;AACA,WAAK,IAAIj/B,CAAC,GAAG,KAAK4+B,WAAL,CAAiBjgC,MAA9B,EAAsCqB,CAAC,IAAIi/B,QAA3C,EAAqDj/B,CAAC,EAAtD,EAA0D;AACtD,YAAMm/B,aAAa,GAAG,KAAKP,WAAL,CAAiB5+B,CAAC,GAAG,CAArB,CAAtB;AACA,aAAK4+B,WAAL,CAAiB5+B,CAAjB,IAAsBm/B,aAAa,CAAC/mB,GAAd,CAAkB+mB,aAAlB,CAAtB;AACH;;AACD,aAAO,KAAKP,WAAL,CAAiBK,QAAjB,CAAP;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;;;IACMG,oB;AACF,gCAAYr0B,IAAZ,EAAkB;AAAA;;AACd,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAKs0B,SAAL,GAAiB,CAAC,IAAIV,uBAAJ,CAA4BR,UAAU,CAACmB,GAAX,EAA5B,CAAD,CAAjB;AACH;AACD;AACJ;AACA;AACA;;;;;WACI,sBAAaL,QAAb,EAAuB;AACnB;AACA;AACA;AACA,WAAK,IAAIj/B,CAAC,GAAG,KAAKq/B,SAAL,CAAe1gC,MAA5B,EAAoCqB,CAAC,IAAIi/B,QAAzC,EAAmDj/B,CAAC,EAApD,EAAwD;AACpD,YAAMM,KAAK,GAAG,KAAK++B,SAAL,CAAer/B,CAAC,GAAG,CAAnB,EAAsBu/B,UAAtB,CAAiC,KAAKx0B,IAAtC,CAAd;AACA,aAAKs0B,SAAL,CAAer/B,CAAf,IAAoB,IAAI2+B,uBAAJ,CAA4Br+B,KAA5B,CAApB;AACH;;AACD,aAAO,KAAK++B,SAAL,CAAeJ,QAAf,CAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASO,QAAT,CAAgBC,OAAhB,EAAyB;AACrB,SAAOA,OAAO,CAACnmB,EAAR,IAAcomB,aAAa,CAACD,OAAD,CAAlC;AACH;AACD;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBD,OAAvB,EAAgC;AAC5B,SAAOE,IAAI,CAACC,cAAc,CAACH,OAAO,CAAC3D,KAAT,CAAd,CAA8B/7B,IAA9B,CAAmC,EAAnC,eAA6C0/B,OAAO,CAACnvB,OAArD,MAAD,CAAX;AACH;AACD;AACA;AACA;;;AACA,SAASuvB,aAAT,CAAuBJ,OAAvB,EAAgC;AAC5B,SAAOA,OAAO,CAACnmB,EAAR,IAAcwmB,oBAAoB,CAACL,OAAD,CAAzC;AACH;AACD;AACA;AACA;;;AACA,SAASK,oBAAT,CAA8BL,OAA9B,EAAuC;AACnC,MAAMx2B,OAAO,GAAG,IAAI82B,8BAAJ,EAAhB;AACA,MAAMlsB,KAAK,GAAG4rB,OAAO,CAAC3D,KAAR,CAAcz4B,GAAd,CAAkB,UAAA28B,CAAC;AAAA,WAAIA,CAAC,CAACjE,KAAF,CAAQ9yB,OAAR,EAAiB,IAAjB,CAAJ;AAAA,GAAnB,CAAd;AACA,SAAOg3B,YAAY,CAACpsB,KAAK,CAAC9T,IAAN,CAAW,EAAX,CAAD,EAAiB0/B,OAAO,CAACnvB,OAAzB,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4vB,kB;;;;;;;WACF,mBAAUzwB,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAOuG,IAAI,CAACnP,KAAZ;AACH;;;WACD,wBAAes9B,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B,wBAAW00B,SAAS,CAAC/D,QAAV,CAAmBx2B,GAAnB,CAAuB,UAAA46B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAA5B,EAAmDh8B,IAAnD,CAAwD,IAAxD,CAAX;AACH;;;WACD,kBAASm7B,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAMi3B,QAAQ,GAAGl7B,MAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuB75B,GAAvB,CAA2B,UAAC66B,CAAD;AAAA,yBAAUA,CAAV,eAAgBhD,GAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,OAAnB,CAAhB;AAAA,OAA3B,CAAjB;AACA,wBAAWb,GAAG,CAAClb,UAAf,eAA8Bkb,GAAG,CAAC7vB,IAAlC,eAA2C80B,QAAQ,CAACpgC,IAAT,CAAc,IAAd,CAA3C;AACH;;;WACD,6BAAoBg+B,EAApB,EAAwB70B,OAAxB,EAAiC;AAAA;;AAC7B,aAAO60B,EAAE,CAACx/B,MAAH,4BACcw/B,EAAE,CAACX,SADjB,qCAEcW,EAAE,CAACX,SAFjB,gBAE+BW,EAAE,CAAClE,QAAH,CAAYx2B,GAAZ,CAAgB,UAAA46B,KAAK;AAAA,eAAIA,KAAK,CAAClC,KAAN,CAAY,OAAZ,CAAJ;AAAA,OAArB,EAA4Ch8B,IAA5C,CAAiD,IAAjD,CAF/B,yBAEmGg+B,EAAE,CAACV,SAFtG,QAAP;AAGH;;;WACD,0BAAiBU,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,aAAO60B,EAAE,CAACz9B,KAAH,wBAAwBy9B,EAAE,CAACl/B,IAA3B,gBAAoCk/B,EAAE,CAACz9B,KAAvC,kCAAmEy9B,EAAE,CAACl/B,IAAtE,SAAP;AACH;;;WACD,6BAAoBk/B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,sCAAwB60B,EAAE,CAACl/B,IAA3B,gBAAoCk/B,EAAE,CAACz9B,KAAH,CAASy7B,KAAT,CAAe,IAAf,CAApC;AACH;;;;;;AAEL,IAAMqE,iBAAiB,GAAG,IAAIF,kBAAJ,EAA1B;;AACA,SAASN,cAAT,CAAwB9D,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAACz4B,GAAN,CAAU,UAAA28B,CAAC;AAAA,WAAIA,CAAC,CAACjE,KAAF,CAAQqE,iBAAR,EAA2B,IAA3B,CAAJ;AAAA,GAAX,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;IACML,8B;;;;;;;;;;;;;WACF,kBAAS7E,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAIi3B,QAAQ,GAAGl7B,MAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuB75B,GAAvB,CAA2B,UAAC66B,CAAD;AAAA,yBAAUA,CAAV,eAAgBhD,GAAG,CAACgC,KAAJ,CAAUgB,CAAV,EAAanC,KAAb,CAAmB,OAAnB,CAAhB;AAAA,OAA3B,CAAf,CADmB,CAEnB;;AACA,wBAAWb,GAAG,CAAC7vB,IAAf,eAAwB80B,QAAQ,CAACpgC,IAAT,CAAc,IAAd,CAAxB;AACH;;;;EALwCmgC,kB;AAO7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASP,IAAT,CAAczuB,GAAd,EAAmB;AACf,MAAMmvB,IAAI,GAAG/iB,UAAU,CAACpM,GAAD,CAAvB;AACA,MAAMovB,OAAO,GAAGC,cAAc,CAACF,IAAD,EAAOG,MAAM,CAACC,GAAd,CAA9B;AACA,MAAMt1B,GAAG,GAAGk1B,IAAI,CAAC1hC,MAAL,GAAc,CAA1B;AACA,MAAM+hC,CAAC,GAAGzhB,QAAQ,CAAC,EAAD,CAAlB;AACA,MAAI+gB,CAAC,GAAG,UAAR;AAAA,MAAoBW,CAAC,GAAG,UAAxB;AAAA,MAAoC76B,CAAC,GAAG,UAAxC;AAAA,MAAoD86B,CAAC,GAAG,UAAxD;AAAA,MAAoEjzB,CAAC,GAAG,UAAxE;AACA2yB,SAAO,CAACn1B,GAAG,IAAI,CAAR,CAAP,IAAqB,QAAS,KAAKA,GAAG,GAAG,EAAzC;AACAm1B,SAAO,CAAC,CAAEn1B,GAAG,GAAG,EAAN,IAAY,CAAb,IAAmB,CAApB,IAAyB,EAA1B,CAAP,GAAuCA,GAAvC;;AACA,OAAK,IAAInL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsgC,OAAO,CAAC3hC,MAA5B,EAAoCqB,CAAC,IAAI,EAAzC,EAA6C;AACzC,QAAM6gC,EAAE,GAAGb,CAAX;AAAA,QAAcc,EAAE,GAAGH,CAAnB;AAAA,QAAsBI,EAAE,GAAGj7B,CAA3B;AAAA,QAA8Bk7B,EAAE,GAAGJ,CAAnC;AAAA,QAAsCK,EAAE,GAAGtzB,CAA3C;;AACA,SAAK,IAAIuzB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,EAAzB,EAA6B;AACzB,UAAIA,CAAC,GAAG,EAAR,EAAY;AACRR,SAAC,CAACQ,CAAD,CAAD,GAAOZ,OAAO,CAACtgC,CAAC,GAAGkhC,CAAL,CAAd;AACH,OAFD,MAGK;AACDR,SAAC,CAACQ,CAAD,CAAD,GAAOC,KAAK,CAACT,CAAC,CAACQ,CAAC,GAAG,CAAL,CAAD,GAAWR,CAAC,CAACQ,CAAC,GAAG,CAAL,CAAZ,GAAsBR,CAAC,CAACQ,CAAC,GAAG,EAAL,CAAvB,GAAkCR,CAAC,CAACQ,CAAC,GAAG,EAAL,CAApC,EAA8C,CAA9C,CAAZ;AACH;;AACD,UAAME,KAAK,GAAGC,EAAE,CAACH,CAAD,EAAIP,CAAJ,EAAO76B,CAAP,EAAU86B,CAAV,CAAhB;AACA,UAAMlrB,CAAC,GAAG0rB,KAAK,CAAC,CAAD,CAAf;AACA,UAAMlD,CAAC,GAAGkD,KAAK,CAAC,CAAD,CAAf;AACA,UAAME,IAAI,GAAG,CAACH,KAAK,CAACnB,CAAD,EAAI,CAAJ,CAAN,EAActqB,CAAd,EAAiB/H,CAAjB,EAAoBuwB,CAApB,EAAuBwC,CAAC,CAACQ,CAAD,CAAxB,EAA6BpU,MAA7B,CAAoCyU,KAApC,CAAb;AACA5zB,OAAC,GAAGizB,CAAJ;AACAA,OAAC,GAAG96B,CAAJ;AACAA,OAAC,GAAGq7B,KAAK,CAACR,CAAD,EAAI,EAAJ,CAAT;AACAA,OAAC,GAAGX,CAAJ;AACAA,OAAC,GAAGsB,IAAJ;AACH;;AACDtB,KAAC,GAAGuB,KAAK,CAACvB,CAAD,EAAIa,EAAJ,CAAT;AACAF,KAAC,GAAGY,KAAK,CAACZ,CAAD,EAAIG,EAAJ,CAAT;AACAh7B,KAAC,GAAGy7B,KAAK,CAACz7B,CAAD,EAAIi7B,EAAJ,CAAT;AACAH,KAAC,GAAGW,KAAK,CAACX,CAAD,EAAII,EAAJ,CAAT;AACArzB,KAAC,GAAG4zB,KAAK,CAAC5zB,CAAD,EAAIszB,EAAJ,CAAT;AACH;;AACD,SAAOO,gBAAgB,CAACC,mBAAmB,CAAC,CAACzB,CAAD,EAAIW,CAAJ,EAAO76B,CAAP,EAAU86B,CAAV,EAAajzB,CAAb,CAAD,CAApB,CAAvB;AACH;;AACD,SAAS0zB,EAAT,CAAY71B,KAAZ,EAAmBm1B,CAAnB,EAAsB76B,CAAtB,EAAyB86B,CAAzB,EAA4B;AACxB,MAAIp1B,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAEm1B,CAAC,GAAG76B,CAAL,GAAW,CAAC66B,CAAD,GAAKC,CAAjB,EAAqB,UAArB,CAAP;AACH;;AACD,MAAIp1B,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAACm1B,CAAC,GAAG76B,CAAJ,GAAQ86B,CAAT,EAAY,UAAZ,CAAP;AACH;;AACD,MAAIp1B,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAEm1B,CAAC,GAAG76B,CAAL,GAAW66B,CAAC,GAAGC,CAAf,GAAqB96B,CAAC,GAAG86B,CAA1B,EAA8B,UAA9B,CAAP;AACH;;AACD,SAAO,CAACD,CAAC,GAAG76B,CAAJ,GAAQ86B,CAAT,EAAY,UAAZ,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,WAAT,CAAqBxwB,GAArB,EAA0B;AACtB,MAAMmvB,IAAI,GAAG/iB,UAAU,CAACpM,GAAD,CAAvB;AACA,MAAIywB,EAAE,GAAGC,MAAM,CAACvB,IAAD,EAAO,CAAP,CAAf;AACA,MAAIwB,EAAE,GAAGD,MAAM,CAACvB,IAAD,EAAO,MAAP,CAAf;;AACA,MAAIsB,EAAE,IAAI,CAAN,KAAYE,EAAE,IAAI,CAAN,IAAWA,EAAE,IAAI,CAA7B,CAAJ,EAAqC;AACjCF,MAAE,GAAGA,EAAE,GAAG,UAAV;AACAE,MAAE,GAAGA,EAAE,GAAG,CAAC,UAAX;AACH;;AACD,SAAO,CAACF,EAAD,EAAKE,EAAL,CAAP;AACH;;AACD,SAAS5B,YAAT,CAAsBtjB,GAAtB,EAAyC;AAAA,MAAdrM,OAAc,uEAAJ,EAAI;AACrC,MAAIwxB,cAAc,GAAGJ,WAAW,CAAC/kB,GAAD,CAAhC;;AACA,MAAIrM,OAAJ,EAAa;AACT,QAAMyxB,kBAAkB,GAAGL,WAAW,CAACpxB,OAAD,CAAtC;AACAwxB,kBAAc,GAAGE,KAAK,CAACC,KAAK,CAACH,cAAD,EAAiB,CAAjB,CAAN,EAA2BC,kBAA3B,CAAtB;AACH;;AACD,MAAMJ,EAAE,GAAGG,cAAc,CAAC,CAAD,CAAzB;AACA,MAAMD,EAAE,GAAGC,cAAc,CAAC,CAAD,CAAzB;AACA,SAAOI,oBAAoB,CAACP,EAAE,GAAG,UAAN,EAAkBE,EAAlB,CAA3B;AACH;;AACD,SAASD,MAAT,CAAgBO,KAAhB,EAAuBr8B,CAAvB,EAA0B;AACtB,MAAIk6B,CAAC,GAAG,UAAR;AAAA,MAAoBW,CAAC,GAAG,UAAxB;AACA,MAAI3gC,CAAJ;AACA,MAAMmL,GAAG,GAAGg3B,KAAK,CAACxjC,MAAlB;;AACA,OAAKqB,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAJ,IAAUmL,GAAtB,EAA2BnL,CAAC,IAAI,EAAhC,EAAoC;AAChCggC,KAAC,GAAGuB,KAAK,CAACvB,CAAD,EAAIoC,MAAM,CAACD,KAAD,EAAQniC,CAAR,EAAWwgC,MAAM,CAAC6B,MAAlB,CAAV,CAAT;AACA1B,KAAC,GAAGY,KAAK,CAACZ,CAAD,EAAIyB,MAAM,CAACD,KAAD,EAAQniC,CAAC,GAAG,CAAZ,EAAewgC,MAAM,CAAC6B,MAAtB,CAAV,CAAT;AACAv8B,KAAC,GAAGy7B,KAAK,CAACz7B,CAAD,EAAIs8B,MAAM,CAACD,KAAD,EAAQniC,CAAC,GAAG,CAAZ,EAAewgC,MAAM,CAAC6B,MAAtB,CAAV,CAAT;AACA,QAAM9hC,GAAG,GAAG+hC,GAAG,CAACtC,CAAD,EAAIW,CAAJ,EAAO76B,CAAP,CAAf;AACAk6B,KAAC,GAAGz/B,GAAG,CAAC,CAAD,CAAP,EAAYogC,CAAC,GAAGpgC,GAAG,CAAC,CAAD,CAAnB,EAAwBuF,CAAC,GAAGvF,GAAG,CAAC,CAAD,CAA/B;AACH;;AACDy/B,GAAC,GAAGuB,KAAK,CAACvB,CAAD,EAAIoC,MAAM,CAACD,KAAD,EAAQniC,CAAR,EAAWwgC,MAAM,CAAC6B,MAAlB,CAAV,CAAT;AACA1B,GAAC,GAAGY,KAAK,CAACZ,CAAD,EAAIyB,MAAM,CAACD,KAAD,EAAQniC,CAAC,GAAG,CAAZ,EAAewgC,MAAM,CAAC6B,MAAtB,CAAV,CAAT,CAZsB,CAatB;;AACAv8B,GAAC,GAAGy7B,KAAK,CAACz7B,CAAD,EAAIqF,GAAJ,CAAT;AACArF,GAAC,GAAGy7B,KAAK,CAACz7B,CAAD,EAAIs8B,MAAM,CAACD,KAAD,EAAQniC,CAAC,GAAG,CAAZ,EAAewgC,MAAM,CAAC6B,MAAtB,CAAN,IAAuC,CAA3C,CAAT;AACA,SAAOC,GAAG,CAACtC,CAAD,EAAIW,CAAJ,EAAO76B,CAAP,CAAH,CAAa,CAAb,CAAP;AACH,C,CACD;;;AACA,SAASw8B,GAAT,CAAatC,CAAb,EAAgBW,CAAhB,EAAmB76B,CAAnB,EAAsB;AAClBk6B,GAAC,GAAGuC,KAAK,CAACvC,CAAD,EAAIW,CAAJ,CAAT;AACAX,GAAC,GAAGuC,KAAK,CAACvC,CAAD,EAAIl6B,CAAJ,CAAT;AACAk6B,GAAC,IAAIl6B,CAAC,KAAK,EAAX;AACA66B,GAAC,GAAG4B,KAAK,CAAC5B,CAAD,EAAI76B,CAAJ,CAAT;AACA66B,GAAC,GAAG4B,KAAK,CAAC5B,CAAD,EAAIX,CAAJ,CAAT;AACAW,GAAC,IAAIX,CAAC,IAAI,CAAV;AACAl6B,GAAC,GAAGy8B,KAAK,CAACz8B,CAAD,EAAIk6B,CAAJ,CAAT;AACAl6B,GAAC,GAAGy8B,KAAK,CAACz8B,CAAD,EAAI66B,CAAJ,CAAT;AACA76B,GAAC,IAAI66B,CAAC,KAAK,EAAX;AACAX,GAAC,GAAGuC,KAAK,CAACvC,CAAD,EAAIW,CAAJ,CAAT;AACAX,GAAC,GAAGuC,KAAK,CAACvC,CAAD,EAAIl6B,CAAJ,CAAT;AACAk6B,GAAC,IAAIl6B,CAAC,KAAK,EAAX;AACA66B,GAAC,GAAG4B,KAAK,CAAC5B,CAAD,EAAI76B,CAAJ,CAAT;AACA66B,GAAC,GAAG4B,KAAK,CAAC5B,CAAD,EAAIX,CAAJ,CAAT;AACAW,GAAC,IAAIX,CAAC,IAAI,EAAV;AACAl6B,GAAC,GAAGy8B,KAAK,CAACz8B,CAAD,EAAIk6B,CAAJ,CAAT;AACAl6B,GAAC,GAAGy8B,KAAK,CAACz8B,CAAD,EAAI66B,CAAJ,CAAT;AACA76B,GAAC,IAAI66B,CAAC,KAAK,CAAX;AACAX,GAAC,GAAGuC,KAAK,CAACvC,CAAD,EAAIW,CAAJ,CAAT;AACAX,GAAC,GAAGuC,KAAK,CAACvC,CAAD,EAAIl6B,CAAJ,CAAT;AACAk6B,GAAC,IAAIl6B,CAAC,KAAK,CAAX;AACA66B,GAAC,GAAG4B,KAAK,CAAC5B,CAAD,EAAI76B,CAAJ,CAAT;AACA66B,GAAC,GAAG4B,KAAK,CAAC5B,CAAD,EAAIX,CAAJ,CAAT;AACAW,GAAC,IAAIX,CAAC,IAAI,EAAV;AACAl6B,GAAC,GAAGy8B,KAAK,CAACz8B,CAAD,EAAIk6B,CAAJ,CAAT;AACAl6B,GAAC,GAAGy8B,KAAK,CAACz8B,CAAD,EAAI66B,CAAJ,CAAT;AACA76B,GAAC,IAAI66B,CAAC,KAAK,EAAX;AACA,SAAO,CAACX,CAAD,EAAIW,CAAJ,EAAO76B,CAAP,CAAP;AACH,C,CACD;AACA;;;AACA,IAAI06B,MAAJ;;AACA,CAAC,UAAUA,MAAV,EAAkB;AACfA,QAAM,CAACA,MAAM,CAAC,QAAD,CAAN,GAAmB,CAApB,CAAN,GAA+B,QAA/B;AACAA,QAAM,CAACA,MAAM,CAAC,KAAD,CAAN,GAAgB,CAAjB,CAAN,GAA4B,KAA5B;AACH,CAHD,EAGGA,MAAM,KAAKA,MAAM,GAAG,EAAd,CAHT;;AAIA,SAASe,KAAT,CAAevB,CAAf,EAAkBW,CAAlB,EAAqB;AACjB,SAAO6B,SAAS,CAACxC,CAAD,EAAIW,CAAJ,CAAT,CAAgB,CAAhB,CAAP;AACH;;AACD,SAAS6B,SAAT,CAAmBxC,CAAnB,EAAsBW,CAAtB,EAAyB;AACrB,MAAMjjB,GAAG,GAAG,CAACsiB,CAAC,GAAG,MAAL,KAAgBW,CAAC,GAAG,MAApB,CAAZ;AACA,MAAM8B,IAAI,GAAG,CAACzC,CAAC,KAAK,EAAP,KAAcW,CAAC,KAAK,EAApB,KAA2BjjB,GAAG,KAAK,EAAnC,CAAb;AACA,SAAO,CAAC+kB,IAAI,KAAK,EAAV,EAAeA,IAAI,IAAI,EAAT,GAAgB/kB,GAAG,GAAG,MAApC,CAAP;AACH;;AACD,SAASskB,KAAT,CAAehC,CAAf,EAAkBW,CAAlB,EAAqB;AACjB,MAAM+B,EAAE,GAAG1C,CAAC,CAAC,CAAD,CAAZ;AAAA,MAAiB2C,EAAE,GAAG3C,CAAC,CAAC,CAAD,CAAvB;AACA,MAAM4C,EAAE,GAAGjC,CAAC,CAAC,CAAD,CAAZ;AAAA,MAAiBkC,EAAE,GAAGlC,CAAC,CAAC,CAAD,CAAvB;AACA,MAAMxgC,MAAM,GAAGqiC,SAAS,CAACG,EAAD,EAAKE,EAAL,CAAxB;AACA,MAAMpE,KAAK,GAAGt+B,MAAM,CAAC,CAAD,CAApB;AACA,MAAM2iC,CAAC,GAAG3iC,MAAM,CAAC,CAAD,CAAhB;AACA,MAAM4iC,CAAC,GAAGxB,KAAK,CAACA,KAAK,CAACmB,EAAD,EAAKE,EAAL,CAAN,EAAgBnE,KAAhB,CAAf;AACA,SAAO,CAACsE,CAAD,EAAID,CAAJ,CAAP;AACH;;AACD,SAASP,KAAT,CAAevC,CAAf,EAAkBW,CAAlB,EAAqB;AACjB,MAAMjjB,GAAG,GAAG,CAACsiB,CAAC,GAAG,MAAL,KAAgBW,CAAC,GAAG,MAApB,CAAZ;AACA,MAAM8B,IAAI,GAAG,CAACzC,CAAC,IAAI,EAAN,KAAaW,CAAC,IAAI,EAAlB,KAAyBjjB,GAAG,IAAI,EAAhC,CAAb;AACA,SAAQ+kB,IAAI,IAAI,EAAT,GAAgB/kB,GAAG,GAAG,MAA7B;AACH,C,CACD;;;AACA,SAASyjB,KAAT,CAAenB,CAAf,EAAkBgD,KAAlB,EAAyB;AACrB,SAAQhD,CAAC,IAAIgD,KAAN,GAAgBhD,CAAC,KAAM,KAAKgD,KAAnC;AACH,C,CACD;;;AACA,SAASf,KAAT,CAAepD,GAAf,EAAoBmE,KAApB,EAA2B;AACvB,MAAMrB,EAAE,GAAG9C,GAAG,CAAC,CAAD,CAAd;AAAA,MAAmBgD,EAAE,GAAGhD,GAAG,CAAC,CAAD,CAA3B;AACA,MAAMkE,CAAC,GAAIpB,EAAE,IAAIqB,KAAP,GAAiBnB,EAAE,KAAM,KAAKmB,KAAxC;AACA,MAAMF,CAAC,GAAIjB,EAAE,IAAImB,KAAP,GAAiBrB,EAAE,KAAM,KAAKqB,KAAxC;AACA,SAAO,CAACD,CAAD,EAAID,CAAJ,CAAP;AACH;;AACD,SAASvC,cAAT,CAAwB4B,KAAxB,EAA+Bc,MAA/B,EAAuC;AACnC,MAAM/jB,IAAI,GAAIijB,KAAK,CAACxjC,MAAN,GAAe,CAAhB,KAAuB,CAApC;AACA,MAAM2hC,OAAO,GAAG,EAAhB;;AACA,OAAK,IAAItgC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkf,IAApB,EAA0Blf,CAAC,EAA3B,EAA+B;AAC3BsgC,WAAO,CAACtgC,CAAD,CAAP,GAAaoiC,MAAM,CAACD,KAAD,EAAQniC,CAAC,GAAG,CAAZ,EAAeijC,MAAf,CAAnB;AACH;;AACD,SAAO3C,OAAP;AACH;;AACD,SAAS4C,MAAT,CAAgBf,KAAhB,EAAuB32B,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,IAAI22B,KAAK,CAACxjC,MAAf,GAAwB,CAAxB,GAA4BwjC,KAAK,CAAC32B,KAAD,CAAxC;AACH;;AACD,SAAS42B,MAAT,CAAgBD,KAAhB,EAAuB32B,KAAvB,EAA8By3B,MAA9B,EAAsC;AAClC,MAAIE,IAAI,GAAG,CAAX;;AACA,MAAIF,MAAM,KAAKzC,MAAM,CAACC,GAAtB,EAA2B;AACvB,SAAK,IAAIzgC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxBmjC,UAAI,IAAID,MAAM,CAACf,KAAD,EAAQ32B,KAAK,GAAGxL,CAAhB,CAAN,IAA6B,KAAK,IAAIA,CAA9C;AACH;AACJ,GAJD,MAKK;AACD,SAAK,IAAIA,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG,CAApB,EAAuBA,GAAC,EAAxB,EAA4B;AACxBmjC,UAAI,IAAID,MAAM,CAACf,KAAD,EAAQ32B,KAAK,GAAGxL,GAAhB,CAAN,IAA4B,IAAIA,GAAxC;AACH;AACJ;;AACD,SAAOmjC,IAAP;AACH;;AACD,SAAS1B,mBAAT,CAA6BnB,OAA7B,EAAsC;AAClC,SAAOA,OAAO,CAACxT,MAAR,CAAe,UAACqV,KAAD,EAAQgB,IAAR;AAAA,WAAiBhB,KAAK,CAAC9hC,MAAN,CAAa+iC,kBAAkB,CAACD,IAAD,CAA/B,CAAjB;AAAA,GAAf,EAAwE,EAAxE,CAAP;AACH;;AACD,SAASC,kBAAT,CAA4BD,IAA5B,EAAkC;AAC9B,MAAIhB,KAAK,GAAG,EAAZ;;AACA,OAAK,IAAIniC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxBmiC,SAAK,CAAC/hC,IAAN,CAAY+iC,IAAI,KAAK,KAAK,IAAInjC,CAAT,CAAV,GAAyB,IAApC;AACH;;AACD,SAAOmiC,KAAP;AACH;;AACD,SAASX,gBAAT,CAA0BW,KAA1B,EAAiC;AAC7B,MAAIkB,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIrjC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmiC,KAAK,CAACxjC,MAA1B,EAAkCqB,CAAC,EAAnC,EAAuC;AACnC,QAAM2gC,CAAC,GAAGuC,MAAM,CAACf,KAAD,EAAQniC,CAAR,CAAhB;AACAqjC,OAAG,IAAI,CAAC1C,CAAC,KAAK,CAAP,EAAU9iB,QAAV,CAAmB,EAAnB,IAAyB,CAAC8iB,CAAC,GAAG,IAAL,EAAW9iB,QAAX,CAAoB,EAApB,CAAhC;AACH;;AACD,SAAOwlB,GAAG,CAACvkC,WAAJ,EAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMwkC,OAAO,GAAG,IAAIlE,oBAAJ,CAAyB,GAAzB,CAAhB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS8C,oBAAT,CAA8BP,EAA9B,EAAkCE,EAAlC,EAAsC;AAClC;AACA;AACA;AACA,MAAM0B,OAAO,GAAGD,OAAO,CAACE,YAAR,CAAqB,CAArB,EAAwBjE,UAAxB,CAAmCsC,EAAnC,CAAhB,CAJkC,CAKlC;AACA;;AACAyB,SAAO,CAACE,YAAR,CAAqB,CAArB,EAAwBxE,kBAAxB,CAA2C2C,EAA3C,EAA+C4B,OAA/C;AACA,SAAOA,OAAO,CAAC1lB,QAAR,EAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4lB,U;;;;;;;WACF;AACA;AACA,8BAAiBhE,OAAjB,EAA0B;AACtB,aAAO,IAAP;AACH;;;;;AAEL;AACA;AACA;;;IACMiE,uB;;;;;AACF;AACA,mCAAYjE,OAAZ,EAAqBkE,OAArB,EAA8B;AAAA;;AAAA;;AAC1B;AACA,YAAKA,OAAL,GAAeA,OAAf;AACA,YAAKC,gBAAL,GAAwB,EAAxB;AACA,YAAKC,cAAL,GAAsB,EAAtB;AACA,YAAKC,gBAAL,GAAwB,EAAxB;AACArE,WAAO,CAAC3D,KAAR,CAAcl9B,OAAd,CAAsB,UAAAuP,IAAI;AAAA,aAAIA,IAAI,CAAC4tB,KAAL,yKAAJ;AAAA,KAA1B;AAN0B;AAO7B;;;;WACD,sBAAagI,YAAb,EAA2B;AACvB,aAAO,KAAKH,gBAAL,CAAsB3lB,cAAtB,CAAqC8lB,YAArC,IACH,KAAKH,gBAAL,CAAsBG,YAAtB,CADG,GAEH,IAFJ;AAGH;;;WACD,wBAAeC,UAAf,EAA2B;AACvB,aAAO,KAAKF,gBAAL,CAAsB7lB,cAAtB,CAAqC+lB,UAArC,IAAmD,KAAKF,gBAAL,CAAsBE,UAAtB,CAAnD,GACH,IADJ;AAEH;;;WACD,mBAAUv0B,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,IAAP;AACH;;;WACD,6BAAoB60B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,WAAK+6B,oBAAL,CAA0BlG,EAAE,CAACX,SAA7B;;AACA,uXAA0BW,EAA1B,EAA8B70B,OAA9B;;AACA,WAAK+6B,oBAAL,CAA0BlG,EAAE,CAACV,SAA7B;AACH;;;WACD,0BAAiBU,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,WAAK+6B,oBAAL,CAA0BlG,EAAE,CAACl/B,IAA7B;AACH;;;WACD,6BAAoBk/B,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,WAAK+6B,oBAAL,CAA0BlG,EAAE,CAACl/B,IAA7B;AACH,K,CACD;;;;WACA,8BAAqBklC,YAArB,EAAmC;AAC/B,UAAI,CAACA,YAAD,IAAiB,KAAKH,gBAAL,CAAsB3lB,cAAtB,CAAqC8lB,YAArC,CAArB,EAAyE;AACrE;AACH;;AACD,UAAIC,UAAU,GAAG,KAAKL,OAAL,CAAaI,YAAb,CAAjB;;AACA,UAAI,KAAKD,gBAAL,CAAsB7lB,cAAtB,CAAqC+lB,UAArC,CAAJ,EAAsD;AAClD;AACA,YAAMxnC,MAAM,GAAG,KAAKqnC,cAAL,CAAoBG,UAApB,CAAf;AACA,aAAKH,cAAL,CAAoBG,UAApB,IAAkCxnC,MAAM,GAAG,CAA3C;AACAwnC,kBAAU,aAAMA,UAAN,cAAoBxnC,MAApB,CAAV;AACH,OALD,MAMK;AACD,aAAKqnC,cAAL,CAAoBG,UAApB,IAAkC,CAAlC;AACH;;AACD,WAAKJ,gBAAL,CAAsBG,YAAtB,IAAsCC,UAAtC;AACA,WAAKF,gBAAL,CAAsBE,UAAtB,IAAoCD,YAApC;AACH;;;;EAlDiC/F,c;AAqDtC;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMkG,Q;;;;;;;WACF,kBAAS9iC,GAAT,EAAc;AAAA;;AACV,UAAM+iC,QAAQ,GAAG,KAAKC,oBAAL,CAA0BhjC,GAAG,CAACzB,KAA9B,CAAjB;;AACA,UAAIyB,GAAG,CAACy4B,QAAJ,CAAal7B,MAAb,IAAuB,CAA3B,EAA8B;AAC1B,0BAAWyC,GAAG,CAACvC,IAAf,SAAsBslC,QAAtB;AACH;;AACD,UAAME,WAAW,GAAGjjC,GAAG,CAACy4B,QAAJ,CAAax2B,GAAb,CAAiB,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,OAAX,CAAJ;AAAA,OAArB,CAApB;AACA,wBAAW36B,GAAG,CAACvC,IAAf,SAAsBslC,QAAtB,cAAkCE,WAAW,CAACtkC,IAAZ,CAAiB,EAAjB,CAAlC,eAA2DqB,GAAG,CAACvC,IAA/D;AACH;;;WACD,mBAAU4Q,IAAV,EAAgB;AACZ,aAAOA,IAAI,CAACnP,KAAZ;AACH;;;WACD,0BAAiBgkC,IAAjB,EAAuB;AACnB,4BAAe,KAAKF,oBAAL,CAA0BE,IAAI,CAAC3kC,KAA/B,CAAf;AACH;;;WACD,8BAAqBA,KAArB,EAA4B;AACxB,UAAMwkC,QAAQ,GAAGl/B,MAAM,CAAC+T,IAAP,CAAYrZ,KAAZ,EAAmB0D,GAAnB,CAAuB,UAACxE,IAAD;AAAA,yBAAaA,IAAb,gBAAsBc,KAAK,CAACd,IAAD,CAA3B;AAAA,OAAvB,EAA6DkB,IAA7D,CAAkE,GAAlE,CAAjB;AACA,aAAOokC,QAAQ,CAACxlC,MAAT,GAAkB,CAAlB,GAAsB,MAAMwlC,QAA5B,GAAuC,EAA9C;AACH;;;WACD,sBAAaI,OAAb,EAAsB;AAClB,iCAAoBA,OAAO,CAACC,OAA5B,iBAA0CD,OAAO,CAACE,GAAlD;AACH;;;;;;AAEL,IAAMC,QAAQ,GAAG,IAAIR,QAAJ,EAAjB;;AACA,SAASS,SAAT,CAAmB7I,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CAACz4B,GAAN,CAAU,UAAC8K,IAAD;AAAA,WAAUA,IAAI,CAAC4tB,KAAL,CAAW2I,QAAX,CAAV;AAAA,GAAV,EAA0C3kC,IAA1C,CAA+C,EAA/C,CAAP;AACH;;IACK6kC,W;AACF,uBAAYC,cAAZ,EAA4B;AAAA;;AAAA;;AACxB,SAAKllC,KAAL,GAAa,EAAb;AACAsF,UAAM,CAAC+T,IAAP,CAAY6rB,cAAZ,EAA4BjmC,OAA5B,CAAoC,UAACs/B,CAAD,EAAO;AACvC,aAAI,CAACv+B,KAAL,CAAWu+B,CAAX,IAAgB4G,SAAS,CAACD,cAAc,CAAC3G,CAAD,CAAf,CAAzB;AACH,KAFD;AAGH;;;;WACD,eAAMj1B,OAAN,EAAe;AACX,aAAOA,OAAO,CAAC87B,gBAAR,CAAyB,IAAzB,CAAP;AACH;;;;;;IAECC,O;AACF,mBAAYR,OAAZ,EAAqBC,GAArB,EAA0B;AAAA;;AACtB,SAAKD,OAAL,GAAeA,OAAf;AACA,SAAKC,GAAL,GAAWA,GAAX;AACH;;;;WACD,eAAMx7B,OAAN,EAAe;AACX,aAAOA,OAAO,CAACg8B,YAAR,CAAqB,IAArB,CAAP;AACH;;;;;;IAECC,G;AACF,eAAYrmC,IAAZ,EAAsD;AAAA;;AAAA,QAApCgmC,cAAoC,uEAAnB,EAAmB;AAAA,QAAfhL,QAAe,uEAAJ,EAAI;;AAAA;;AAClD,SAAKh7B,IAAL,GAAYA,IAAZ;AACA,SAAKg7B,QAAL,GAAgBA,QAAhB;AACA,SAAKl6B,KAAL,GAAa,EAAb;AACAsF,UAAM,CAAC+T,IAAP,CAAY6rB,cAAZ,EAA4BjmC,OAA5B,CAAoC,UAACs/B,CAAD,EAAO;AACvC,aAAI,CAACv+B,KAAL,CAAWu+B,CAAX,IAAgB4G,SAAS,CAACD,cAAc,CAAC3G,CAAD,CAAf,CAAzB;AACH,KAFD;AAGH;;;;WACD,eAAMj1B,OAAN,EAAe;AACX,aAAOA,OAAO,CAACk8B,QAAR,CAAiB,IAAjB,CAAP;AACH;;;;;;IAECC,M;AACF,kBAAYC,cAAZ,EAA4B;AAAA;;AACxB,SAAK/kC,KAAL,GAAawkC,SAAS,CAACO,cAAD,CAAtB;AACH;;;;WACD,eAAMp8B,OAAN,EAAe;AACX,aAAOA,OAAO,CAACwvB,SAAR,CAAkB,IAAlB,CAAP;AACH;;;;;;IAEC6M,E;;;;;AACF,gBAAoB;AAAA,QAARC,EAAQ,uEAAH,CAAG;;AAAA;;AAAA,2CACL,IAAIjqB,KAAJ,CAAUiqB,EAAE,GAAG,CAAf,EAAkBxlC,IAAlB,CAAuB,GAAvB,CADK;AAEnB;;;EAHYqlC,M;;AAKjB,IAAMI,cAAc,GAAG,CACnB,CAAC,IAAD,EAAO,OAAP,CADmB,EAEnB,CAAC,IAAD,EAAO,QAAP,CAFmB,EAGnB,CAAC,IAAD,EAAO,QAAP,CAHmB,EAInB,CAAC,IAAD,EAAO,MAAP,CAJmB,EAKnB,CAAC,IAAD,EAAO,MAAP,CALmB,CAAvB,C,CAOA;;AACA,SAASV,SAAT,CAAmBr1B,IAAnB,EAAyB;AACrB,SAAO+1B,cAAc,CAAC1Y,MAAf,CAAsB,UAACrd,IAAD,EAAO4H,KAAP;AAAA,WAAiB5H,IAAI,CAAC0B,OAAL,CAAakG,KAAK,CAAC,CAAD,CAAlB,EAAuBA,KAAK,CAAC,CAAD,CAA5B,CAAjB;AAAA,GAAtB,EAAyE5H,IAAzE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMg2B,aAAa,GAAG,eAAtB;AACA,IAAMC,YAAY,GAAG,KAArB;AACA,IAAMC,gBAAgB,GAAG,IAAzB;AACA,IAAMC,YAAY,GAAG,IAArB;AACA,IAAMC,WAAW,GAAG,QAApB;AACA,IAAMC,QAAQ,0jBAAd;;IAmBMC,G;;;;;;;;;;;;;WACF,eAAMC,QAAN,EAAgBC,MAAhB,EAAwB;AACpB,UAAMC,cAAc,GAAG,IAAIC,cAAJ,EAAvB;AACA,UAAMl9B,OAAO,GAAG,IAAIm9B,UAAJ,EAAhB;AACA,UAAIC,QAAQ,GAAG,IAAInB,GAAJ,CAAQO,aAAR,CAAf;AACAO,cAAQ,CAACpnC,OAAT,CAAiB,UAAA6gC,OAAO,EAAI;AACxB,YAAM9/B,KAAK,GAAG;AAAE2Z,YAAE,EAAEmmB,OAAO,CAACnmB;AAAd,SAAd;;AACA,YAAImmB,OAAO,CAACpvB,WAAZ,EAAyB;AACrB1Q,eAAK,CAAC,MAAD,CAAL,GAAgB8/B,OAAO,CAACpvB,WAAxB;AACH;;AACD,YAAIovB,OAAO,CAACnvB,OAAZ,EAAqB;AACjB3Q,eAAK,CAAC,SAAD,CAAL,GAAmB8/B,OAAO,CAACnvB,OAA3B;AACH;;AACD,YAAIg2B,UAAU,GAAG,EAAjB;AACA7G,eAAO,CAACrD,OAAR,CAAgBx9B,OAAhB,CAAwB,UAAC2nC,MAAD,EAAY;AAChCD,oBAAU,CAAClmC,IAAX,CAAgB,IAAI8kC,GAAJ,CAAQW,WAAR,EAAqB,EAArB,EAAyB,CAAC,IAAIT,MAAJ,WAAcmB,MAAM,CAAChgB,QAArB,cAAiCggB,MAAM,CAAChK,SAAxC,SAAoDgK,MAAM,CAAC5J,OAAP,KAAmB4J,MAAM,CAAChK,SAA1B,GAAsC,MAAMgK,MAAM,CAAC5J,OAAnD,GAA6D,EAAjH,EAAD,CAAzB,CAAhB;AACH,SAFD;AAGA0J,gBAAQ,CAACxM,QAAT,CAAkBz5B,IAAlB,CAAuB,IAAIklC,EAAJ,CAAO,CAAP,CAAvB,EAAkC,IAAIJ,GAAJ,CAAQQ,YAAR,EAAsB/lC,KAAtB,YAAiC2mC,UAAjC,8JAAgDr9B,OAAO,CAAC07B,SAAR,CAAkBlF,OAAO,CAAC3D,KAA1B,CAAhD,GAAlC;AACH,OAbD;AAcAuK,cAAQ,CAACxM,QAAT,CAAkBz5B,IAAlB,CAAuB,IAAIklC,EAAJ,EAAvB;AACA,aAAOX,SAAS,CAAC,CACb,IAAIC,WAAJ,CAAgB;AAAE4B,eAAO,EAAE,KAAX;AAAkBC,gBAAQ,EAAE;AAA5B,OAAhB,CADa,EAEb,IAAInB,EAAJ,EAFa,EAGb,IAAIN,OAAJ,CAAYS,aAAZ,EAA2BK,QAA3B,CAHa,EAIb,IAAIR,EAAJ,EAJa,EAKbY,cAAc,CAACQ,kBAAf,CAAkCL,QAAlC,CALa,EAMb,IAAIf,EAAJ,EANa,CAAD,CAAhB;AAQH;;;WACD,cAAKrK,OAAL,EAAc/N,GAAd,EAAmB;AACf,YAAM,IAAI9vB,KAAJ,CAAU,aAAV,CAAN;AACH;;;WACD,gBAAOqiC,OAAP,EAAgB;AACZ,aAAOkH,QAAQ,CAAClH,OAAD,CAAf;AACH;;;WACD,0BAAiBA,OAAjB,EAA0B;AACtB,aAAO,IAAIiE,uBAAJ,CAA4BjE,OAA5B,EAAqCmH,YAArC,CAAP;AACH;;;;EArCanD,U;;IAuCZ2C,U;;;;;;;WACF,mBAAU32B,IAAV,EAAgBvG,OAAhB,EAAyB;AACrB,aAAO,CAAC,IAAIk8B,MAAJ,CAAW31B,IAAI,CAACnP,KAAhB,CAAD,CAAP;AACH;;;WACD,wBAAes9B,SAAf,EAA0B10B,OAA1B,EAAmC;AAAA;;AAC/B,UAAM4yB,KAAK,GAAG,EAAd;AACA8B,eAAS,CAAC/D,QAAV,CAAmBj7B,OAAnB,CAA2B,UAACuP,IAAD;AAAA,eAAU2tB,KAAK,CAAC17B,IAAN,OAAA07B,KAAK,8JAAS3tB,IAAI,CAAC4tB,KAAL,CAAW,OAAX,CAAT,EAAf;AAAA,OAA3B;AACA,aAAOD,KAAP;AACH;;;WACD,kBAASZ,GAAT,EAAchyB,OAAd,EAAuB;AAAA;;AACnB,UAAM4yB,KAAK,GAAG,CAAC,IAAIsJ,MAAJ,YAAelK,GAAG,CAAC4C,qBAAnB,eAA6C5C,GAAG,CAAC7vB,IAAjD,QAAD,CAAd;AACApG,YAAM,CAAC+T,IAAP,CAAYkiB,GAAG,CAACgC,KAAhB,EAAuBt+B,OAAvB,CAA+B,UAACkH,CAAD,EAAO;AAClCg2B,aAAK,CAAC17B,IAAN,OAAA07B,KAAK,GAAM,IAAIsJ,MAAJ,WAAct/B,CAAd,QAAN,qKAA+Bo1B,GAAG,CAACgC,KAAJ,CAAUp3B,CAAV,EAAai2B,KAAb,CAAmB,OAAnB,CAA/B,IAAyD,IAAIqJ,MAAJ,MAAzD,GAAL;AACH,OAFD;AAGAtJ,WAAK,CAAC17B,IAAN,CAAW,IAAIglC,MAAJ,KAAX;AACA,aAAOtJ,KAAP;AACH;;;WACD,6BAAoBiC,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,UAAM29B,cAAc,GAAG,IAAIzB,MAAJ,YAAerH,EAAE,CAAC38B,GAAlB,OAAvB;AACA,UAAM0lC,OAAO,GAAG,IAAI5B,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAACiB,cAAD,CAA1B,CAAhB,CAF6B,CAG7B;;AACA,UAAME,UAAU,GAAG,IAAI7B,GAAJ,CAAQS,gBAAR,EAA0B;AAAE9mC,YAAI,EAAEk/B,EAAE,CAACX;AAAX,OAA1B,EAAkD,CAAC0J,OAAD,EAAUD,cAAV,CAAlD,CAAnB;;AACA,UAAI9I,EAAE,CAACx/B,MAAP,EAAe;AACX;AACA,eAAO,CAACwoC,UAAD,CAAP;AACH;;AACD,UAAMC,cAAc,GAAG,IAAI5B,MAAJ,aAAgBrH,EAAE,CAAC38B,GAAnB,OAAvB;AACA,UAAM6lC,OAAO,GAAG,IAAI/B,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAACoB,cAAD,CAA1B,CAAhB,CAV6B,CAW7B;;AACA,UAAME,UAAU,GAAG,IAAIhC,GAAJ,CAAQS,gBAAR,EAA0B;AAAE9mC,YAAI,EAAEk/B,EAAE,CAACV;AAAX,OAA1B,EAAkD,CAAC4J,OAAD,EAAUD,cAAV,CAAlD,CAAnB;AACA,cAAQD,UAAR,qKAAuB,KAAKpC,SAAL,CAAe5G,EAAE,CAAClE,QAAlB,CAAvB,IAAoDqN,UAApD;AACH;;;WACD,0BAAiBnJ,EAAjB,EAAqB70B,OAArB,EAA8B;AAC1B,UAAMi+B,mBAAmB,GAAG,IAAI/B,MAAJ,aAAgBrH,EAAE,CAACz9B,KAAnB,QAA5B,CAD0B,CAE1B;;AACA,UAAM8mC,KAAK,GAAG,IAAIlC,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAACuB,mBAAD,CAA1B,CAAd;AACA,aAAO,CACH;AACA,UAAIjC,GAAJ,CAAQS,gBAAR,EAA0B;AAAE9mC,YAAI,EAAEk/B,EAAE,CAACl/B;AAAX,OAA1B,EAA6C,CAACuoC,KAAD,EAAQD,mBAAR,CAA7C,CAFG,CAAP;AAIH;;;WACD,6BAAoBpJ,EAApB,EAAwB70B,OAAxB,EAAiC;AAC7B,UAAMm+B,aAAa,GAAGtJ,EAAE,CAACz9B,KAAH,CAAS0f,UAA/B;AACA,UAAMsnB,OAAO,GAAGvJ,EAAE,CAACz9B,KAAH,CAAS+K,IAAzB;AACA,UAAMk8B,QAAQ,GAAGtiC,MAAM,CAAC+T,IAAP,CAAY+kB,EAAE,CAACz9B,KAAH,CAAS48B,KAArB,EAA4B75B,GAA5B,CAAgC,UAAC/C,KAAD;AAAA,eAAWA,KAAK,GAAG,QAAnB;AAAA,OAAhC,EAA6DP,IAA7D,CAAkE,GAAlE,CAAjB;AACA,UAAMynC,SAAS,GAAG,IAAIpC,MAAJ,YAAeiC,aAAf,eAAiCC,OAAjC,eAA6CC,QAA7C,OAAlB;AACA,UAAMH,KAAK,GAAG,IAAIlC,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAAC4B,SAAD,CAA1B,CAAd;AACA,aAAO,CACH;AACA,UAAItC,GAAJ,CAAQS,gBAAR,EAA0B;AAAE9mC,YAAI,EAAEk/B,EAAE,CAACl/B;AAAX,OAA1B,EAA6C,CAACuoC,KAAD,EAAQI,SAAR,CAA7C,CAFG,CAAP;AAIH;;;WACD,mBAAU1L,KAAV,EAAiB;AAAA;AAAA;;AACb,aAAO,cAAGz7B,MAAH,2KAAay7B,KAAK,CAACz4B,GAAN,CAAU,UAAA8K,IAAI;AAAA,eAAIA,IAAI,CAAC4tB,KAAL,CAAW,OAAX,CAAJ;AAAA,OAAd,CAAb,EAAP;AACH;;;;;;AAEL,SAAS4K,QAAT,CAAkBlH,OAAlB,EAA2B;AACvB,SAAOI,aAAa,CAACJ,OAAD,CAApB;AACH,C,CACD;;;IACM0G,c;;;;;;;WACF,4BAAmBh4B,IAAnB,EAAyB;AACrBA,UAAI,CAAC4tB,KAAL,CAAW,IAAX;AACA,aAAO5tB,IAAP;AACH;;;WACD,kBAAS/M,GAAT,EAAc;AAAA;;AACV,UAAIA,GAAG,CAACvC,IAAJ,KAAa8mC,gBAAjB,EAAmC;AAC/B,YAAI,CAACvkC,GAAG,CAACy4B,QAAL,IAAiBz4B,GAAG,CAACy4B,QAAJ,CAAal7B,MAAb,IAAuB,CAA5C,EAA+C;AAC3C,cAAM8oC,MAAM,GAAG,IAAIrC,MAAJ,CAAWhkC,GAAG,CAACzB,KAAJ,CAAU,MAAV,KAAqB,KAAhC,CAAf;AACAyB,aAAG,CAACy4B,QAAJ,GAAe,CAAC,IAAIqL,GAAJ,CAAQU,YAAR,EAAsB,EAAtB,EAA0B,CAAC6B,MAAD,CAA1B,CAAD,CAAf;AACH;AACJ,OALD,MAMK,IAAIrmC,GAAG,CAACy4B,QAAR,EAAkB;AACnBz4B,WAAG,CAACy4B,QAAJ,CAAaj7B,OAAb,CAAqB,UAAAuP,IAAI;AAAA,iBAAIA,IAAI,CAAC4tB,KAAL,CAAW,OAAX,CAAJ;AAAA,SAAzB;AACH;AACJ;;;WACD,mBAAUtsB,IAAV,EAAgB,CAAG;;;WACnB,0BAAiB60B,IAAjB,EAAuB,CAAG;;;WAC1B,sBAAaC,OAAb,EAAsB,CAAG;;;;KAE7B;;;AACA,SAASqC,YAAT,CAAsB7C,YAAtB,EAAoC;AAChC,SAAOA,YAAY,CAAClpB,WAAb,GAA2B1J,OAA3B,CAAmC,aAAnC,EAAkD,GAAlD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAMu2B,8BAA8B,GAAG,MAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,sBAAsB,GAAG,OAA/B;AACA;;AACA,IAAMC,SAAS,GAAG,MAAlB;AACA,IAAMC,gBAAgB,GAAG,OAAzB;AACA;;AACA,IAAMC,mBAAmB,GAAG,MAA5B;AACA;;AACA,IAAMC,uBAAuB,GAAG,WAAhC;AACA;;AACA,IAAMC,uBAAuB,GAAG,GAAhC;;AACA,SAASC,eAAT,CAAyBppC,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,KAAK+oC,SAAT,IAAsB/oC,IAAI,CAACqpC,UAAL,CAAgBL,gBAAhB,CAA7B;AACH;;AACD,SAASM,cAAT,CAAwB3a,IAAxB,EAA8B;AAC1B,SAAOA,IAAI,YAAY0O,OAAvB;AACH;;AACD,SAASkM,eAAT,CAAyB5a,IAAzB,EAA+B;AAC3B,SAAO2a,cAAc,CAAC3a,IAAD,CAAd,IAAwBA,IAAI,CAACsO,KAAL,CAAWn9B,MAAX,KAAsB,CAA9C,IAAmD6uB,IAAI,CAACsO,KAAL,CAAW,CAAX,aAAyBmB,KAAnF;AACH;;AACD,SAASoL,WAAT,CAAqBl6B,IAArB,EAA2B;AACvB,SAAO,CAAC,CAACA,IAAI,CAAC6lB,IAAd;AACH;;AACD,SAASsU,YAAT,CAAsB7oC,OAAtB,EAA+B;AAC3B,SAAOA,OAAO,CAACE,KAAR,CAAc8c,IAAd,CAAmB,UAAC8rB,IAAD;AAAA,WAAUN,eAAe,CAACM,IAAI,CAAC1pC,IAAN,CAAzB;AAAA,GAAnB,CAAP;AACH;;AACD,SAAS2pC,kBAAT,CAA4B/I,OAA5B,EAAqC;AACjC,SAAOA,OAAO,CAAC3D,KAAR,CAAc,CAAd,CAAP;AACH;;AACD,SAAS2M,mBAAT,CAA6BxN,OAA7B,EAAqD;AAAA,MAAfyN,SAAe,uEAAH,CAAG;AACjD,MAAMC,OAAO,GAAGD,SAAS,GAAG,CAAZ,cAAoBA,SAApB,IAAkC,EAAlD;AACA,mBAAUV,uBAAV,SAAoC/M,OAApC,SAA8C0N,OAA9C,SAAwDX,uBAAxD;AACH;;AACD,SAASY,uBAAT,CAAiCC,OAAjC,EAAgF;AAAA,MAAtCC,iBAAsC,uEAAlB,CAAkB;AAAA,MAAfJ,SAAe,uEAAH,CAAG;AAC5E,MAAI,CAACG,OAAO,CAAClqC,MAAb,EACI,OAAO,EAAP;AACJ,MAAIoqC,GAAG,GAAG,EAAV;AACA,MAAMC,OAAO,GAAGH,OAAO,CAAClqC,MAAR,GAAiB,CAAjC;;AACA,OAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgpC,OAApB,EAA6BhpC,CAAC,EAA9B,EAAkC;AAC9B+oC,OAAG,cAAOF,OAAO,CAAC7oC,CAAD,CAAd,SAAoByoC,mBAAmB,CAACK,iBAAiB,GAAG9oC,CAArB,EAAwB0oC,SAAxB,CAAvC,CAAH;AACH;;AACDK,KAAG,IAAIF,OAAO,CAACG,OAAD,CAAd;AACA,SAAOD,GAAP;AACH;;AACD,SAASE,qBAAT,GAA6C;AAAA,MAAdC,QAAc,uEAAH,CAAG;AACzC,MAAIloC,OAAO,GAAGkoC,QAAd;AACA,SAAO;AAAA,WAAMloC,OAAO,EAAb;AAAA,GAAP;AACH;;AACD,SAASmoC,oBAAT,CAA8BrO,YAA9B,EAA4C;AACxC,MAAMpvB,MAAM,GAAG,EAAf;AACAovB,cAAY,CAACl8B,OAAb,CAAqB,UAACgJ,MAAD,EAAS4L,GAAT,EAAiB;AAClC9H,UAAM,CAAC8H,GAAD,CAAN,GAAc2G,OAAO,CAACvS,MAAM,CAACjJ,MAAP,GAAgB,CAAhB,cAAwBiJ,MAAM,CAAC7H,IAAP,CAAY,GAAZ,CAAxB,SAA8C6H,MAAM,CAAC,CAAD,CAArD,CAArB;AACH,GAFD;AAGA,SAAO8D,MAAP;AACH;;AACD,SAAS09B,oBAAT,CAA8B/lC,GAA9B,EAAmCxE,IAAnC,EAAoD;AAChD,MAAMmC,OAAO,GAAGqC,GAAG,CAACJ,GAAJ,CAAQpE,IAAR,KAAiB,EAAjC;;AADgD,qCAAR+I,MAAQ;AAARA,UAAQ;AAAA;;AAEhD5G,SAAO,CAACZ,IAAR,OAAAY,OAAO,EAAS4G,MAAT,CAAP;AACAvE,KAAG,CAACH,GAAJ,CAAQrE,IAAR,EAAcmC,OAAd;AACH;;AACD,SAASqoC,6BAAT,CAAuC7b,IAAvC,EAAmF;AAAA,MAAtCsb,iBAAsC,uEAAlB,CAAkB;AAAA,MAAfJ,SAAe,uEAAH,CAAG;AAC/E,MAAMY,QAAQ,GAAGR,iBAAjB;AACA,MAAMhO,YAAY,GAAG,IAAIl5B,GAAJ,EAArB;AACA,MAAMuM,IAAI,GAAGqf,IAAI,YAAY0O,OAAhB,GAA0B1O,IAAI,CAACsO,KAAL,CAAWyN,IAAX,CAAgB,UAAAp7B,IAAI;AAAA,WAAIA,IAAI,YAAY4uB,SAApB;AAAA,GAApB,CAA1B,GAA+EvP,IAA5F;;AACA,MAAIrf,IAAJ,EAAU;AACNA,QAAI,CACC0rB,QADL,CAEK7X,MAFL,CAEY,UAACic,KAAD;AAAA,aAAWA,KAAK,YAAYV,WAA5B;AAAA,KAFZ,EAGK3+B,OAHL,CAGa,UAACq/B,KAAD,EAAQuL,GAAR,EAAgB;AACzB,UAAMvO,OAAO,GAAGwN,mBAAmB,CAACa,QAAQ,GAAGE,GAAZ,EAAiBd,SAAjB,CAAnC;AACAU,0BAAoB,CAACtO,YAAD,EAAemD,KAAK,CAACp/B,IAArB,EAA2Bo8B,OAA3B,CAApB;AACH,KAND;AAOH;;AACD,SAAOH,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2O,0BAAT,GAA+D;AAAA,MAA3B/9B,MAA2B,uEAAlB,EAAkB;AAAA,MAAdg+B,YAAc;AAC3D,MAAMC,OAAO,GAAG,EAAhB;;AACA,MAAIj+B,MAAM,IAAIzG,MAAM,CAAC+T,IAAP,CAAYtN,MAAZ,EAAoB/M,MAAlC,EAA0C;AACtCsG,UAAM,CAAC+T,IAAP,CAAYtN,MAAZ,EAAoB9M,OAApB,CAA4B,UAAA4U,GAAG;AAAA,aAAIm2B,OAAO,CAACC,yBAAyB,CAACp2B,GAAD,EAAMk2B,YAAN,CAA1B,CAAP,GAAwDh+B,MAAM,CAAC8H,GAAD,CAAlE;AAAA,KAA/B;AACH;;AACD,SAAOm2B,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmC/qC,IAAnC,EAA8D;AAAA,MAArB6qC,YAAqB,uEAAN,IAAM;AAC1D,MAAM1F,UAAU,GAAG4C,YAAY,CAAC/nC,IAAD,CAA/B;;AACA,MAAI,CAAC6qC,YAAL,EAAmB;AACf,WAAO1F,UAAP;AACH;;AACD,MAAM6F,MAAM,GAAG7F,UAAU,CAAC3lB,KAAX,CAAiB,GAAjB,CAAf;;AACA,MAAIwrB,MAAM,CAAClrC,MAAP,KAAkB,CAAtB,EAAyB;AACrB;AACA,WAAOE,IAAI,CAACC,WAAL,EAAP;AACH;;AACD,MAAIgrC,OAAJ,CAV0D,CAW1D;;AACA,MAAI,QAAQC,IAAR,CAAaF,MAAM,CAACA,MAAM,CAAClrC,MAAP,GAAgB,CAAjB,CAAnB,CAAJ,EAA6C;AACzCmrC,WAAO,GAAGD,MAAM,CAACG,GAAP,EAAV;AACH;;AACD,MAAIv4B,GAAG,GAAGo4B,MAAM,CAACI,KAAP,GAAenrC,WAAf,EAAV;;AACA,MAAI+qC,MAAM,CAAClrC,MAAX,EAAmB;AACf8S,OAAG,IAAIo4B,MAAM,CAACxmC,GAAP,CAAW,UAAAyC,CAAC;AAAA,aAAIA,CAAC,CAACiyB,MAAF,CAAS,CAAT,EAAYld,WAAZ,KAA4B/U,CAAC,CAACzI,KAAF,CAAQ,CAAR,EAAWyB,WAAX,EAAhC;AAAA,KAAZ,EAAsEiB,IAAtE,CAA2E,EAA3E,CAAP;AACH;;AACD,SAAO+pC,OAAO,aAAMr4B,GAAN,cAAaq4B,OAAb,IAAyBr4B,GAAvC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy4B,yBAAT,CAAmCC,KAAnC,EAA0C;AACtC,SAAO,UAAGzC,8BAAH,SAAoCyC,KAApC,EAA4CtvB,WAA5C,EAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASuvB,mBAAT,CAA6BhxB,QAA7B,EAAuC;AACnC,SAAO,IAAI9K,cAAJ,CAAmB8K,QAAQ,CAACva,IAA5B,EAAkC+F,SAAlC,EAA6CmF,aAA7C,EAA4DnF,SAA5D,EAAuEwU,QAAQ,CAAC9N,UAAhF,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM++B,6BAA6B,GAAG,MAAtC;AACA;;AACA,IAAMC,cAAc,GAAG,IAAvB;AACA;;AACA,IAAMC,YAAY,GAAG,KAArB;AACA;;AACA,IAAMC,YAAY,GAAG,IAArB;AACA;;AACA,IAAMC,gBAAgB,GAAG,IAAzB;AACA;;AACA,IAAMC,kBAAkB,GAAG,WAA3B;AACA;;AACA,IAAMC,iBAAiB,GAAG,eAA1B;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA4Bn4B,UAA5B,EAAwC5T,IAAxC,EAA8C;AAC1C,MAAIyiC,IAAI,GAAG,IAAX;AACA,SAAO,YAAM;AACT,QAAI,CAACA,IAAL,EAAW;AACP7uB,gBAAU,CAACrS,IAAX,CAAgB,IAAIkO,cAAJ,CAAmBg8B,cAAnB,EAAmC1lC,SAAnC,EAA8CiF,YAA9C,CAAhB;AACAy3B,UAAI,GAAGloB,QAAQ,CAACva,IAAD,CAAf;AACH;;AACD,WAAOyiC,IAAP;AACH,GAND;AAOH;;AACD,SAASuJ,WAAT,CAAqBC,OAArB,EAA8B;AAC1B,MAAI,IAAJ,EAAU;AACN,UAAM,IAAI1tC,KAAJ,mBAAqB,KAAK0b,WAAL,CAAiBja,IAAtC,8BAA8DisC,OAA9D,UAAN;AACH;;AACD,QAAM,IAAI1tC,KAAJ,mBAAqB0tC,OAArB,2BAAN;AACH;;AACD,SAASC,SAAT,CAAmBnoB,GAAnB,EAAwB;AACpB,QAAM,IAAIxlB,KAAJ,kCAAoC,KAAK0b,WAAL,CAAiBja,IAArD,6BAA4E+jB,GAAG,CAAC9J,WAAJ,CAAgBja,IAA5F,EAAN;AACH;;AACD,SAASmsC,SAAT,CAAmB1qC,KAAnB,EAA0B;AACtB,MAAIgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAJ,EAA0B;AACtB,WAAOqZ,UAAU,CAACrZ,KAAK,CAAC+C,GAAN,CAAU2nC,SAAV,CAAD,CAAjB;AACH;;AACD,SAAO7wB,OAAO,CAAC7Z,KAAD,EAAQyJ,aAAR,CAAd;AACH;;AACD,SAASkhC,mCAAT,CAA6CjyB,IAA7C,EAAmDkyB,YAAnD,EAAiE;AAC7D,MAAIjmC,MAAM,CAACkmC,mBAAP,CAA2BnyB,IAA3B,EAAiCra,MAAjC,GAA0C,CAA9C,EAAiD;AAC7C,WAAOysC,eAAe,CAACpyB,IAAD,EAAOkyB,YAAP,CAAtB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASE,eAAT,CAAyB/nC,GAAzB,EAA8B6nC,YAA9B,EAA4C;AACxC,SAAOtxB,UAAU,CAAC3U,MAAM,CAACkmC,mBAAP,CAA2B9nC,GAA3B,EAAgCA,GAAhC,CAAoC,UAAAmQ,GAAG,EAAI;AACzD;AACA;AACA,QAAMlT,KAAK,GAAG+C,GAAG,CAACmQ,GAAD,CAAjB;AACA,QAAI63B,YAAJ;AACA,QAAIrH,UAAJ;AACA,QAAIsH,YAAJ;;AACA,QAAIhwB,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAJ,EAA0B;AAAA,0KACOA,KADP;;AACrB0jC,gBADqB;AACTqH,kBADS;AAEzB,KAFD,MAGK;AAAA,0BAC4BvwB,YAAY,CAACtH,GAAD,EAAM,CAACA,GAAD,EAAMlT,KAAN,CAAN,CADxC;;AAAA;;AACA+qC,kBADA;AACcrH,gBADd;AAEJ;;AACDsH,gBAAY,GAAGD,YAAf;AACA,WAAO;AACH73B,SAAG,EAAE83B,YADF;AAEH;AACA73B,YAAM,EAAE42B,6BAA6B,CAACN,IAA9B,CAAmCuB,YAAnC,CAHL;AAIHhrC,WAAK,EAAG4qC,YAAY,IAAIlH,UAAU,KAAKqH,YAAhC,GACH1xB,UAAU,CAAC,CAACqxB,SAAS,CAAChH,UAAD,CAAV,EAAwBgH,SAAS,CAACK,YAAD,CAAjC,CAAD,CADP,GAEHL,SAAS,CAAChH,UAAD;AANV,KAAP;AAQH,GAtBiB,CAAD,CAAjB;AAuBH;AACD;AACA;AACA;;;AACA,SAASuH,iBAAT,CAA2BppB,UAA3B,EAAuC;AACnC,SAAO7H,MAAM,CAAC6H,UAAU,CAACA,UAAU,CAACxjB,MAAX,GAAoB,CAArB,CAAX,CAAb,EAAkD;AAC9CwjB,cAAU,CAAC6nB,GAAX;AACH;;AACD,SAAO7nB,UAAP;AACH;;AACD,SAASqpB,iBAAT,CAA2BC,KAA3B,EAAkCC,YAAlC,EAAgD;AAC5C,MAAIpwB,KAAK,CAACC,OAAN,CAAckwB,KAAK,CAACE,SAApB,CAAJ,EAAoC;AAChC,QAAIA,SAAS,GAAG,EAAhB;AACAF,SAAK,CAACE,SAAN,CAAgB/sC,OAAhB,CAAwB,UAAC8B,QAAD,EAAc;AAClC;AACA;AACA;AACA,UAAMuD,SAAS,GAAGvD,QAAQ,CAAC2d,KAAT,CAAe,GAAf,EAAoBhb,GAApB,CAAwB,UAAAkB,KAAK;AAAA,eAAI4V,OAAO,CAAC5V,KAAK,CAAC6W,IAAN,EAAD,CAAX;AAAA,OAA7B,CAAlB;AACAuwB,eAAS,CAACvrC,IAAV,OAAAurC,SAAS,8JAAS1nC,SAAT,EAAT;AACH,KAND;AAOA,WAAOynC,YAAY,CAACxpB,eAAb,CAA6BvI,UAAU,CAACgyB,SAAD,CAAvC,EAAoD,IAApD,CAAP;AACH,GAVD,MAWK;AACD,WAAOF,KAAK,CAACE,SAAb;AACH;AACJ;;IACKC,a;AACF,2BAAc;AAAA;;AACV,SAAKhkC,MAAL,GAAc,EAAd;AACH;;;;WACD,aAAI4L,GAAJ,EAASlT,KAAT,EAAgB;AACZ,UAAIA,KAAJ,EAAW;AACP,aAAKsH,MAAL,CAAYxH,IAAZ,CAAiB;AAAEoT,aAAG,EAAHA,GAAF;AAAOlT,eAAK,EAALA,KAAP;AAAcmT,gBAAM,EAAE;AAAtB,SAAjB;AACH;AACJ;;;WACD,wBAAe;AACX,aAAOmG,UAAU,CAAC,KAAKhS,MAAN,CAAjB;AACH;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASikC,4BAAT,CAAsCC,OAAtC,EAA+C;AAC3C,MAAMC,aAAa,GAAG,EAAtB;;AACA,MAAID,OAAO,YAAY5R,QAAnB,IAA+B4R,OAAO,CAACvuC,OAAR,KAAoB,aAAvD,EAAsE;AAClEuuC,WAAO,CAAC3R,aAAR,CAAsBv7B,OAAtB,CAA8B,UAAAohC,CAAC;AAAA,aAAI+L,aAAa,CAAC/L,CAAC,CAACnhC,IAAH,CAAb,GAAwB,EAA5B;AAAA,KAA/B;AACH,GAFD,MAGK;AACDitC,WAAO,CAAClS,UAAR,CAAmBh7B,OAAnB,CAA2B,UAAAohC,CAAC,EAAI;AAC5B,UAAI,CAACiI,eAAe,CAACjI,CAAC,CAACnhC,IAAH,CAApB,EAA8B;AAC1BktC,qBAAa,CAAC/L,CAAC,CAACnhC,IAAH,CAAb,GAAwBmhC,CAAC,CAAC1/B,KAA1B;AACH;AACJ,KAJD;AAKAwrC,WAAO,CAAC3iB,MAAR,CAAevqB,OAAf,CAAuB,UAAAoB,CAAC,EAAI;AACxB+rC,mBAAa,CAAC/rC,CAAC,CAACnB,IAAH,CAAb,GAAwB,EAAxB;AACH,KAFD;AAGAitC,WAAO,CAAC1iB,OAAR,CAAgBxqB,OAAhB,CAAwB,UAAAotC,CAAC,EAAI;AACzBD,mBAAa,CAACC,CAAC,CAACntC,IAAH,CAAb,GAAwB,EAAxB;AACH,KAFD;AAGH;;AACD,SAAOktC,aAAP;AACH;AACD;;;AACA,SAASE,kBAAT,CAA4BhmB,SAA5B,EAAuCimB,KAAvC,EAA8CC,IAA9C,EAAoD;AAChD,MAAInsB,UAAU,GAAG3G,UAAU,CAAC4M,SAAD,EAAY,IAAZ,EAAkBkmB,IAAlB,CAA3B;;AACA,MAAID,KAAK,CAACvtC,MAAN,GAAe,CAAnB,EAAsB;AAClB,SAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGksC,KAAK,CAACvtC,MAA1B,EAAkCqB,CAAC,EAAnC,EAAuC;AACnCggB,gBAAU,GAAGA,UAAU,CAACmB,MAAX,CAAkB+qB,KAAK,CAAClsC,CAAD,CAAvB,EAA4BmsC,IAA5B,CAAb;AACH;AACJ,GAJD,MAKK;AACD;AACAnsB,cAAU,GAAGA,UAAU,CAACmB,MAAX,CAAkB,EAAlB,EAAsBgrB,IAAtB,CAAb;AACH;;AACD,SAAOnsB,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASosB,0BAAT,CAAoCzjB,aAApC,EAAmD;AAC/C,MAAQ3Y,WAAR,GAAiC2Y,aAAjC,CAAQ3Y,WAAR;AAAA,MAAqB64B,OAArB,GAAiClgB,aAAjC,CAAqBkgB,OAArB;;AACA,MAAI74B,WAAW,CAACrR,MAAZ,KAAuB,CAAvB,IAA4BkqC,OAAO,CAAClqC,MAAR,KAAmB,CAA/C,IAAoDkqC,OAAO,CAAC,CAAD,CAAP,KAAe,EAAnE,IAAyEA,OAAO,CAAC,CAAD,CAAP,KAAe,EAA5F,EAAgG;AAC5F;AACA;AACA;AACA,WAAO,CAAP;AACH,GALD,MAMK;AACD,WAAO74B,WAAW,CAACrR,MAAZ,GAAqBkqC,OAAO,CAAClqC,MAApC;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI0tC,qBAAJ;;AACA,CAAC,UAAUA,qBAAV,EAAiC;AAC9BA,uBAAqB,CAACA,qBAAqB,CAAC,OAAD,CAArB,GAAiC,CAAlC,CAArB,GAA4D,OAA5D;AACAA,uBAAqB,CAACA,qBAAqB,CAAC,UAAD,CAArB,GAAoC,CAArC,CAArB,GAA+D,UAA/D;AACAA,uBAAqB,CAACA,qBAAqB,CAAC,SAAD,CAArB,GAAmC,CAApC,CAArB,GAA8D,SAA9D;AACH,CAJD,EAIGA,qBAAqB,KAAKA,qBAAqB,GAAG,EAA7B,CAJxB;;AAKA,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,WAAD,CAAf,GAA+B,CAAhC,CAAf,GAAoD,WAApD;AACAA,iBAAe,CAACA,eAAe,CAAC,WAAD,CAAf,GAA+B,CAAhC,CAAf,GAAoD,WAApD;AACAA,iBAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,CAAjC,CAAf,GAAqD,YAArD;AACAA,iBAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,iBAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACH,CAND,EAMGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CANlB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,wBAAJ;;AACA,CAAC,UAAUA,wBAAV,EAAoC;AACjC;AACJ;AACA;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,OAAD,CAAxB,GAAoC,CAArC,CAAxB,GAAkE,OAAlE;AACA;AACJ;AACA;AACA;AACA;;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,WAAD,CAAxB,GAAwC,CAAzC,CAAxB,GAAsE,WAAtE;AACA;AACJ;AACA;;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,mBAAD,CAAxB,GAAgD,CAAjD,CAAxB,GAA8E,mBAA9E;AACA;AACJ;AACA;;AACIA,0BAAwB,CAACA,wBAAwB,CAAC,SAAD,CAAxB,GAAsC,CAAvC,CAAxB,GAAoE,SAApE;AACH,CAnBD,EAmBGA,wBAAwB,KAAKA,wBAAwB,GAAG,EAAhC,CAnB3B;AAoBA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgChf,IAAhC,EAAsC;AAClC,MAAMif,CAAC,GAAGrzB,QAAQ,CAAC,GAAD,CAAlB;AACA,MAAM3G,UAAU,GAAG,EAAnB;AACA,MAAIi6B,YAAY,GAAGhiC,SAAnB,CAHkC,CAIlC;AACA;AACA;AACA;AACA;;AACA,MAAMiiC,WAAW,GAAG,CAACC,mBAAmB,CAACpf,IAAD,CAApB,GAChB,IAAIthB,kBAAJ,CAAuBrB,cAAc,CAACkC,EAAtC,EAA0C0/B,CAA1C,EAA6Cjf,IAAI,CAACqf,YAAlD,CADgB,GAEhBJ,CAFJ;AAGA,MAAIK,QAAQ,GAAG,IAAf;;AACA,MAAItf,IAAI,CAACb,IAAL,KAAc,IAAlB,EAAwB;AACpB;AACA,QAAIa,IAAI,CAACb,IAAL,KAAc,SAAlB,EAA6B;AACzBmgB,cAAQ,GAAG,IAAIjhC,eAAJ,CAAoB8gC,WAApB,EAAiCI,kBAAkB,CAACvf,IAAI,CAACb,IAAN,EAAYa,IAAI,CAACwf,QAAjB,EAA2Bxf,IAAI,CAAC8L,MAAL,KAAgBgT,eAAe,CAAC5hB,IAA3D,CAAnD,CAAX;AACAgiB,kBAAY,GAAGO,kBAAkB,CAACzf,IAAI,CAACb,IAAN,CAAjC;AACH;AACJ,GAND,MAOK;AACD,QAAMugB,WAAW,GAAG9zB,QAAQ,iBAAKoU,IAAI,CAAC3uB,IAAV,kBAA5B;AACA,QAAM+3B,mBAAmB,GAAGvd,UAAU,CAAC0U,aAAa,CAAC6I,mBAAf,CAAtC;AACA,QAAMuW,eAAe,GAAGD,WAAW,CAC9BhqC,GADmB,CACf0zB,mBAAmB,CAACzV,MAApB,CAA2B,CAACqM,IAAI,CAACqf,YAAN,CAA3B;AAAgD;AAAiBjoC,aAAjE;AAA4E;AAAW,QAAvF,CADe,EAEnB2J,UAFmB,CAERxE,aAFQ,EAEO,CAACyE,YAAY,CAAC4+B,QAAd,EAAwB5+B,YAAY,CAACC,KAArC,CAFP,CAAxB;AAGAgE,cAAU,CAACrS,IAAX,CAAgB+sC,eAAhB,EANC,CAOD;;AACAL,YAAQ,GAAGI,WAAW,CAAC/rB,MAAZ,CAAmB,CAACwrB,WAAD,CAAnB,CAAX;AACH;;AACD,MAAMU,aAAa,GAAGP,QAAtB;AACA,MAAMl3B,IAAI,GAAG,EAAb;AACA,MAAI03B,OAAO,GAAG,IAAd;;AACA,WAASC,sBAAT,CAAgCC,WAAhC,EAA6C;AACzC,QAAMC,CAAC,GAAGr0B,QAAQ,CAAC,GAAD,CAAlB;AACAxD,QAAI,CAACxV,IAAL,CAAUqtC,CAAC,CAACvqC,GAAF,CAAMqR,SAAN,EAAiBhG,UAAjB,EAAV;AACA,QAAIm/B,QAAQ,GAAG,IAAf;;AACA,QAAIL,aAAa,KAAK,IAAtB,EAA4B;AACxBK,cAAQ,GAAGD,CAAC,CAACvqC,GAAF,CAAMmqC,aAAN,EAAqBM,MAArB,EAAX;AACH,KAFD,MAGK;AACDD,cAAQ,GAAGr0B,UAAU,CAAC0U,aAAa,CAAC6G,cAAf,CAAV,CAAyCzT,MAAzC,CAAgD,EAAhD,EAAoDwsB,MAApD,EAAX;AACH;;AACD/3B,QAAI,CAACxV,IAAL,CAAU4Z,MAAM,CAACyyB,CAAD,EAAI,CAACiB,QAAD,CAAJ,EAAgB,CAACD,CAAC,CAACvqC,GAAF,CAAMsqC,WAAN,EAAmBG,MAAnB,EAAD,CAAhB,CAAhB;AACA,WAAOF,CAAP;AACH;;AACD,MAAIb,mBAAmB,CAACpf,IAAD,CAAnB,IAA6BA,IAAI,CAACogB,YAAL,KAAsBvB,qBAAqB,CAACwB,OAA7E,EAAsF;AAClF,QAAMC,eAAe,GAAG10B,QAAQ,iBAAKoU,IAAI,CAAC3uB,IAAV,kBAAhC;AACA,QAAM83B,YAAY,GAAGtd,UAAU,CAAC0U,aAAa,CAAC4I,YAAf,CAA/B;;AACA,QAAInJ,IAAI,CAACugB,QAAL,CAAc9iC,YAAd,CAA2BuiB,IAAI,CAACqf,YAAhC,CAAJ,EAAmD;AAC/C,YAAM,IAAIzvC,KAAJ,6DAAN;AACH;;AACD,QAAM4wC,mBAAmB,GAAGF,eAAe,CAAC5qC,GAAhB,CAAoByzB,YAAY,CAACxV,MAAb,CAAoB,CAACqM,IAAI,CAACugB,QAAN,CAApB,CAApB,EAA0Dx/B,UAA1D,CAAqExE,aAArE,EAAoF,CAC5GyE,YAAY,CAAC4+B,QAD+F,EACrF5+B,YAAY,CAACC,KADwE,CAApF,CAA5B;AAGAgE,cAAU,CAACrS,IAAX,CAAgB4tC,mBAAhB;AACAV,WAAO,GAAGC,sBAAsB,CAACO,eAAe,CAAC3sB,MAAhB,CAAuB,EAAvB,CAAD,CAAhC;AACH,GAXD,MAYK,IAAIyrB,mBAAmB,CAACpf,IAAD,CAAvB,EAA+B;AAChC;AACA;AACA,QAAMygB,YAAY,GAAGlB,kBAAkB,CAACvf,IAAI,CAAC0gB,YAAN,EAAoB1gB,IAAI,CAACwf,QAAzB,EAAmCxf,IAAI,CAAC8L,MAAL,KAAgBgT,eAAe,CAAC5hB,IAAnE,CAAvC,CAHgC,CAIhC;;AACA,QAAMyjB,WAAW,GAAG,KAAK3gB,IAAI,CAACogB,YAAL,KAAsBvB,qBAAqB,CAAC+B,KAA5C,GACrBviC,eADqB,GAErBD,kBAFgB,EAEI4hB,IAAI,CAACugB,QAFT,EAEmBE,YAFnB,CAApB;AAGAX,WAAO,GAAGC,sBAAsB,CAACY,WAAD,CAAhC;AACH,GATI,MAUA,IAAIE,2BAA2B,CAAC7gB,IAAD,CAA/B,EAAuC;AACxC;AACA8f,WAAO,GAAGC,sBAAsB,CAAC/f,IAAI,CAACxN,UAAN,CAAhC;AACH,GAHI,MAIA;AACDstB,WAAO,GAAGR,QAAV;AACH;;AACD,MAAIQ,OAAO,KAAK,IAAhB,EAAsB;AAClB13B,QAAI,CAACxV,IAAL,CAAU,IAAIiV,eAAJ,CAAoBi4B,OAApB,CAAV;AACH,GAFD,MAGK;AACD13B,QAAI,CAACxV,IAAL,CAAUiZ,UAAU,CAAC0U,aAAa,CAAC6G,cAAf,CAAV,CAAyCzT,MAAzC,CAAgD,EAAhD,EAAoDwsB,MAApD,EAAV;AACH;;AACD,SAAO;AACHhmC,WAAO,EAAEuH,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAY,GAAZ,EAAiBzI,YAAjB,CAAD,CAAD,EAAmC+L,IAAnC,EAAyC7L,aAAzC,EAAwDnF,SAAxD,YAAsE4oB,IAAI,CAAC3uB,IAA3E,cADR;AAEH4T,cAAU,EAAVA,UAFG;AAGHpH,QAAI,EAAEoO,cAAc,CAACJ,UAAU,CAAC0U,aAAa,CAACsH,UAAf,EAA2B,CAACmC,kBAAkB,CAAChK,IAAI,CAACniB,IAAL,CAAUA,IAAX,EAAiBmiB,IAAI,CAAC8gB,iBAAtB,CAAnB,EAA6D5B,YAA7D,CAA3B,CAAX;AAHjB,GAAP;AAKH;;AACD,SAASK,kBAAT,CAA4BpgB,IAA5B,EAAkCqgB,QAAlC,EAA4CuB,MAA5C,EAAoD;AAChD,SAAO5hB,IAAI,CAACtpB,GAAL,CAAS,UAACmrC,GAAD,EAAMhjC,KAAN;AAAA,WAAgBijC,uBAAuB,CAACD,GAAD,EAAMxB,QAAN,EAAgBuB,MAAhB,EAAwB/iC,KAAxB,CAAvC;AAAA,GAAT,CAAP;AACH;;AACD,SAASijC,uBAAT,CAAiCD,GAAjC,EAAsCxB,QAAtC,EAAgDuB,MAAhD,EAAwD/iC,KAAxD,EAA+D;AAC3D;AACA,UAAQgjC,GAAG,CAAC1uB,QAAZ;AACI,SAAKysB,wBAAwB,CAACmC,KAA9B;AACA,SAAKnC,wBAAwB,CAACppB,iBAA9B;AACI;AACA,UAAMwrB,KAAK,GAAG;AAAE;AAAF,SAAmBH,GAAG,CAAC5vB,IAAJ,GAAW;AAAE;AAAb,QAA0B,CAA7C,KACT4vB,GAAG,CAACI,QAAJ,GAAe;AAAE;AAAjB,QAAkC,CADzB,KAC+BJ,GAAG,CAACpkB,IAAJ,GAAW;AAAE;AAAb,QAA0B,CADzD,KAETokB,GAAG,CAACK,QAAJ,GAAe;AAAE;AAAjB,QAAkC,CAFzB,CAAd,CAFJ,CAKI;AACA;AACA;;AACA,UAAIC,UAAU,GAAIH,KAAK,KAAK;AAAE;AAAZ,SAA6BH,GAAG,CAACK,QAAlC,GAA8C10B,OAAO,CAACw0B,KAAD,CAArD,GAA+D,IAAhF,CARJ,CASI;;AACA,UAAIJ,MAAM,IAAIC,GAAG,CAAC1uB,QAAJ,KAAiBysB,wBAAwB,CAACppB,iBAAxD,EAA2E;AACvE,eAAO9J,UAAU,CAAC0U,aAAa,CAAC4G,2BAAf,CAAV,CAAsDxT,MAAtD,CAA6D2tB,UAAU,GAAG,CAACA,UAAD,CAAH,GAAkB,EAAzF,CAAP;AACH,OAZL,CAaI;;;AACA,UAAMC,UAAU,GAAG,CAACP,GAAG,CAACjqC,KAAL,CAAnB;;AACA,UAAIuqC,UAAJ,EAAgB;AACZC,kBAAU,CAAC3uC,IAAX,CAAgB0uC,UAAhB;AACH;;AACD,aAAOz1B,UAAU,CAAC2zB,QAAD,CAAV,CAAqB7rB,MAArB,CAA4B4tB,UAA5B,CAAP;;AACJ,SAAKxC,wBAAwB,CAACyC,SAA9B;AACI;AACA,aAAO31B,UAAU,CAAC0U,aAAa,CAAC2G,eAAf,CAAV,CAA0CvT,MAA1C,CAAiD,CAACqtB,GAAG,CAACjqC,KAAL,CAAjD,CAAP;;AACJ,SAAKgoC,wBAAwB,CAAC0C,OAA9B;AACI,aAAO51B,UAAU,CAAC0U,aAAa,CAAC8G,iBAAf,CAAV,CAA4C1T,MAA5C,CAAmD,CAAChH,OAAO,CAAC3O,KAAD,CAAR,CAAnD,CAAP;;AACJ;AACI,aAAOq/B,WAAW,6CAAsC0B,wBAAwB,CAACiC,GAAG,CAAC1uB,QAAL,CAA9D,EAAlB;AA3BR;AA6BH;;AACD,SAASmtB,kBAAT,CAA4BtgB,IAA5B,EAAkC;AAC9B,MAAIuiB,QAAQ,GAAG,KAAf;AACA,MAAMC,cAAc,GAAGxiB,IAAI,CAACtpB,GAAL,CAAS,UAAAmrC,GAAG,EAAI;AACnC,QAAMnjC,IAAI,GAAG+jC,iBAAiB,CAACZ,GAAD,CAA9B;;AACA,QAAInjC,IAAI,KAAK,IAAb,EAAmB;AACf6jC,cAAQ,GAAG,IAAX;AACA,aAAO7jC,IAAP;AACH,KAHD,MAIK;AACD,aAAO8O,OAAO,CAAC,IAAD,CAAd;AACH;AACJ,GATsB,CAAvB;;AAUA,MAAI+0B,QAAJ,EAAc;AACV,WAAOz1B,cAAc,CAACE,UAAU,CAACw1B,cAAD,CAAX,CAArB;AACH,GAFD,MAGK;AACD,WAAOzkC,SAAP;AACH;AACJ;;AACD,SAAS0kC,iBAAT,CAA2BZ,GAA3B,EAAgC;AAC5B,MAAMp7B,OAAO,GAAG,EAAhB;;AACA,MAAIo7B,GAAG,CAAC1uB,QAAJ,KAAiBysB,wBAAwB,CAACyC,SAA9C,EAAyD;AACrD,QAAIR,GAAG,CAAC/sC,SAAJ,KAAkB,IAAtB,EAA4B;AACxB2R,aAAO,CAAChT,IAAR,CAAa;AAAEoT,WAAG,EAAE,WAAP;AAAoBlT,aAAK,EAAEkuC,GAAG,CAAC/sC,SAA/B;AAA0CgS,cAAM,EAAE;AAAlD,OAAb;AACH;AACJ;;AACD,MAAI+6B,GAAG,CAACK,QAAR,EAAkB;AACdz7B,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,UAAP;AAAmBlT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAAjC;AAAyC1G,YAAM,EAAE;AAAjD,KAAb;AACH;;AACD,MAAI+6B,GAAG,CAACpkB,IAAR,EAAc;AACVhX,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,MAAP;AAAelT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAA7B;AAAqC1G,YAAM,EAAE;AAA7C,KAAb;AACH;;AACD,MAAI+6B,GAAG,CAAC5vB,IAAR,EAAc;AACVxL,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,MAAP;AAAelT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAA7B;AAAqC1G,YAAM,EAAE;AAA7C,KAAb;AACH;;AACD,MAAI+6B,GAAG,CAACI,QAAR,EAAkB;AACdx7B,WAAO,CAAChT,IAAR,CAAa;AAAEoT,SAAG,EAAE,UAAP;AAAmBlT,WAAK,EAAE6Z,OAAO,CAAC,IAAD,CAAjC;AAAyC1G,YAAM,EAAE;AAAjD,KAAb;AACH;;AACD,SAAOL,OAAO,CAACzU,MAAR,GAAiB,CAAjB,GAAqBib,UAAU,CAACxG,OAAD,CAA/B,GAA2C,IAAlD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASi8B,8BAAT,CAAwChkC,IAAxC,EAA8CikC,SAA9C,EAAyDlpB,SAAzD,EAAoE;AAChE;AACA;AACA;AACA,MAAMmpB,WAAW,GAAGnpB,SAAS,CAACC,wBAAV,CAAmCvD,WAAW,CAACqB,QAA/C,CAApB,CAJgE,CAKhE;;AACA,MAAMwI,IAAI,GAAG,EAAb;;AANgE,sLAOzCthB,IAAI,CAACmkC,MAPoC;AAAA;;AAAA;AAOhE,2DAAoC;AAAA,UAA3BC,UAA2B;;AAChC,UAAIA,UAAU,CAAClrC,KAAf,EAAsB;AAClB,YAAMmrC,QAAQ,GAAG7nB,cAAc,CAAC4nB,UAAU,CAAClrC,KAAZ,CAA/B;AACA,YAAIub,QAAQ,GAAG2vB,UAAU,CAACE,WAAX,GACXpD,wBAAwB,CAACyC,SADd,GAEXzC,wBAAwB,CAACmC,KAF7B,CAFkB,CAKlB;AACA;;AACA,YAAMnqC,KAAK,GAAGmrC,QAAQ,YAAYppB,YAApB,GAAmCgpB,SAAS,CAACj2B,UAAV,CAAqBq2B,QAArB,CAAnC,GAAoEv1B,OAAO,CAACu1B,QAAD,CAAzF,CAPkB,CAQlB;;AACA/iB,YAAI,CAACvsB,IAAL,CAAU;AACNmE,eAAK,EAALA,KADM;AAEN9C,mBAAS,EAAE,IAFL;AAGNqe,kBAAQ,EAARA,QAHM;AAINsK,cAAI,EAAE,CAAC,CAACqlB,UAAU,CAACzmB,MAJb;AAKN6lB,kBAAQ,EAAE,CAAC,CAACY,UAAU,CAACG,UALjB;AAMNhxB,cAAI,EAAE,CAAC,CAAC6wB,UAAU,CAACI,MANb;AAONjB,kBAAQ,EAAE,CAAC,CAACa,UAAU,CAACK;AAPjB,SAAV;AASH,OAlBD,MAmBK;AACDjF,mBAAW,CAAC,4BAAD,CAAX;AACH;AACJ;AA9B+D;AAAA;AAAA;AAAA;AAAA;;AA+BhE,SAAOle,IAAP;AACH;;AACD,SAASigB,mBAAT,CAA6Bpf,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,CAACogB,YAAL,KAAsBhpC,SAA7B;AACH;;AACD,SAASypC,2BAAT,CAAqC7gB,IAArC,EAA2C;AACvC,SAAOA,IAAI,CAACxN,UAAL,KAAoBpb,SAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmrC,kBAAT,CAA2BviB,IAA3B,EAAiC;AAC7B,MAAIrtB,MAAM,GAAG,IAAb;AACA,MAAM6vC,WAAW,GAAG;AAChBnxC,QAAI,EAAE2uB,IAAI,CAAC3uB,IADK;AAEhBwM,QAAI,EAAEmiB,IAAI,CAACniB,IAFK;AAGhBwhC,gBAAY,EAAErf,IAAI,CAACqf,YAHH;AAIhByB,qBAAiB,EAAE9gB,IAAI,CAAC8gB,iBAJR;AAKhB3hB,QAAI,EAAE,EALU;AAMhBqgB,YAAQ,EAAElqB,WAAW,CAACkB,MANN;AAOhBsV,UAAM,EAAEgT,eAAe,CAAC2D;AAPR,GAApB;;AASA,MAAIziB,IAAI,CAACjB,QAAL,KAAkB3nB,SAAtB,EAAiC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,QAAMsrC,cAAc,GAAG1iB,IAAI,CAACjB,QAAL,CAActhB,YAAd,CAA2BuiB,IAAI,CAACqf,YAAhC,CAAvB;AACA,QAAIlgB,IAAI,GAAG/nB,SAAX;;AACA,QAAI4oB,IAAI,CAAC2iB,QAAL,KAAkBvrC,SAAtB,EAAiC;AAC7B+nB,UAAI,GAAGa,IAAI,CAAC2iB,QAAZ;AACH;;AACD,QAAIxjB,IAAI,KAAK/nB,SAAb,EAAwB;AACpB;AACAzE,YAAM,GAAGqsC,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB8qC,WAAlB,CAAd,EAA8C;AAAEjC,gBAAQ,EAAEvgB,IAAI,CAACjB,QAAjB;AAA2B2hB,oBAAY,EAAEvhB,IAAzC;AAA+CihB,oBAAY,EAAEvB,qBAAqB,CAAC+B;AAAnF,OAA9C,CAAD,CAA/B;AACH,KAHD,MAIK,IAAI8B,cAAJ,EAAoB;AACrB/vC,YAAM,GAAGqsC,sBAAsB,CAACwD,WAAD,CAA/B;AACH,KAFI,MAGA;AACD7vC,YAAM,GAAGiwC,iBAAiB,CAAC5iB,IAAI,CAACniB,IAAL,CAAU/K,KAAX,EAAkBktB,IAAI,CAACjB,QAAvB,CAA1B;AACH;AACJ,GAtBD,MAuBK,IAAIiB,IAAI,CAACd,UAAL,KAAoB9nB,SAAxB,EAAmC;AACpC,QAAI4oB,IAAI,CAAC2iB,QAAL,KAAkBvrC,SAAtB,EAAiC;AAC7BzE,YAAM,GAAGqsC,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB8qC,WAAlB,CAAd,EAA8C;AAAEjC,gBAAQ,EAAEvgB,IAAI,CAACd,UAAjB;AAA6BwhB,oBAAY,EAAE1gB,IAAI,CAAC2iB,QAAL,IAAiB,EAA5D;AAAgEvC,oBAAY,EAAEvB,qBAAqB,CAAC9kC;AAApG,OAA9C,CAAD,CAA/B;AACH,KAFD,MAGK;AACDpH,YAAM,GAAG;AACLsS,kBAAU,EAAE,EADP;AAEL9K,eAAO,EAAEuH,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoBmY,IAAI,CAACd,UAAL,CAAgBvL,MAAhB,CAAuB,EAAvB,CAApB,CAAD,CAAL;AAFN,OAAT;AAIH;AACJ,GAVI,MAWA,IAAIqM,IAAI,CAAChB,QAAL,KAAkB5nB,SAAtB,EAAiC;AAClC;AACA;AACA;AACAzE,UAAM,GAAGqsC,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB8qC,WAAlB,CAAd,EAA8C;AAAEhwB,gBAAU,EAAEwN,IAAI,CAAChB;AAAnB,KAA9C,CAAD,CAA/B;AACH,GALI,MAMA,IAAIgB,IAAI,CAACf,WAAL,KAAqB7nB,SAAzB,EAAoC;AACrC;AACAzE,UAAM,GAAGqsC,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB8qC,WAAlB,CAAd,EAA8C;AAAEhwB,gBAAU,EAAE3G,UAAU,CAACyJ,WAAW,CAACkB,MAAb,CAAV,CAA+B7C,MAA/B,CAAsC,CAACqM,IAAI,CAACf,WAAN,CAAtC;AAAd,KAA9C,CAAD,CAA/B;AACH,GAHI,MAIA;AACDtsB,UAAM,GAAGiwC,iBAAiB,CAAC5iB,IAAI,CAACniB,IAAL,CAAU/K,KAAX,EAAkBktB,IAAI,CAACqf,YAAvB,CAA1B;AACH;;AACD,MAAMtoC,KAAK,GAAGipB,IAAI,CAACqf,YAAnB;AACA,MAAMwD,eAAe,GAAG;AAAE9rC,SAAK,EAALA,KAAF;AAASoD,WAAO,EAAExH,MAAM,CAACwH;AAAzB,GAAxB,CA3D6B,CA4D7B;;AACA,MAAI6lB,IAAI,CAAC8iB,UAAL,CAAgBhwC,KAAhB,KAA0B,IAA9B,EAAoC;AAChC+vC,mBAAe,CAACC,UAAhB,GAA6B9iB,IAAI,CAAC8iB,UAAlC;AACH;;AACD,MAAMtwB,UAAU,GAAG3G,UAAU,CAACyJ,WAAW,CAACsB,kBAAb,CAAV,CAA2CjD,MAA3C,CAAkD,CAACmW,kBAAkB,CAAC+Y,eAAD,CAAnB,CAAlD,CAAnB;AACA,MAAMhlC,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAACyJ,WAAW,CAACuB,aAAb,EAA4B,CAACmT,kBAAkB,CAAChK,IAAI,CAACniB,IAAL,CAAUA,IAAX,EAAiBmiB,IAAI,CAAC8gB,iBAAtB,CAAnB,CAA5B,CAA7B,CAAb;AACA,SAAO;AACHtuB,cAAU,EAAVA,UADG;AAEH3U,QAAI,EAAJA,IAFG;AAGHoH,cAAU,EAAEtS,MAAM,CAACsS;AAHhB,GAAP;AAKH;;AACD,SAAS29B,iBAAT,CAA2B/kC,IAA3B,EAAiCwhC,YAAjC,EAA+C;AAC3C,SAAO;AACHp6B,cAAU,EAAE,EADT;AAEH;AACA;AACA;AACA9K,WAAO,EAAE0D,IAAI,CAAC8C,IAAL,KAAc0+B,YAAY,CAAC1+B,IAA3B,GACL0+B,YAAY,CAAC5zB,IAAb,CAAkB,MAAlB,CADK,GAEL/J,EAAE,CAAC,CAAC,IAAIoD,OAAJ,CAAY,GAAZ,EAAiBzI,YAAjB,CAAD,CAAD,EAAmC,CAAC,IAAIwL,eAAJ,CAAoBw3B,YAAY,CAAC0D,UAAb,CAAwB,MAAxB,EAAgC,CAACn3B,QAAQ,CAAC,GAAD,CAAT,CAAhC,CAApB,CAAD,CAAnC;AAPH,GAAP;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo3B,oBAAT,CAA8BtqB,UAA9B,EAA0C5lB,KAA1C,EAAiD;AAC7C,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf;AACH;;AACD,MAAI,CAACgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,CAAL,EAA2B;AACvB,UAAM,IAAIlD,KAAJ,qBAAuB8oB,UAAvB,kCAAN;AACH;;AACD,OAAK,IAAIlmB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGM,KAAK,CAAC3B,MAA1B,EAAkCqB,CAAC,IAAI,CAAvC,EAA0C;AACtC,QAAI,OAAOM,KAAK,CAACN,CAAD,CAAZ,KAAoB,QAAxB,EAAkC;AAC9B,YAAM,IAAI5C,KAAJ,qBAAuB8oB,UAAvB,kCAAN;AACH;AACJ;AACJ;;AACD,IAAMuqB,8BAA8B,GAAG,CACnC,OADmC,EAEnC,MAFmC,EAGnC,QAHmC,EAInC,aAJmC,EAKnC,OALmC,CAAvC;;AAOA,SAASC,0BAAT,CAAoCxqB,UAApC,EAAgD5lB,KAAhD,EAAuD;AACnD,MAAIA,KAAK,IAAI,IAAT,IAAiB,EAAEgb,KAAK,CAACC,OAAN,CAAcjb,KAAd,KAAwBA,KAAK,CAAC3B,MAAN,IAAgB,CAA1C,CAArB,EAAmE;AAC/D,UAAM,IAAIvB,KAAJ,qBAAuB8oB,UAAvB,qCAAN;AACH,GAFD,MAGK,IAAI5lB,KAAK,IAAI,IAAb,EAAmB;AACpB,QAAM+7B,KAAK,GAAG/7B,KAAK,CAAC,CAAD,CAAnB;AACA,QAAMs8B,GAAG,GAAGt8B,KAAK,CAAC,CAAD,CAAjB,CAFoB,CAGpB;;AACAmwC,kCAA8B,CAAC7xC,OAA/B,CAAuC,UAAA+xC,MAAM,EAAI;AAC7C,UAAIA,MAAM,CAAC5G,IAAP,CAAY1N,KAAZ,KAAsBsU,MAAM,CAAC5G,IAAP,CAAYnN,GAAZ,CAA1B,EAA4C;AACxC,cAAM,IAAIx/B,KAAJ,aAAei/B,KAAf,iBAA2BO,GAA3B,gDAAN;AACH;AACJ,KAJD;AAKH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMgU,mB;AACF,+BAAYvU,KAAZ,EAAmBO,GAAnB,EAAwB;AAAA;;AACpB,SAAKP,KAAL,GAAaA,KAAb;AACA,SAAKO,GAAL,GAAWA,GAAX;AACH;;;;WACD,mBAAiBiU,OAAjB,EAA0B;AACtB,UAAI,CAACA,OAAL,EAAc;AACV,eAAOC,4BAAP;AACH;;AACDJ,gCAA0B,CAAC,eAAD,EAAkBG,OAAlB,CAA1B;AACA,aAAO,IAAID,mBAAJ,CAAwBC,OAAO,CAAC,CAAD,CAA/B,EAAoCA,OAAO,CAAC,CAAD,CAA3C,CAAP;AACH;;;;;;AAEL,IAAMC,4BAA4B,GAAG,IAAIF,mBAAJ,CAAwB,IAAxB,EAA8B,IAA9B,CAArC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMG,OAAO,GAAG,CAAhB;AACA,IAAMC,aAAa,GAAG,kDAAtB;;IACMC,kB;AACF,gCAAyB;AAAA,QAAb3U,IAAa,uEAAN,IAAM;;AAAA;;AACrB,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAK4U,cAAL,GAAsB,IAAItvC,GAAJ,EAAtB;AACA,SAAKuvC,KAAL,GAAa,EAAb;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACH,G,CACD;;;;;WACA,mBAAUnkB,GAAV,EAA+B;AAAA,UAAhB+N,OAAgB,uEAAN,IAAM;;AAC3B,UAAI,CAAC,KAAKiW,cAAL,CAAoB/kB,GAApB,CAAwBe,GAAxB,CAAL,EAAmC;AAC/B,aAAKgkB,cAAL,CAAoBhuC,GAApB,CAAwBgqB,GAAxB,EAA6B+N,OAA7B;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,mBAAU;AACN,WAAKkW,KAAL,CAAW/wC,IAAX,CAAgB,EAAhB;AACA,WAAKgxC,QAAL,GAAgB,CAAhB;AACA,aAAO,IAAP;AACH;;;WACD,oBAAWE,IAAX,EAAiBC,SAAjB,EAA4BC,WAA5B,EAAyCC,UAAzC,EAAqD;AACjD,UAAI,CAAC,KAAKC,WAAV,EAAuB;AACnB,cAAM,IAAIt0C,KAAJ,qDAAN;AACH;;AACD,UAAIm0C,SAAS,IAAI,IAAb,IAAqB,CAAC,KAAKL,cAAL,CAAoB/kB,GAApB,CAAwBolB,SAAxB,CAA1B,EAA8D;AAC1D,cAAM,IAAIn0C,KAAJ,iCAAkCm0C,SAAlC,QAAN;AACH;;AACD,UAAID,IAAI,IAAI,IAAZ,EAAkB;AACd,cAAM,IAAIl0C,KAAJ,qDAAN;AACH;;AACD,UAAIk0C,IAAI,GAAG,KAAKF,QAAhB,EAA0B;AACtB,cAAM,IAAIh0C,KAAJ,2CAAN;AACH;;AACD,UAAIm0C,SAAS,KAAKC,WAAW,IAAI,IAAf,IAAuBC,UAAU,IAAI,IAA1C,CAAb,EAA8D;AAC1D,cAAM,IAAIr0C,KAAJ,sEAAN;AACH;;AACD,WAAKi0C,WAAL,GAAmB,IAAnB;AACA,WAAKD,QAAL,GAAgBE,IAAhB;AACA,WAAKI,WAAL,CAAiBtxC,IAAjB,CAAsB;AAAEkxC,YAAI,EAAJA,IAAF;AAAQC,iBAAS,EAATA,SAAR;AAAmBC,mBAAW,EAAXA,WAAnB;AAAgCC,kBAAU,EAAVA;AAAhC,OAAtB;AACA,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;;SACI,eAAkB;AACd,aAAO,KAAKN,KAAL,CAAW9zC,KAAX,CAAiB,CAAC,CAAlB,EAAqB,CAArB,CAAP;AACH;;;WACD,kBAAS;AAAA;;AACL,UAAI,CAAC,KAAKg0C,WAAV,EAAuB;AACnB,eAAO,IAAP;AACH;;AACD,UAAMM,YAAY,GAAG,IAAI/vC,GAAJ,EAArB;AACA,UAAMw6B,OAAO,GAAG,EAAhB;AACA,UAAM8U,cAAc,GAAG,EAAvB;AACA51B,WAAK,CAACs2B,IAAN,CAAW,KAAKV,cAAL,CAAoBl4B,IAApB,EAAX,EAAuCpa,OAAvC,CAA+C,UAACsuB,GAAD,EAAMltB,CAAN,EAAY;AACvD2xC,oBAAY,CAACzuC,GAAb,CAAiBgqB,GAAjB,EAAsBltB,CAAtB;AACAo8B,eAAO,CAACh8B,IAAR,CAAa8sB,GAAb;AACAgkB,sBAAc,CAAC9wC,IAAf,CAAoB,OAAI,CAAC8wC,cAAL,CAAoBjuC,GAApB,CAAwBiqB,GAAxB,KAAgC,IAApD;AACH,OAJD;AAKA,UAAI2kB,QAAQ,GAAG,EAAf;AACA,UAAIT,QAAQ,GAAG,CAAf;AACA,UAAIU,eAAe,GAAG,CAAtB;AACA,UAAIC,eAAe,GAAG,CAAtB;AACA,UAAIC,cAAc,GAAG,CAArB;AACA,WAAKb,KAAL,CAAWvyC,OAAX,CAAmB,UAAAqzC,QAAQ,EAAI;AAC3Bb,gBAAQ,GAAG,CAAX;AACAS,gBAAQ,IAAII,QAAQ,CACf5uC,GADO,CACH,UAAA6uC,OAAO,EAAI;AAChB;AACA,cAAIC,QAAQ,GAAGC,WAAW,CAACF,OAAO,CAACZ,IAAR,GAAeF,QAAhB,CAA1B;AACAA,kBAAQ,GAAGc,OAAO,CAACZ,IAAnB;;AACA,cAAIY,OAAO,CAACX,SAAR,IAAqB,IAAzB,EAA+B;AAC3B;AACAY,oBAAQ,IACJC,WAAW,CAACT,YAAY,CAAC1uC,GAAb,CAAiBivC,OAAO,CAACX,SAAzB,IAAsCO,eAAvC,CADf;AAEAA,2BAAe,GAAGH,YAAY,CAAC1uC,GAAb,CAAiBivC,OAAO,CAACX,SAAzB,CAAlB,CAJ2B,CAK3B;;AACAY,oBAAQ,IAAIC,WAAW,CAACF,OAAO,CAACV,WAAR,GAAsBO,eAAvB,CAAvB;AACAA,2BAAe,GAAGG,OAAO,CAACV,WAA1B,CAP2B,CAQ3B;;AACAW,oBAAQ,IAAIC,WAAW,CAACF,OAAO,CAACT,UAAR,GAAqBO,cAAtB,CAAvB;AACAA,0BAAc,GAAGE,OAAO,CAACT,UAAzB;AACH;;AACD,iBAAOU,QAAP;AACH,SAlBW,EAmBPpyC,IAnBO,CAmBF,GAnBE,CAAZ;AAoBA8xC,gBAAQ,IAAI,GAAZ;AACH,OAvBD;AAwBAA,cAAQ,GAAGA,QAAQ,CAACx0C,KAAT,CAAe,CAAf,EAAkB,CAAC,CAAnB,CAAX;AACA,aAAO;AACH,gBAAQ,KAAKi/B,IAAL,IAAa,EADlB;AAEH,mBAAWyU,OAFR;AAGH,sBAAc,EAHX;AAIH,mBAAW3U,OAJR;AAKH,0BAAkB8U,cALf;AAMH,oBAAYW;AANT,OAAP;AAQH;;;WACD,uBAAc;AACV,aAAO,KAAKR,WAAL,GAAmB,OAAOL,aAAP,GAAuBqB,cAAc,CAAC5rB,IAAI,CAAC9I,SAAL,CAAe,IAAf,EAAqB,IAArB,EAA2B,CAA3B,CAAD,CAAxD,GACH,EADJ;AAEH;;;;;;AAEL,SAAS00B,cAAT,CAAwB/xC,KAAxB,EAA+B;AAC3B,MAAIgyC,GAAG,GAAG,EAAV;AACA,MAAM/0B,OAAO,GAAGD,UAAU,CAAChd,KAAD,CAA1B;;AACA,OAAK,IAAIN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGud,OAAO,CAAC5e,MAA5B,GAAqC;AACjC,QAAM4zC,EAAE,GAAGh1B,OAAO,CAACvd,CAAC,EAAF,CAAlB;AACA,QAAMwyC,EAAE,GAAGxyC,CAAC,GAAGud,OAAO,CAAC5e,MAAZ,GAAqB4e,OAAO,CAACvd,CAAC,EAAF,CAA5B,GAAoC,IAA/C;AACA,QAAMyyC,EAAE,GAAGzyC,CAAC,GAAGud,OAAO,CAAC5e,MAAZ,GAAqB4e,OAAO,CAACvd,CAAC,EAAF,CAA5B,GAAoC,IAA/C;AACAsyC,OAAG,IAAII,aAAa,CAACH,EAAE,IAAI,CAAP,CAApB;AACAD,OAAG,IAAII,aAAa,CAAE,CAACH,EAAE,GAAG,CAAN,KAAY,CAAb,IAAmBC,EAAE,KAAK,IAAP,GAAc,CAAd,GAAkBA,EAAE,IAAI,CAA3C,CAAD,CAApB;AACAF,OAAG,IAAIE,EAAE,KAAK,IAAP,GAAc,GAAd,GAAoBE,aAAa,CAAE,CAACF,EAAE,GAAG,EAAN,KAAa,CAAd,IAAoBC,EAAE,KAAK,IAAP,GAAc,CAAd,GAAkBA,EAAE,IAAI,CAA5C,CAAD,CAAxC;AACAH,OAAG,IAAIE,EAAE,KAAK,IAAP,IAAeC,EAAE,KAAK,IAAtB,GAA6B,GAA7B,GAAmCC,aAAa,CAACD,EAAE,GAAG,EAAN,CAAvD;AACH;;AACD,SAAOH,GAAP;AACH;;AACD,SAASF,WAAT,CAAqB9xC,KAArB,EAA4B;AACxBA,OAAK,GAAGA,KAAK,GAAG,CAAR,GAAY,CAAE,CAACA,KAAF,IAAY,CAAb,IAAkB,CAA9B,GAAkCA,KAAK,IAAI,CAAnD;AACA,MAAIma,GAAG,GAAG,EAAV;;AACA,KAAG;AACC,QAAIk4B,KAAK,GAAGryC,KAAK,GAAG,EAApB;AACAA,SAAK,GAAGA,KAAK,IAAI,CAAjB;;AACA,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACXqyC,WAAK,GAAGA,KAAK,GAAG,EAAhB;AACH;;AACDl4B,OAAG,IAAIi4B,aAAa,CAACC,KAAD,CAApB;AACH,GAPD,QAOSryC,KAAK,GAAG,CAPjB;;AAQA,SAAOma,GAAP;AACH;;AACD,IAAMm4B,UAAU,GAAG,kEAAnB;;AACA,SAASF,aAAT,CAAuBpyC,KAAvB,EAA8B;AAC1B,MAAIA,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI,EAA1B,EAA8B;AAC1B,UAAM,IAAIlD,KAAJ,8CAAN;AACH;;AACD,SAAOw1C,UAAU,CAACtyC,KAAD,CAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMuyC,8BAA8B,GAAG,gBAAvC;AACA,IAAMC,oBAAoB,GAAG,uBAA7B;AACA,IAAMC,YAAY,GAAG,IAArB;AACA,IAAMC,iBAAiB,GAAG55B,QAAQ,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,CAAlC;AACA,IAAM65B,iBAAiB,GAAG75B,QAAQ,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,CAAlC;;IACM85B,Y,GACF,sBAAYC,MAAZ,EAAoB;AAAA;;AAChB,OAAKA,MAAL,GAAcA,MAAd;AACA,OAAKC,WAAL,GAAmB,CAAnB;AACA,OAAKv/B,KAAL,GAAa,EAAb;AACA,OAAKw/B,QAAL,GAAgB,EAAhB;AACH,C;;IAECC,qB;AACF,iCAAYC,OAAZ,EAAqB;AAAA;;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,kBAAL,GAA0B,CAA1B;AACA,SAAKC,MAAL,GAAc,CAAC,IAAIR,YAAJ,CAAiBK,OAAjB,CAAD,CAAd;AACH;;;;;AAID;AACJ;AACA;AACA;AACI,mBAAmB;AACf,aAAO,KAAKG,MAAL,CAAY,KAAKA,MAAL,CAAY/0C,MAAZ,GAAqB,CAAjC,CAAP;AACH;;;WACD,iBAAQizC,IAAR,EAA6B;AAAA,UAAf+B,QAAe,uEAAJ,EAAI;AACzB,WAAKC,KAAL,CAAWhC,IAAI,IAAI,IAAnB,EAAyB+B,QAAzB,EAAmC,IAAnC;AACH;;;WACD,uBAAc;AACV,aAAO,KAAKE,YAAL,CAAkBhgC,KAAlB,CAAwBlV,MAAxB,KAAmC,CAA1C;AACH;;;WACD,sBAAa;AACT,aAAO,KAAKk1C,YAAL,CAAkBV,MAAlB,GAA2BJ,YAAY,CAACp0C,MAAxC,GAAiD,KAAKk1C,YAAL,CAAkBT,WAA1E;AACH;;;WACD,eAAMxB,IAAN,EAAYkC,IAAZ,EAAmC;AAAA,UAAjBC,OAAiB,uEAAP,KAAO;;AAC/B,UAAID,IAAI,CAACn1C,MAAL,GAAc,CAAlB,EAAqB;AACjB,aAAKk1C,YAAL,CAAkBhgC,KAAlB,CAAwBzT,IAAxB,CAA6B0zC,IAA7B;;AACA,aAAKD,YAAL,CAAkBT,WAAlB,IAAiCU,IAAI,CAACn1C,MAAtC;;AACA,aAAKk1C,YAAL,CAAkBR,QAAlB,CAA2BjzC,IAA3B,CAAgCwxC,IAAI,IAAIA,IAAI,CAACtmC,UAAb,IAA2B,IAA3D;AACH;;AACD,UAAIyoC,OAAJ,EAAa;AACT,aAAKL,MAAL,CAAYtzC,IAAZ,CAAiB,IAAI8yC,YAAJ,CAAiB,KAAKK,OAAtB,CAAjB;AACH;AACJ;;;WACD,+BAAsB;AAClB,UAAI,KAAKS,WAAL,EAAJ,EAAwB;AACpB,aAAKN,MAAL,CAAY1J,GAAZ;AACH;AACJ;;;WACD,qBAAY;AACR,WAAKuJ,OAAL;;AACA,UAAI,KAAKS,WAAL,EAAJ,EAAwB;AACpB,aAAKH,YAAL,CAAkBV,MAAlB,GAA2B,KAAKI,OAAhC;AACH;AACJ;;;WACD,qBAAY;AACR,WAAKA,OAAL;;AACA,UAAI,KAAKS,WAAL,EAAJ,EAAwB;AACpB,aAAKH,YAAL,CAAkBV,MAAlB,GAA2B,KAAKI,OAAhC;AACH;AACJ;;;WACD,mBAAUU,KAAV,EAAiB;AACb,WAAKT,QAAL,CAAcpzC,IAAd,CAAmB6zC,KAAnB;AACH;;;WACD,oBAAW;AACP,aAAO,KAAKT,QAAL,CAAcxJ,GAAd,EAAP;AACH;;;SACD,eAAmB;AACf,aAAO,KAAKwJ,QAAL,CAAc70C,MAAd,GAAuB,CAAvB,GAA2B,KAAK60C,QAAL,CAAc,KAAKA,QAAL,CAAc70C,MAAd,GAAuB,CAArC,CAA3B,GAAqE,IAA5E;AACH;;;WACD,oBAAW;AACP,aAAO,KAAKu1C,WAAL,CACF7wC,GADE,CACE,UAAAy/B,CAAC;AAAA,eAAIA,CAAC,CAACjvB,KAAF,CAAQlV,MAAR,GAAiB,CAAjB,GAAqBw1C,aAAa,CAACrR,CAAC,CAACqQ,MAAH,CAAb,GAA0BrQ,CAAC,CAACjvB,KAAF,CAAQ9T,IAAR,CAAa,EAAb,CAA/C,GAAkE,EAAtE;AAAA,OADH,EAEFA,IAFE,CAEG,IAFH,CAAP;AAGH;;;WACD,8BAAqBq0C,WAArB,EAAoD;AAAA,UAAlBC,YAAkB,uEAAH,CAAG;AAChD,UAAMhxC,GAAG,GAAG,IAAI4tC,kBAAJ,CAAuBmD,WAAvB,CAAZ;AACA,UAAIE,iBAAiB,GAAG,KAAxB;;AACA,UAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACjC,YAAI,CAACD,iBAAL,EAAwB;AACpB;AACA;AACA;AACAjxC,aAAG,CAACmxC,SAAJ,CAAcJ,WAAd,EAA2B,GAA3B,EAAgCK,UAAhC,CAA2C,CAA3C,EAA8CL,WAA9C,EAA2D,CAA3D,EAA8D,CAA9D;AACAE,2BAAiB,GAAG,IAApB;AACH;AACJ,OARD;;AASA,WAAK,IAAIt0C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq0C,YAApB,EAAkCr0C,CAAC,EAAnC,EAAuC;AACnCqD,WAAG,CAACqxC,OAAJ;AACAH,8BAAsB;AACzB;;AACD,WAAKL,WAAL,CAAiBt1C,OAAjB,CAAyB,UAAC49B,IAAD,EAAOmY,OAAP,EAAmB;AACxCtxC,WAAG,CAACqxC,OAAJ;AACA,YAAME,KAAK,GAAGpY,IAAI,CAAC6W,QAAnB;AACA,YAAMx/B,KAAK,GAAG2oB,IAAI,CAAC3oB,KAAnB;AACA,YAAIy9B,IAAI,GAAG9U,IAAI,CAAC2W,MAAL,GAAcJ,YAAY,CAACp0C,MAAtC;AACA,YAAIk2C,OAAO,GAAG,CAAd,CALwC,CAMxC;;AACA,eAAOA,OAAO,GAAGD,KAAK,CAACj2C,MAAhB,IAA0B,CAACi2C,KAAK,CAACC,OAAD,CAAvC,EAAkD;AAC9CvD,cAAI,IAAIz9B,KAAK,CAACghC,OAAD,CAAL,CAAel2C,MAAvB;AACAk2C,iBAAO;AACV;;AACD,YAAIA,OAAO,GAAGD,KAAK,CAACj2C,MAAhB,IAA0Bg2C,OAAO,KAAK,CAAtC,IAA2CrD,IAAI,KAAK,CAAxD,EAA2D;AACvDgD,2BAAiB,GAAG,IAApB;AACH,SAFD,MAGK;AACDC,gCAAsB;AACzB;;AACD,eAAOM,OAAO,GAAGD,KAAK,CAACj2C,MAAvB,EAA+B;AAC3B,cAAMwtC,IAAI,GAAGyI,KAAK,CAACC,OAAD,CAAlB;AACA,cAAMtO,MAAM,GAAG4F,IAAI,CAAC9P,KAAL,CAAWC,IAA1B;AACA,cAAMwY,UAAU,GAAG3I,IAAI,CAAC9P,KAAL,CAAWG,IAA9B;AACA,cAAMuY,SAAS,GAAG5I,IAAI,CAAC9P,KAAL,CAAWK,GAA7B;AACAr5B,aAAG,CAACmxC,SAAJ,CAAcjO,MAAM,CAACrZ,GAArB,EAA0BqZ,MAAM,CAACtL,OAAjC,EACKwZ,UADL,CACgBnD,IADhB,EACsB/K,MAAM,CAACrZ,GAD7B,EACkC4nB,UADlC,EAC8CC,SAD9C;AAEAzD,cAAI,IAAIz9B,KAAK,CAACghC,OAAD,CAAL,CAAel2C,MAAvB;AACAk2C,iBAAO,GARoB,CAS3B;;AACA,iBAAOA,OAAO,GAAGD,KAAK,CAACj2C,MAAhB,KAA2BwtC,IAAI,KAAKyI,KAAK,CAACC,OAAD,CAAd,IAA2B,CAACD,KAAK,CAACC,OAAD,CAA5D,CAAP,EAA+E;AAC3EvD,gBAAI,IAAIz9B,KAAK,CAACghC,OAAD,CAAL,CAAel2C,MAAvB;AACAk2C,mBAAO;AACV;AACJ;AACJ,OAhCD;AAiCA,aAAOxxC,GAAP;AACH;;;WACD,8BAAqB2/B,KAArB,EAA4B;AACxB,aAAO,KAAKyQ,kBAAL,GAA0BzQ,KAAjC;AACH;;;WACD,gBAAOxG,IAAP,EAAawY,MAAb,EAAqB;AACjB,UAAMC,WAAW,GAAG,KAAKvB,MAAL,CAAYlX,IAAI,GAAG,KAAKiX,kBAAxB,CAApB;;AACA,UAAIwB,WAAJ,EAAiB;AACb,YAAIC,WAAW,GAAGF,MAAM,GAAGb,aAAa,CAACc,WAAW,CAAC9B,MAAb,CAAb,CAAkCx0C,MAA7D;;AACA,aAAK,IAAImS,SAAS,GAAG,CAArB,EAAwBA,SAAS,GAAGmkC,WAAW,CAACphC,KAAZ,CAAkBlV,MAAtD,EAA8DmS,SAAS,EAAvE,EAA2E;AACvE,cAAMgjC,IAAI,GAAGmB,WAAW,CAACphC,KAAZ,CAAkB/C,SAAlB,CAAb;;AACA,cAAIgjC,IAAI,CAACn1C,MAAL,GAAcu2C,WAAlB,EAA+B;AAC3B,mBAAOD,WAAW,CAAC5B,QAAZ,CAAqBviC,SAArB,CAAP;AACH;;AACDokC,qBAAW,IAAIpB,IAAI,CAACn1C,MAApB;AACH;AACJ;;AACD,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;;SACI,eAAkB;AACd,UAAI,KAAK+0C,MAAL,CAAY/0C,MAAZ,IAAsB,KAAK+0C,MAAL,CAAY,KAAKA,MAAL,CAAY/0C,MAAZ,GAAqB,CAAjC,EAAoCkV,KAApC,CAA0ClV,MAA1C,KAAqD,CAA/E,EAAkF;AAC9E,eAAO,KAAK+0C,MAAL,CAAYr2C,KAAZ,CAAkB,CAAlB,EAAqB,CAAC,CAAtB,CAAP;AACH;;AACD,aAAO,KAAKq2C,MAAZ;AACH;;;WAzID,sBAAoB;AAChB,aAAO,IAAIJ,qBAAJ,CAA0B,CAA1B,CAAP;AACH;;;;;;IAyIC6B,sB;AACF,kCAAYC,sBAAZ,EAAoC;AAAA;;AAChC,SAAKA,sBAAL,GAA8BA,sBAA9B;AACH;;;;WACD,8BAAqBngC,IAArB,EAA2BoM,GAA3B,EAAgC;AAC5B,UAAIpM,IAAI,CAACF,eAAL,KAAyBnQ,SAA7B,EAAwC;AACpC;AACH;;AAH2B,0LAINqQ,IAAI,CAACF,eAJC;AAAA;;AAAA;AAI5B,+DAA4C;AAAA,cAAjCsgC,OAAiC;;AACxC,cAAIA,OAAO,YAAY1gC,YAAvB,EAAqC;AACjC0M,eAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,cAAqBogC,OAAO,CAACx3B,QAAR,EAArB,SAA6Cw3B,OAAO,CAAC3gC,eAArD;AACH,WAFD,MAGK;AACD,gBAAI2gC,OAAO,CAAC5gC,SAAZ,EAAuB;AACnB4M,iBAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,eAAsBogC,OAAO,CAAC5lC,IAA9B,UAAyC4lC,OAAO,CAAC3gC,eAAjD;AACH,aAFD,MAGK;AACD2gC,qBAAO,CAAC5lC,IAAR,CAAa4O,KAAb,CAAmB,IAAnB,EAAyBzf,OAAzB,CAAiC,UAAC49B,IAAD,EAAU;AACvCnb,mBAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ,eAAwBunB,IAAxB;AACH,eAFD;AAGH;AACJ;AACJ;AAlB2B;AAAA;AAAA;AAAA;AAAA;AAmB/B;;;WACD,6BAAoBvnB,IAApB,EAA0BoM,GAA1B,EAA+B;AAC3B,WAAKk0B,oBAAL,CAA0BtgC,IAA1B,EAAgCoM,GAAhC;AACApM,UAAI,CAAClH,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ,EAAkB,GAAlB;AACA,aAAO,IAAP;AACH;;;WACD,yBAAgBA,IAAhB,EAAsBoM,GAAtB,EAA2B;AACvB,WAAKk0B,oBAAL,CAA0BtgC,IAA1B,EAAgCoM,GAAhC;AACAA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACAA,UAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ,EAAkB,GAAlB;AACA,aAAO,IAAP;AACH;;;WACD,qBAAYA,IAAZ,EAAkBoM,GAAlB,EAAuB;AACnB,WAAKk0B,oBAAL,CAA0BtgC,IAA1B,EAAgCoM,GAAhC;AACAA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACAA,UAAI,CAAClD,SAAL,CAAemF,eAAf,CAA+B,IAA/B,EAAqCmK,GAArC;AACAA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACA,UAAMugC,WAAW,GAAGvgC,IAAI,CAAClJ,SAAL,IAAkB,IAAlB,IAA0BkJ,IAAI,CAAClJ,SAAL,CAAepN,MAAf,GAAwB,CAAtE;;AACA,UAAIsW,IAAI,CAACnJ,QAAL,CAAcnN,MAAd,IAAwB,CAAxB,IAA6B,CAAC62C,WAAlC,EAA+C;AAC3Cn0B,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACA,aAAKmC,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuCuV,GAAvC;AACAA,WAAG,CAACo0B,mBAAJ;AACAp0B,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACH,OALD,MAMK;AACDoM,WAAG,CAACi0B,OAAJ;AACAj0B,WAAG,CAACq0B,SAAJ;AACA,aAAKt+B,kBAAL,CAAwBnC,IAAI,CAACnJ,QAA7B,EAAuCuV,GAAvC;AACAA,WAAG,CAACs0B,SAAJ;;AACA,YAAIH,WAAJ,EAAiB;AACbn0B,aAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,aAAG,CAACq0B,SAAJ;AACA,eAAKt+B,kBAAL,CAAwBnC,IAAI,CAAClJ,SAA7B,EAAwCsV,GAAxC;AACAA,aAAG,CAACs0B,SAAJ;AACH;AACJ;;AACDt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,wBAAeA,IAAf,EAAqBoM,GAArB,EAA0B;AACtB,WAAKk0B,oBAAL,CAA0BtgC,IAA1B,EAAgCoM,GAAhC;AACAA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV;AACAA,UAAI,CAAC4B,KAAL,CAAWK,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,2BAAkBlH,IAAlB,EAAwBsT,GAAxB,EAA6B;AACzB,UAAMu0B,YAAY,GAAGv0B,GAAG,CAAC2yB,WAAJ,EAArB;;AACA,UAAI,CAAC4B,YAAL,EAAmB;AACfv0B,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,GAAhB;AACH;;AACDsT,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,YAAmBA,IAAI,CAAClP,IAAxB;AACAkP,UAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;;AACA,UAAI,CAACu0B,YAAL,EAAmB;AACfv0B,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,2BAAkBA,IAAlB,EAAwBsT,GAAxB,EAA6B;AACzB,UAAMu0B,YAAY,GAAGv0B,GAAG,CAAC2yB,WAAJ,EAArB;;AACA,UAAI,CAAC4B,YAAL,EAAmB;AACfv0B,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,GAAhB;AACH;;AACDA,UAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACAA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACAA,UAAI,CAACvC,KAAL,CAAW0L,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;AACAA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACAA,UAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;;AACA,UAAI,CAACu0B,YAAL,EAAmB;AACfv0B,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,4BAAmBA,IAAnB,EAAyBsT,GAAzB,EAA8B;AAC1B,UAAMu0B,YAAY,GAAGv0B,GAAG,CAAC2yB,WAAJ,EAArB;;AACA,UAAI,CAAC4B,YAAL,EAAmB;AACfv0B,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,GAAhB;AACH;;AACDA,UAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACAA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,aAAoBA,IAAI,CAAClP,IAAzB;AACAkP,UAAI,CAACzN,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;;AACA,UAAI,CAACu0B,YAAL,EAAmB;AACfv0B,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,GAAhB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,+BAAsBA,IAAtB,EAA4BsT,GAA5B,EAAiC;AAC7BtT,UAAI,CAACY,QAAL,CAAcuI,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACA,UAAIxiB,IAAI,GAAGkP,IAAI,CAAClP,IAAhB;;AACA,UAAIkP,IAAI,CAACL,OAAL,IAAgB,IAApB,EAA0B;AACtB7O,YAAI,GAAG,KAAKg3C,oBAAL,CAA0B9nC,IAAI,CAACL,OAA/B,CAAP;;AACA,YAAI7O,IAAI,IAAI,IAAZ,EAAkB;AACd;AACA,iBAAO,IAAP;AACH;AACJ;;AACDwiB,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,aAAoBlP,IAApB;AACA,WAAKsY,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC0a,GAApC;AACAA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACA,aAAO,IAAP;AACH;;;WACD,iCAAwBA,IAAxB,EAA8BsT,GAA9B,EAAmC;AAC/BtT,UAAI,CAACmB,EAAL,CAAQgI,eAAR,CAAwB,IAAxB,EAA8BmK,GAA9B;AACAA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACA,WAAKoJ,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC0a,GAApC,EAAyC,GAAzC;AACAA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqBiJ,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,YAAM,IAAIjkB,KAAJ,CAAU,gDAAV,CAAN;AACH;;;WACD,yBAAgB2Q,IAAhB,EAAsBsT,GAAtB,EAA2B;AACvBA,SAAG,CAACuyB,KAAJ,CAAU7lC,IAAV,EAAgB,SAAhB;AACAA,UAAI,CAACA,IAAL,CAAUmJ,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC;AACH;;;WACD,0BAAiBrK,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,UAAIy0B,OAAO,GAAG9+B,GAAG,CAACnY,IAAlB;;AACA,UAAImY,GAAG,CAACtJ,OAAJ,IAAe,IAAnB,EAAyB;AACrB,gBAAQsJ,GAAG,CAACtJ,OAAZ;AACI,eAAKF,UAAU,CAAC0G,KAAhB;AACI4hC,mBAAO,GAAG,OAAV;AACA;;AACJ,eAAKtoC,UAAU,CAACwG,IAAhB;AACI8hC,mBAAO,GAAG,MAAV;AACA;;AACJ,eAAKtoC,UAAU,CAAC4G,UAAhB;AACI0hC,mBAAO,GAAG9C,iBAAiB,CAACn0C,IAA5B;AACA;;AACJ,eAAK2O,UAAU,CAAC8G,UAAhB;AACIwhC,mBAAO,GAAG7C,iBAAiB,CAACp0C,IAA5B;AACA;;AACJ;AACI,kBAAM,IAAIzB,KAAJ,oCAAsC4Z,GAAG,CAACtJ,OAA1C,EAAN;AAdR;AAgBH;;AACD2T,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe8+B,OAAf;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqB9+B,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3BA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACAA,SAAG,CAAC5H,SAAJ,CAAc8H,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAACrQ,IAA7B,EAAmC0a,GAAnC,EAAwC,GAAxC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,0BAAiBA,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,UAAM/gB,KAAK,GAAG0W,GAAG,CAAC1W,KAAlB;;AACA,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B+gB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe++B,gBAAgB,CAACz1C,KAAD,EAAQ,KAAK80C,sBAAb,CAA/B;AACH,OAFD,MAGK;AACD/zB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,YAAkB1W,KAAlB;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,8BAAqB0W,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,UAAM20B,IAAI,GAAGh/B,GAAG,CAACi/B,iBAAJ,EAAb;AACA50B,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,gBAAgBg/B,IAAI,CAACvkC,GAApC;;AACA,WAAK,IAAIzR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,GAAG,CAAClH,YAAJ,CAAiBnR,MAArC,EAA6CqB,CAAC,EAA9C,EAAkD;AAC9CqhB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,IAAf;AACAA,WAAG,CAAChH,WAAJ,CAAgBhQ,CAAC,GAAG,CAApB,EAAuBkX,eAAvB,CAAuC,IAAvC,EAA6CmK,GAA7C;AACAA,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,aAAmBA,GAAG,CAACk/B,yBAAJ,CAA8Bl2C,CAA9B,EAAiCyR,GAApD;AACH;;AACD4P,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqBA,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3BA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACAA,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,IAAf;AACAA,SAAG,CAAClL,QAAJ,CAAaoL,eAAb,CAA6B,IAA7B,EAAmCmK,GAAnC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,IAAf;AACAA,SAAG,CAACjL,SAAJ,CAAcmL,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,sBAAaA,GAAb,EAAkBqK,GAAlB,EAAuB;AACnBA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACAA,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACA,aAAO,IAAP;AACH;;;WACD,gCAAuBrK,GAAvB,EAA4BqK,GAA5B,EAAiC;AAC7BrK,SAAG,CAACjF,SAAJ,CAAcmF,eAAd,CAA8B,IAA9B,EAAoCmK,GAApC;AACA,aAAO,IAAP;AACH;;;WACD,gCAAuBrK,GAAvB,EAA4BqK,GAA5B,EAAiC;AAC7B,UAAI80B,KAAJ;;AACA,cAAQn/B,GAAG,CAACnE,QAAZ;AACI,aAAKjI,aAAa,CAAC4B,IAAnB;AACI2pC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKvrC,aAAa,CAAC2B,KAAnB;AACI4pC,eAAK,GAAG,GAAR;AACA;;AACJ;AACI,gBAAM,IAAI/4C,KAAJ,4BAA8B4Z,GAAG,CAACnE,QAAlC,EAAN;AARR;;AAUA,UAAImE,GAAG,CAACnK,MAAR,EACIwU,GAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACJqK,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAem/B,KAAf;AACAn/B,SAAG,CAACjJ,IAAJ,CAASmJ,eAAT,CAAyB,IAAzB,EAA+BmK,GAA/B;AACA,UAAIrK,GAAG,CAACnK,MAAR,EACIwU,GAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACJ,aAAO,IAAP;AACH;;;WACD,iCAAwBA,GAAxB,EAA6BqK,GAA7B,EAAkC;AAC9B,UAAI80B,KAAJ;;AACA,cAAQn/B,GAAG,CAACnE,QAAZ;AACI,aAAKhI,cAAc,CAACsB,MAApB;AACIgqC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACwB,SAApB;AACI8pC,eAAK,GAAG,KAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACuB,SAApB;AACI+pC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACyB,YAApB;AACI6pC,eAAK,GAAG,KAAR;AACA;;AACJ,aAAKtrC,cAAc,CAAC+B,GAApB;AACIupC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACiC,UAApB;AACIqpC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACkC,EAApB;AACIopC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAKtrC,cAAc,CAAC2B,IAApB;AACI2pC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAAC0B,KAApB;AACI4pC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAAC4B,MAApB;AACI0pC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAAC6B,QAApB;AACIypC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAAC8B,MAApB;AACIwpC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACmC,KAApB;AACImpC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACoC,WAApB;AACIkpC,eAAK,GAAG,IAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACqC,MAApB;AACIipC,eAAK,GAAG,GAAR;AACA;;AACJ,aAAKtrC,cAAc,CAACsC,YAApB;AACIgpC,eAAK,GAAG,IAAR;AACA;;AACJ;AACI,gBAAM,IAAI/4C,KAAJ,4BAA8B4Z,GAAG,CAACnE,QAAlC,EAAN;AAlDR;;AAoDA,UAAImE,GAAG,CAACnK,MAAR,EACIwU,GAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACJA,SAAG,CAACjE,GAAJ,CAAQmE,eAAR,CAAwB,IAAxB,EAA8BmK,GAA9B;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,aAAmBm/B,KAAnB;AACAn/B,SAAG,CAAC/K,GAAJ,CAAQiL,eAAR,CAAwB,IAAxB,EAA8BmK,GAA9B;AACA,UAAIrK,GAAG,CAACnK,MAAR,EACIwU,GAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACJ,aAAO,IAAP;AACH;;;WACD,2BAAkBA,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxBrK,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmCmK,GAAnC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACAqK,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAeA,GAAG,CAACnY,IAAnB;AACA,aAAO,IAAP;AACH;;;WACD,0BAAiBmY,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvBrK,SAAG,CAACrI,QAAJ,CAAauI,eAAb,CAA6B,IAA7B,EAAmCmK,GAAnC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACAA,SAAG,CAACxL,KAAJ,CAAU0L,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,+BAAsBA,GAAtB,EAA2BqK,GAA3B,EAAgC;AAC5BA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAAC5D,OAA7B,EAAsCiO,GAAtC,EAA2C,GAA3C;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,6BAAoBA,GAApB,EAAyBqK,GAAzB,EAA8B;AAAA;;AAC1BA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,WAAKo/B,eAAL,CAAqB,UAAA/+B,KAAK,EAAI;AAC1BgK,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,YAAkB++B,gBAAgB,CAAC1+B,KAAK,CAAC7D,GAAP,EAAY,OAAI,CAAC4hC,sBAAjB,EAAyC/9B,KAAK,CAAC5D,MAA/C,CAAlC;AACA4D,aAAK,CAAC/W,KAAN,CAAY4W,eAAZ,CAA4B,OAA5B,EAAkCmK,GAAlC;AACH,OAHD,EAGGrK,GAAG,CAAC5D,OAHP,EAGgBiO,GAHhB,EAGqB,GAHrB;AAIAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,wBAAeA,GAAf,EAAoBqK,GAApB,EAAyB;AACrBA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACA,WAAKG,mBAAL,CAAyBH,GAAG,CAACnD,KAA7B,EAAoCwN,GAApC,EAAyC,GAAzC;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACA,aAAO,IAAP;AACH;;;WACD,6BAAoBhH,WAApB,EAAiCqR,GAAjC,EAAsCg1B,SAAtC,EAAiD;AAAA;;AAC7C,WAAKD,eAAL,CAAqB,UAAAroC,IAAI;AAAA,eAAIA,IAAI,CAACmJ,eAAL,CAAqB,OAArB,EAA2BmK,GAA3B,CAAJ;AAAA,OAAzB,EAA8DrR,WAA9D,EAA2EqR,GAA3E,EAAgFg1B,SAAhF;AACH;;;WACD,yBAAgBhd,OAAhB,EAAyBrpB,WAAzB,EAAsCqR,GAAtC,EAA2Cg1B,SAA3C,EAAsD;AAClD,UAAIC,iBAAiB,GAAG,KAAxB;;AACA,WAAK,IAAIt2C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgQ,WAAW,CAACrR,MAAhC,EAAwCqB,CAAC,EAAzC,EAA6C;AACzC,YAAIA,CAAC,GAAG,CAAR,EAAW;AACP,cAAIqhB,GAAG,CAACk1B,UAAJ,KAAmB,EAAvB,EAA2B;AACvBl1B,eAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgByC,SAAhB,EAA2B,IAA3B;;AACA,gBAAI,CAACC,iBAAL,EAAwB;AACpB;AACAj1B,iBAAG,CAACq0B,SAAJ;AACAr0B,iBAAG,CAACq0B,SAAJ;AACAY,+BAAiB,GAAG,IAApB;AACH;AACJ,WARD,MASK;AACDj1B,eAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgByC,SAAhB,EAA2B,KAA3B;AACH;AACJ;;AACDhd,eAAO,CAACrpB,WAAW,CAAChQ,CAAD,CAAZ,CAAP;AACH;;AACD,UAAIs2C,iBAAJ,EAAuB;AACnB;AACAj1B,WAAG,CAACs0B,SAAJ;AACAt0B,WAAG,CAACs0B,SAAJ;AACH;AACJ;;;WACD,4BAAmBljC,UAAnB,EAA+B4O,GAA/B,EAAoC;AAAA;;AAChC5O,gBAAU,CAAC7T,OAAX,CAAmB,UAACqW,IAAD;AAAA,eAAUA,IAAI,CAAC2C,cAAL,CAAoB,OAApB,EAA0ByJ,GAA1B,CAAV;AAAA,OAAnB;AACH;;;;;;AAEL,SAAS00B,gBAAT,CAA0Bn7B,KAA1B,EAAiC47B,YAAjC,EAAmE;AAAA,MAApBC,WAAoB,uEAAN,IAAM;;AAC/D,MAAI77B,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,IAAP;AACH;;AACD,MAAMhF,IAAI,GAAGgF,KAAK,CAACzJ,OAAN,CAAc0hC,8BAAd,EAA8C,YAAc;AACrE,QAAI,sDAAY,GAAhB,EAAqB;AACjB,aAAO2D,YAAY,GAAG,KAAH,GAAW,GAA9B;AACH,KAFD,MAGK,IAAI,sDAAY,IAAhB,EAAsB;AACvB,aAAO,KAAP;AACH,KAFI,MAGA,IAAI,sDAAY,IAAhB,EAAsB;AACvB,aAAO,KAAP;AACH,KAFI,MAGA;AACD;AACH;AACJ,GAbY,CAAb;AAcA,MAAME,cAAc,GAAGD,WAAW,IAAI,CAAC3D,oBAAoB,CAAC/I,IAArB,CAA0Bn0B,IAA1B,CAAvC;AACA,SAAO8gC,cAAc,cAAO9gC,IAAP,SAAiBA,IAAtC;AACH;;AACD,SAASu+B,aAAT,CAAuBnR,KAAvB,EAA8B;AAC1B,MAAIziC,GAAG,GAAG,EAAV;;AACA,OAAK,IAAIP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgjC,KAApB,EAA2BhjC,CAAC,EAA5B,EAAgC;AAC5BO,OAAG,IAAIwyC,YAAP;AACH;;AACD,SAAOxyC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMo2C,wB;;;;;AACF,sCAAc;AAAA;;AAAA,+BACJ,KADI;AAEb;;;;WACD,+BAAsB1hC,IAAtB,EAA4BoM,GAA5B,EAAiC;AAAA;;AAC7BA,SAAG,CAACu1B,SAAJ,CAAc3hC,IAAd;;AACA,WAAK4hC,sBAAL,CAA4B5hC,IAA5B,EAAkCoM,GAAlC;;AACA,UAAIpM,IAAI,CAACe,MAAL,IAAe,IAAnB,EAAyB;AACrBqL,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,YAAmBA,IAAI,CAACpW,IAAxB;AACAoW,YAAI,CAACe,MAAL,CAAYkB,eAAZ,CAA4B,IAA5B,EAAkCmK,GAAlC;AACAA,WAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACH;;AACDA,UAAI,CAACiB,OAAL,CAAatX,OAAb,CAAqB,UAAC6Y,MAAD;AAAA,eAAY,OAAI,CAACq/B,iBAAL,CAAuB7hC,IAAvB,EAA6BwC,MAA7B,EAAqC4J,GAArC,CAAZ;AAAA,OAArB;AACApM,UAAI,CAACmB,OAAL,CAAaxX,OAAb,CAAqB,UAACoQ,MAAD;AAAA,eAAY,OAAI,CAAC+nC,iBAAL,CAAuB9hC,IAAvB,EAA6BjG,MAA7B,EAAqCqS,GAArC,CAAZ;AAAA,OAArB;AACAA,SAAG,CAAC21B,QAAJ;AACA,aAAO,IAAP;AACH;;;WACD,gCAAuB/hC,IAAvB,EAA6BoM,GAA7B,EAAkC;AAC9BA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,qBAA4BA,IAAI,CAACpW,IAAjC;;AACA,UAAIoW,IAAI,CAACkB,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,aAAK8gC,YAAL,CAAkBhiC,IAAI,CAACkB,iBAAL,CAAuBzK,MAAzC,EAAiD2V,GAAjD;AACH;;AACDA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;;AACA,UAAIzgC,IAAI,CAACkB,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,YAAIlB,IAAI,CAACkB,iBAAL,CAAuBP,IAAvB,CAA4BjX,MAA5B,GAAqC,CAAzC,EAA4C;AACxC0iB,aAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,eAAKmC,kBAAL,CAAwBnC,IAAI,CAACkB,iBAAL,CAAuBP,IAA/C,EAAqDyL,GAArD;AACH;AACJ;;AACDA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACH;;;WACD,2BAAkBA,IAAlB,EAAwBwC,MAAxB,EAAgC4J,GAAhC,EAAqC;AACjCA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ,kCAA2CA,IAAI,CAACpW,IAAhD,0BAAoE4Y,MAAM,CAAC5Y,IAA3E;AACAwiB,SAAG,CAACq0B,SAAJ;;AACA,UAAIj+B,MAAM,CAAC7B,IAAP,CAAYjX,MAAZ,GAAqB,CAAzB,EAA4B;AACxB0iB,WAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAKmC,kBAAL,CAAwBK,MAAM,CAAC7B,IAA/B,EAAqCyL,GAArC;AACH;;AACDA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACH;;;WACD,2BAAkBA,IAAlB,EAAwBjG,MAAxB,EAAgCqS,GAAhC,EAAqC;AACjCA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,YAAmBA,IAAI,CAACpW,IAAxB,wBAA0CmQ,MAAM,CAACnQ,IAAjD;;AACA,WAAKo4C,YAAL,CAAkBjoC,MAAM,CAACtD,MAAzB,EAAiC2V,GAAjC;;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;;AACA,UAAI1mC,MAAM,CAAC4G,IAAP,CAAYjX,MAAZ,GAAqB,CAAzB,EAA4B;AACxB0iB,WAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAKmC,kBAAL,CAAwBpI,MAAM,CAAC4G,IAA/B,EAAqCyL,GAArC;AACH;;AACDA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACH;;;WACD,8BAAqB+B,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,YAAM,IAAIjkB,KAAJ,CAAU,8CAAV,CAAN;AACH;;;WACD,0BAAiB4Z,GAAjB,EAAsBqK,GAAtB,EAA2B;AACvB,UAAIrK,GAAG,CAACtJ,OAAJ,KAAgBF,UAAU,CAACwG,IAA/B,EAAqC;AACjCqN,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,MAAf;AACH,OAFD,MAGK,IAAIA,GAAG,CAACtJ,OAAJ,KAAgBF,UAAU,CAAC0G,KAA/B,EAAsC;AACvC,cAAM,IAAI9W,KAAJ,gFAAN;AACH,OAFI,MAGA;AACD,uXAAuB4Z,GAAvB,EAA4BqK,GAA5B;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,6BAAoBpM,IAApB,EAA0BoM,GAA1B,EAA+B;AAC3BA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,gBAAuBA,IAAI,CAACpW,IAA5B;;AACA,UAAIoW,IAAI,CAAC3U,KAAT,EAAgB;AACZ+gB,WAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,EAAgB,KAAhB;AACAA,YAAI,CAAC3U,KAAL,CAAW4W,eAAX,CAA2B,IAA3B,EAAiCmK,GAAjC;AACH;;AACDA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,uBAAc+B,GAAd,EAAmBqK,GAAnB,EAAwB;AACpBrK,SAAG,CAAC1W,KAAJ,CAAU4W,eAAV,CAA0B,IAA1B,EAAgCmK,GAAhC;AACA,aAAO,IAAP;AACH;;;WACD,iCAAwBtT,IAAxB,EAA8BsT,GAA9B,EAAmC;AAC/B,UAAM61B,MAAM,GAAGnpC,IAAI,CAACmB,EAApB;;AACA,UAAIgoC,MAAM,YAAYzpC,WAAlB,IAAiCypC,MAAM,CAACxpC,OAAP,KAAmBF,UAAU,CAAC0G,KAAnE,EAA0E;AACtEmN,WAAG,CAAC81B,YAAJ,CAAiBnhC,MAAjB,CAAwBkB,eAAxB,CAAwC,IAAxC,EAA8CmK,GAA9C;AACAA,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;;AACA,YAAIA,IAAI,CAACpH,IAAL,CAAUhI,MAAV,GAAmB,CAAvB,EAA0B;AACtB0iB,aAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACA,eAAKoJ,mBAAL,CAAyBpJ,IAAI,CAACpH,IAA9B,EAAoC0a,GAApC,EAAyC,GAAzC;AACH;;AACDA,WAAG,CAACuyB,KAAJ,CAAU7lC,IAAV;AACH,OARD,MASK;AACD,8XAA8BA,IAA9B,EAAoCsT,GAApC;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,2BAAkBrK,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxBA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,oBAA0BA,GAAG,CAACnY,IAAJ,GAAW,MAAMmY,GAAG,CAACnY,IAArB,GAA4B,EAAtD;;AACA,WAAKo4C,YAAL,CAAkBjgC,GAAG,CAACtL,MAAtB,EAA8B2V,GAA9B;;AACAA,SAAG,CAACi0B,OAAJ,CAAYt+B,GAAZ;AACAqK,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBJ,GAAG,CAACvE,UAA5B,EAAwC4O,GAAxC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV;AACA,aAAO,IAAP;AACH;;;WACD,kCAAyB/B,IAAzB,EAA+BoM,GAA/B,EAAoC;AAChCA,SAAG,CAACuyB,KAAJ,CAAU3+B,IAAV,qBAA4BA,IAAI,CAACpW,IAAjC;;AACA,WAAKo4C,YAAL,CAAkBhiC,IAAI,CAACvJ,MAAvB,EAA+B2V,GAA/B;;AACAA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBnC,IAAI,CAACxC,UAA7B,EAAyC4O,GAAzC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,2BAAkBA,IAAlB,EAAwBoM,GAAxB,EAA6B;AACzBA,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACAoM,SAAG,CAACq0B,SAAJ;AACA,WAAKt+B,kBAAL,CAAwBnC,IAAI,CAACwB,SAA7B,EAAwC4K,GAAxC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ,qBAA8B+9B,iBAAiB,CAACn0C,IAAhD;AACAwiB,SAAG,CAACq0B,SAAJ;AACA,UAAMh/B,UAAU,GAAG,CAACu8B,iBAAiB,CAAC/vC,GAAlB,CAAsB8vC,iBAAiB,CAAC/5B,IAAlB,CAAuB,OAAvB,CAAtB,EAAuD1K,UAAvD,CAAkE,IAAlE,EAAwE,CACpFC,YAAY,CAACC,KADuE,CAAxE,CAAD,EAEXpO,MAFW,CAEJ4U,IAAI,CAACyB,UAFD,CAAnB;AAGA,WAAKU,kBAAL,CAAwBV,UAAxB,EAAoC2K,GAApC;AACAA,SAAG,CAACs0B,SAAJ;AACAt0B,SAAG,CAACi0B,OAAJ,CAAYrgC,IAAZ;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqB+B,GAArB,EAA0BqK,GAA1B,EAA+B;AAAA;;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,8IAAf;AACA,UAAMnD,KAAK,GAAG,CAACmD,GAAG,CAACi/B,iBAAJ,EAAD,CAAd;;AACA,WAAK,IAAIj2C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,GAAG,CAAClH,YAAJ,CAAiBnR,MAArC,EAA6CqB,CAAC,EAA9C,EAAkD;AAC9C6T,aAAK,CAACzT,IAAN,CAAW4W,GAAG,CAACk/B,yBAAJ,CAA8Bl2C,CAA9B,CAAX;AACH;;AACDqhB,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,aAAmBnD,KAAK,CAACxQ,GAAN,CAAU,UAAAywC,IAAI;AAAA,eAAIiC,gBAAgB,CAACjC,IAAI,CAACtiC,MAAN,EAAc,KAAd,CAApB;AAAA,OAAd,EAAwDzR,IAAxD,CAA6D,IAA7D,CAAnB;AACAshB,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,aAAmBnD,KAAK,CAACxQ,GAAN,CAAU,UAAAywC,IAAI;AAAA,eAAIiC,gBAAgB,CAACjC,IAAI,CAACriC,GAAN,EAAW,KAAX,CAApB;AAAA,OAAd,EAAqD1R,IAArD,CAA0D,IAA1D,CAAnB;AACAiX,SAAG,CAAChH,WAAJ,CAAgBpR,OAAhB,CAAwB,UAAAohB,UAAU,EAAI;AAClCqB,WAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,IAAf;AACAgJ,kBAAU,CAAC9I,eAAX,CAA2B,OAA3B,EAAiCmK,GAAjC;AACH,OAHD;AAIAA,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,GAAf;AACA,aAAO,IAAP;AACH;;;WACD,sBAAatL,MAAb,EAAqB2V,GAArB,EAA0B;AACtB,WAAK+0B,eAAL,CAAqB,UAAA7jC,KAAK;AAAA,eAAI8O,GAAG,CAACuyB,KAAJ,CAAU,IAAV,EAAgBrhC,KAAK,CAAC1T,IAAtB,CAAJ;AAAA,OAA1B,EAA2D6M,MAA3D,EAAmE2V,GAAnE,EAAwE,GAAxE;AACH;;;WACD,8BAAqBrS,MAArB,EAA6B;AACzB,UAAInQ,IAAJ;;AACA,cAAQmQ,MAAR;AACI,aAAKD,aAAa,CAACqoC,WAAnB;AACIv4C,cAAI,GAAG,QAAP;AACA;;AACJ,aAAKkQ,aAAa,CAACsoC,mBAAnB;AACIx4C,cAAI,GAAG,WAAP;AACA;;AACJ,aAAKkQ,aAAa,CAACuoC,IAAnB;AACIz4C,cAAI,GAAG,MAAP;AACA;;AACJ;AACI,gBAAM,IAAIzB,KAAJ,mCAAqC4R,MAArC,EAAN;AAXR;;AAaA,aAAOnQ,IAAP;AACH;;;;EA1LkCs2C,sB;AA6LvC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACMoC,Y;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,gCAAmBhG,SAAnB,EAA8B9+B,UAA9B,EAA0C2T,SAA1C,EAAqDoxB,gBAArD,EAAuE;AACnE,UAAMC,SAAS,GAAG,IAAIC,iBAAJ,CAAsBtxB,SAAtB,CAAlB;AACA,UAAM/E,GAAG,GAAGiyB,qBAAqB,CAACqE,UAAtB,EAAZ,CAFmE,CAGnE;;AACA,UAAIllC,UAAU,CAAC9T,MAAX,GAAoB,CAApB,IAAyB,CAACi5C,oBAAoB,CAACnlC,UAAU,CAAC,CAAD,CAAX,CAAlD,EAAmE;AAC/DA,kBAAU,IACN0H,OAAO,CAAC,YAAD,CAAP,CAAsBwzB,MAAtB,EADM,qKAEHl7B,UAFG,EAAV;AAIH;;AACDglC,eAAS,CAACrgC,kBAAV,CAA6B3E,UAA7B,EAAyC4O,GAAzC;AACAo2B,eAAS,CAACI,gBAAV,CAA2Bx2B,GAA3B;AACA,aAAO,KAAKy2B,YAAL,CAAkBvG,SAAlB,EAA6BlwB,GAA7B,EAAkCo2B,SAAS,CAACM,OAAV,EAAlC,EAAuDP,gBAAvD,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,sBAAajG,SAAb,EAAwBlwB,GAAxB,EAA6BwZ,IAA7B,EAAmCmd,eAAnC,EAAoD;AAChD,UAAIC,MAAM,4BAAmB52B,GAAG,CAAC62B,QAAJ,EAAnB,6BAAoD3G,SAApD,CAAV;AACA,UAAM4G,UAAU,GAAG,EAAnB;AACA,UAAMC,WAAW,GAAG,EAApB;;AACA,WAAK,IAAMC,OAAX,IAAsBxd,IAAtB,EAA4B;AACxBud,mBAAW,CAACh4C,IAAZ,CAAiBy6B,IAAI,CAACwd,OAAD,CAArB;AACAF,kBAAU,CAAC/3C,IAAX,CAAgBi4C,OAAhB;AACH;;AACD,UAAIL,eAAJ,EAAqB;AACjB;AACA;AACA;AACA;AACA;AACA,YAAMM,OAAO,GAAG,mJAAI/wC,QAAJ,8JAAgB4wC,UAAU,CAAC93C,MAAX,CAAkB,cAAlB,CAAhB,GAAmDwd,QAAnD,EAAhB;;AACA,YAAM06B,WAAW,GAAGD,OAAO,CAACj7C,KAAR,CAAc,CAAd,EAAiBi7C,OAAO,CAACn7C,OAAR,CAAgB,cAAhB,CAAjB,EAAkDkhB,KAAlD,CAAwD,IAAxD,EAA8D1f,MAA9D,GAAuE,CAA3F;AACAs5C,cAAM,gBAAS52B,GAAG,CAACm3B,oBAAJ,CAAyBjH,SAAzB,EAAoCgH,WAApC,EAAiDE,WAAjD,EAAT,CAAN;AACH;;AACD,UAAMvpC,EAAE,GAAG,mJAAI3H,QAAP,8JAAmB4wC,UAAU,CAAC93C,MAAX,CAAkB43C,MAAlB,CAAnB,EAAR;;AACA,aAAO,KAAKS,eAAL,CAAqBxpC,EAArB,EAAyBkpC,WAAzB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgBlpC,EAAhB,EAAoBvI,IAApB,EAA0B;AACtB,aAAOuI,EAAE,MAAF,qKAAMvI,IAAN,EAAP;AACH;;;;;AAEL;AACA;AACA;;;IACM+wC,iB;;;;;AACF,6BAAYtxB,SAAZ,EAAuB;AAAA;;AAAA;;AACnB;AACA,YAAKA,SAAL,GAAiBA,SAAjB;AACA,YAAKuyB,aAAL,GAAqB,EAArB;AACA,YAAKC,cAAL,GAAsB,EAAtB;AACA,YAAKC,iBAAL,GAAyB,EAAzB;AALmB;AAMtB;;;;WACD,0BAAiBx3B,GAAjB,EAAsB;AAClB,UAAMpM,IAAI,GAAG,IAAII,eAAJ,CAAoB,IAAI3B,cAAJ,CAAmB,KAAKmlC,iBAAL,CAAuBx1C,GAAvB,CAA2B,UAAAy1C,SAAS;AAAA,eAAI,IAAIvlC,eAAJ,CAAoBulC,SAApB,EAA+B1/B,QAAQ,CAAC0/B,SAAD,CAAvC,EAAoD,KAApD,CAAJ;AAAA,OAApC,CAAnB,CAApB,CAAb;AACA7jC,UAAI,CAAC2C,cAAL,CAAoB,IAApB,EAA0ByJ,GAA1B;AACH;;;WACD,mBAAU;AACN,UAAMlhB,MAAM,GAAG,EAAf;;AACA,WAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK24C,aAAL,CAAmBh6C,MAAvC,EAA+CqB,CAAC,EAAhD,EAAoD;AAChDG,cAAM,CAAC,KAAKw4C,aAAL,CAAmB34C,CAAnB,CAAD,CAAN,GAAgC,KAAK44C,cAAL,CAAoB54C,CAApB,CAAhC;AACH;;AACD,aAAOG,MAAP;AACH;;;WACD,2BAAkB6W,GAAlB,EAAuBqK,GAAvB,EAA4B;AACxB,WAAK03B,wBAAL,CAA8B/hC,GAA9B,EAAmC,KAAKoP,SAAL,CAAeC,wBAAf,CAAwCrP,GAAG,CAAC1W,KAA5C,CAAnC,EAAuF+gB,GAAvF;;AACA,aAAO,IAAP;AACH;;;WACD,8BAAqBrK,GAArB,EAA0BqK,GAA1B,EAA+B;AAC3B,WAAK03B,wBAAL,CAA8B/hC,GAA9B,EAAmCA,GAAG,CAAC7I,IAAvC,EAA6CkT,GAA7C;;AACA,aAAO,IAAP;AACH;;;WACD,6BAAoBpM,IAApB,EAA0BoM,GAA1B,EAA+B;AAC3B,UAAIpM,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC,aAAKyL,iBAAL,CAAuBz4C,IAAvB,CAA4B6U,IAAI,CAACpW,IAAjC;AACH;;AACD,wXAAiCoW,IAAjC,EAAuCoM,GAAvC;AACH;;;WACD,kCAAyBpM,IAAzB,EAA+BoM,GAA/B,EAAoC;AAChC,UAAIpM,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC,aAAKyL,iBAAL,CAAuBz4C,IAAvB,CAA4B6U,IAAI,CAACpW,IAAjC;AACH;;AACD,6XAAsCoW,IAAtC,EAA4CoM,GAA5C;AACH;;;WACD,+BAAsBpM,IAAtB,EAA4BoM,GAA5B,EAAiC;AAC7B,UAAIpM,IAAI,CAAC+jC,WAAL,CAAiBxqC,YAAY,CAAC4+B,QAA9B,CAAJ,EAA6C;AACzC,aAAKyL,iBAAL,CAAuBz4C,IAAvB,CAA4B6U,IAAI,CAACpW,IAAjC;AACH;;AACD,0XAAmCoW,IAAnC,EAAyCoM,GAAzC;AACH;;;WACD,kCAAyBrK,GAAzB,EAA8B1W,KAA9B,EAAqC+gB,GAArC,EAA0C;AACtC,UAAI/H,EAAE,GAAG,KAAKs/B,cAAL,CAAoBz7C,OAApB,CAA4BmD,KAA5B,CAAT;;AACA,UAAIgZ,EAAE,KAAK,CAAC,CAAZ,EAAe;AACXA,UAAE,GAAG,KAAKs/B,cAAL,CAAoBj6C,MAAzB;;AACA,aAAKi6C,cAAL,CAAoBx4C,IAApB,CAAyBE,KAAzB;;AACA,YAAMzB,IAAI,GAAGooB,cAAc,CAAC;AAAEhB,mBAAS,EAAE3lB;AAAb,SAAD,CAAd,IAAwC,KAArD;;AACA,aAAKq4C,aAAL,CAAmBv4C,IAAnB,eAA+BvB,IAA/B,cAAuCya,EAAvC;AACH;;AACD+H,SAAG,CAACuyB,KAAJ,CAAU58B,GAAV,EAAe,KAAK2hC,aAAL,CAAmBr/B,EAAnB,CAAf;AACH;;;;EAtD2Bq9B,wB;;AAwDhC,SAASiB,oBAAT,CAA8BqB,SAA9B,EAAyC;AACrC,SAAOA,SAAS,CAAChuC,YAAV,CAAuBkP,OAAO,CAAC,YAAD,CAAP,CAAsBwzB,MAAtB,EAAvB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMuL,IAAI,GAAG,CAAb;AACA,IAAMC,OAAO,GAAG,CAAhB;AACA,IAAMC,IAAI,GAAG,CAAb;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,QAAQ,GAAG,EAAjB;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,KAAK,GAAG,EAAd;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,OAAO,GAAG,EAAhB;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,UAAU,GAAG,EAAnB;AACA,IAAMC,SAAS,GAAG,EAAlB;AACA,IAAMC,MAAM,GAAG,EAAf;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,EAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,EAAE,GAAG,GAAX;AACA,IAAMC,OAAO,GAAG,GAAhB;AACA,IAAMC,IAAI,GAAG,GAAb;AACA,IAAMC,OAAO,GAAG,GAAhB;AACA,IAAMC,KAAK,GAAG,GAAd;AACA,IAAMC,KAAK,GAAG,GAAd;AACA,IAAMC,MAAM,GAAG,GAAf;AACA,IAAMC,GAAG,GAAG,EAAZ;AACA,IAAMC,GAAG,GAAG,EAAZ;;AACA,SAASC,YAAT,CAAsBC,IAAtB,EAA4B;AACxB,SAAQA,IAAI,IAAI5D,IAAR,IAAgB4D,IAAI,IAAIvD,MAAzB,IAAqCuD,IAAI,IAAIN,KAApD;AACH;;AACD,SAASO,OAAT,CAAiBD,IAAjB,EAAuB;AACnB,SAAOjC,EAAE,IAAIiC,IAAN,IAAcA,IAAI,IAAI/B,EAA7B;AACH;;AACD,SAASiC,aAAT,CAAuBF,IAAvB,EAA6B;AACzB,SAAOA,IAAI,IAAIpB,EAAR,IAAcoB,IAAI,IAAIV,EAAtB,IAA4BU,IAAI,IAAI9B,EAAR,IAAc8B,IAAI,IAAI1B,EAAzD;AACH;;AACD,SAAS6B,eAAT,CAAyBH,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,IAAIpB,EAAR,IAAcoB,IAAI,IAAIjB,EAAtB,IAA4BiB,IAAI,IAAI9B,EAAR,IAAc8B,IAAI,IAAI5B,EAAlD,IAAwD6B,OAAO,CAACD,IAAD,CAAtE;AACH;;AACD,SAASI,SAAT,CAAmBJ,IAAnB,EAAyB;AACrB,SAAOA,IAAI,KAAK3D,GAAT,IAAgB2D,IAAI,KAAKxD,GAAhC;AACH;;AACD,SAAS6D,YAAT,CAAsBL,IAAtB,EAA4B;AACxB,SAAOjC,EAAE,IAAIiC,IAAN,IAAcA,IAAI,IAAIhC,EAA7B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMsC,a;AACF,yBAAYhhB,IAAZ,EAAkBihB,MAAlB,EAA0B/gB,IAA1B,EAAgCE,GAAhC,EAAqC;AAAA;;AACjC,SAAKJ,IAAL,GAAYA,IAAZ;AACA,SAAKihB,MAAL,GAAcA,MAAd;AACA,SAAK/gB,IAAL,GAAYA,IAAZ;AACA,SAAKE,GAAL,GAAWA,GAAX;AACH;;;;WACD,oBAAW;AACP,aAAO,KAAK6gB,MAAL,IAAe,IAAf,aAAyB,KAAKjhB,IAAL,CAAUpP,GAAnC,cAA0C,KAAKsP,IAA/C,cAAuD,KAAKE,GAA5D,IAAoE,KAAKJ,IAAL,CAAUpP,GAArF;AACH;;;WACD,gBAAOswB,KAAP,EAAc;AACV,UAAMjX,MAAM,GAAG,KAAKjK,IAAL,CAAUrB,OAAzB;AACA,UAAM9vB,GAAG,GAAGo7B,MAAM,CAAC5nC,MAAnB;AACA,UAAI4+C,MAAM,GAAG,KAAKA,MAAlB;AACA,UAAI/gB,IAAI,GAAG,KAAKA,IAAhB;AACA,UAAIE,GAAG,GAAG,KAAKA,GAAf;;AACA,aAAO6gB,MAAM,GAAG,CAAT,IAAcC,KAAK,GAAG,CAA7B,EAAgC;AAC5BD,cAAM;AACNC,aAAK;AACL,YAAMC,EAAE,GAAGlX,MAAM,CAAC9oB,UAAP,CAAkB8/B,MAAlB,CAAX;;AACA,YAAIE,EAAE,IAAIpE,GAAV,EAAe;AACX7c,cAAI;AACJ,cAAMkhB,SAAS,GAAGnX,MAAM,CAACjlC,MAAP,CAAc,CAAd,EAAiBi8C,MAAM,GAAG,CAA1B,EAA6BI,WAA7B,CAAyCnzC,MAAM,CAACozC,YAAP,CAAoBvE,GAApB,CAAzC,CAAlB;AACA3c,aAAG,GAAGghB,SAAS,GAAG,CAAZ,GAAgBH,MAAM,GAAGG,SAAzB,GAAqCH,MAA3C;AACH,SAJD,MAKK;AACD7gB,aAAG;AACN;AACJ;;AACD,aAAO6gB,MAAM,GAAGpyC,GAAT,IAAgBqyC,KAAK,GAAG,CAA/B,EAAkC;AAC9B,YAAMC,GAAE,GAAGlX,MAAM,CAAC9oB,UAAP,CAAkB8/B,MAAlB,CAAX;;AACAA,cAAM;AACNC,aAAK;;AACL,YAAIC,GAAE,IAAIpE,GAAV,EAAe;AACX7c,cAAI;AACJE,aAAG,GAAG,CAAN;AACH,SAHD,MAIK;AACDA,aAAG;AACN;AACJ;;AACD,aAAO,IAAI4gB,aAAJ,CAAkB,KAAKhhB,IAAvB,EAA6BihB,MAA7B,EAAqC/gB,IAArC,EAA2CE,GAA3C,CAAP;AACH,K,CACD;AACA;;;;WACA,oBAAWmhB,QAAX,EAAqBC,QAArB,EAA+B;AAC3B,UAAM7iB,OAAO,GAAG,KAAKqB,IAAL,CAAUrB,OAA1B;AACA,UAAI8iB,WAAW,GAAG,KAAKR,MAAvB;;AACA,UAAIQ,WAAW,IAAI,IAAnB,EAAyB;AACrB,YAAIA,WAAW,GAAG9iB,OAAO,CAACt8B,MAAR,GAAiB,CAAnC,EAAsC;AAClCo/C,qBAAW,GAAG9iB,OAAO,CAACt8B,MAAR,GAAiB,CAA/B;AACH;;AACD,YAAIq/C,SAAS,GAAGD,WAAhB;AACA,YAAIE,QAAQ,GAAG,CAAf;AACA,YAAIC,QAAQ,GAAG,CAAf;;AACA,eAAOD,QAAQ,GAAGJ,QAAX,IAAuBE,WAAW,GAAG,CAA5C,EAA+C;AAC3CA,qBAAW;AACXE,kBAAQ;;AACR,cAAIhjB,OAAO,CAAC8iB,WAAD,CAAP,IAAwB,IAA5B,EAAkC;AAC9B,gBAAI,EAAEG,QAAF,IAAcJ,QAAlB,EAA4B;AACxB;AACH;AACJ;AACJ;;AACDG,gBAAQ,GAAG,CAAX;AACAC,gBAAQ,GAAG,CAAX;;AACA,eAAOD,QAAQ,GAAGJ,QAAX,IAAuBG,SAAS,GAAG/iB,OAAO,CAACt8B,MAAR,GAAiB,CAA3D,EAA8D;AAC1Dq/C,mBAAS;AACTC,kBAAQ;;AACR,cAAIhjB,OAAO,CAAC+iB,SAAD,CAAP,IAAsB,IAA1B,EAAgC;AAC5B,gBAAI,EAAEE,QAAF,IAAcJ,QAAlB,EAA4B;AACxB;AACH;AACJ;AACJ;;AACD,eAAO;AACHK,gBAAM,EAAEljB,OAAO,CAACld,SAAR,CAAkBggC,WAAlB,EAA+B,KAAKR,MAApC,CADL;AAEHa,eAAK,EAAEnjB,OAAO,CAACld,SAAR,CAAkB,KAAKw/B,MAAvB,EAA+BS,SAAS,GAAG,CAA3C;AAFJ,SAAP;AAIH;;AACD,aAAO,IAAP;AACH;;;;;;IAECK,e,GACF,yBAAYpjB,OAAZ,EAAqB/N,GAArB,EAA0B;AAAA;;AACtB,OAAK+N,OAAL,GAAeA,OAAf;AACA,OAAK/N,GAAL,GAAWA,GAAX;AACH,C;;IAECoxB,e;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,2BAAYjiB,KAAZ,EAAmBO,GAAnB,EAA2D;AAAA,QAAnC2hB,SAAmC,uEAAvBliB,KAAuB;AAAA,QAAhBmiB,OAAgB,uEAAN,IAAM;;AAAA;;AACvD,SAAKniB,KAAL,GAAaA,KAAb;AACA,SAAKO,GAAL,GAAWA,GAAX;AACA,SAAK2hB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACH;;;;WACD,oBAAW;AACP,aAAO,KAAKniB,KAAL,CAAWC,IAAX,CAAgBrB,OAAhB,CAAwBld,SAAxB,CAAkC,KAAKse,KAAL,CAAWkhB,MAA7C,EAAqD,KAAK3gB,GAAL,CAAS2gB,MAA9D,CAAP;AACH;;;;;;AAEL,IAAIkB,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,iBAAe,CAACA,eAAe,CAAC,SAAD,CAAf,GAA6B,CAA9B,CAAf,GAAkD,SAAlD;AACAA,iBAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACH,CAHD,EAGGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAHlB;;IAIMC,U;AACF,sBAAYvS,IAAZ,EAAkBxvB,GAAlB,EAAsD;AAAA,QAA/BgiC,KAA+B,uEAAvBF,eAAe,CAACG,KAAO;;AAAA;;AAClD,SAAKzS,IAAL,GAAYA,IAAZ;AACA,SAAKxvB,GAAL,GAAWA,GAAX;AACA,SAAKgiC,KAAL,GAAaA,KAAb;AACH;;;;WACD,6BAAoB;AAChB,UAAMt9B,GAAG,GAAG,KAAK8qB,IAAL,CAAU9P,KAAV,CAAgBwiB,UAAhB,CAA2B,GAA3B,EAAgC,CAAhC,CAAZ;AACA,aAAOx9B,GAAG,aAAM,KAAK1E,GAAX,iBAAoB0E,GAAG,CAAC88B,MAAxB,cAAkCM,eAAe,CAAC,KAAKE,KAAN,CAAjD,iBAAoEt9B,GAAG,CAAC+8B,KAAxE,WACN,KAAKzhC,GADT;AAEH;;;WACD,oBAAW;AACP,UAAM6hC,OAAO,GAAG,KAAKrS,IAAL,CAAUqS,OAAV,eAAyB,KAAKrS,IAAL,CAAUqS,OAAnC,IAA+C,EAA/D;AACA,uBAAU,KAAKM,iBAAL,EAAV,eAAuC,KAAK3S,IAAL,CAAU9P,KAAjD,SAAyDmiB,OAAzD;AACH;;;;;;AAEL,SAASO,cAAT,CAAwB39B,IAAxB,EAA8B/V,IAA9B,EAAoC;AAChC,MAAM0c,SAAS,GAAGX,mBAAmB,CAAC/b,IAAD,CAArC;AACA,MAAM2zC,cAAc,GAAGj3B,SAAS,IAAI,IAAb,gBAA0B3G,IAA1B,cAAkC6F,cAAc,CAAC5b,IAAD,CAAhD,iBAA6D0c,SAA7D,iBACb3G,IADa,cACL6F,cAAc,CAAC5b,IAAD,CADT,CAAvB;AAEA,MAAM4zC,UAAU,GAAG,IAAIZ,eAAJ,CAAoB,EAApB,EAAwBW,cAAxB,CAAnB;AACA,SAAO,IAAIV,eAAJ,CAAoB,IAAIhB,aAAJ,CAAkB2B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAApB,EAA+D,IAAI3B,aAAJ,CAAkB2B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAA/D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6B99B,IAA7B,EAAmC+9B,QAAnC,EAA6C5N,SAA7C,EAAwD;AACpD,MAAMyN,cAAc,gBAAS59B,IAAT,cAAiB+9B,QAAjB,iBAAgC5N,SAAhC,CAApB;AACA,MAAM0N,UAAU,GAAG,IAAIZ,eAAJ,CAAoB,EAApB,EAAwBW,cAAxB,CAAnB;AACA,SAAO,IAAIV,eAAJ,CAAoB,IAAIhB,aAAJ,CAAkB2B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAApB,EAA+D,IAAI3B,aAAJ,CAAkB2B,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAA/D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMG,c;AACF,0BAAYl2C,OAAZ,EAAqB;AAAA;;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;;;WACD,kCAAyBie,GAAzB,EAA8B;AAC1B;AACA,UAAIA,GAAG,CAACxV,UAAJ,KAAmB,eAAvB,EAAwC;AACpC,cAAM,IAAIvU,KAAJ,gDAAkD+pB,GAAG,CAACxV,UAAtD,uDAAN;AACH;;AACD,UAAI,CAAC,KAAKzI,OAAL,CAAa+U,cAAb,CAA4BkJ,GAAG,CAACtoB,IAAhC,CAAL,EAA4C;AACxC,cAAM,IAAIzB,KAAJ,uDAAyD+pB,GAAG,CAACtoB,IAA7D,QAAN;AACH;;AACD,aAAO,KAAKqK,OAAL,CAAaie,GAAG,CAACtoB,IAAjB,CAAP;AACH;;;WACD,oBAAWwgD,UAAX,EAAuB;AACnB,YAAM,IAAIjiD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,qBAAYiiD,UAAZ,EAAwB;AACpB,YAAM,IAAIjiD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,4BAAmBiiD,UAAnB,EAA+B;AAC3B,YAAM,IAAIjiD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,wBAAeiiD,UAAf,EAA2B;AACvB,YAAM,IAAIjiD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,sBAAaiiD,UAAb,EAAyB;AACrB,YAAM,IAAIjiD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,0BAAiBiO,IAAjB,EAAuBi0C,UAAvB,EAAmC;AAC/B,YAAM,IAAIliD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,gBAAOiiD,UAAP,EAAmB;AACf,YAAM,IAAIjiD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;WACD,4BAAmBiO,IAAnB,EAAyBk0C,WAAzB,EAAsC;AAClC,YAAM,IAAIniD,KAAJ,CAAU,kBAAV,CAAN;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASulB,QAAT,CAAkBnP,GAAlB,EAAuBlT,KAAvB,EAA8B;AAC1B,SAAO;AAAEkT,OAAG,EAAHA,GAAF;AAAOlT,SAAK,EAALA,KAAP;AAAcmT,UAAM,EAAE;AAAtB,GAAP;AACH;;AACD,SAAS+rC,UAAT,CAAoBz3C,GAApB,EAAyC;AAAA,MAAhB0L,MAAgB,uEAAP,KAAO;AACrC,SAAOmG,UAAU,CAAC3U,MAAM,CAAC+T,IAAP,CAAYjR,GAAZ,EAAiB1E,GAAjB,CAAqB,UAAAmQ,GAAG;AAAA,WAAK;AAC3CA,SAAG,EAAHA,GAD2C;AAE3CC,YAAM,EAANA,MAF2C;AAG3CnT,WAAK,EAAEyH,GAAG,CAACyL,GAAD;AAHiC,KAAL;AAAA,GAAxB,CAAD,CAAjB;AAKH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASisC,gBAAT,CAAyBjyB,IAAzB,EAA+B;AAC3B,MAAQqf,YAAR,GAAqIrf,IAArI,CAAQqf,YAAR;AAAA,MAA4B6S,UAA5B,GAAqIlyB,IAArI,CAAsBniB,IAAtB;AAAA,MAAwCs0C,SAAxC,GAAqInyB,IAArI,CAAwCmyB,SAAxC;AAAA,MAAmDC,YAAnD,GAAqIpyB,IAArI,CAAmDoyB,YAAnD;AAAA,MAAiEC,OAAjE,GAAqIryB,IAArI,CAAiEqyB,OAAjE;AAAA,MAA0EC,OAA1E,GAAqItyB,IAArI,CAA0EsyB,OAA1E;AAAA,MAAmF10B,OAAnF,GAAqIoC,IAArI,CAAmFpC,OAAnF;AAAA,MAA4F20B,oBAA5F,GAAqIvyB,IAArI,CAA4FuyB,oBAA5F;AAAA,MAAkHC,UAAlH,GAAqIxyB,IAArI,CAAkHwyB,UAAlH;AAAA,MAA8H1mC,EAA9H,GAAqIkU,IAArI,CAA8HlU,EAA9H;AACA,MAAM2mC,oBAAoB,GAAG,EAA7B;AACA,MAAMC,aAAa,GAAG;AAAE70C,QAAI,EAAEwhC;AAAR,GAAtB,CAH2B,CAI3B;;AACA,MAAI8S,SAAS,CAAChhD,MAAd,EAAsB;AAClBuhD,iBAAa,CAACP,SAAd,GAA0BQ,WAAW,CAACR,SAAD,EAAYI,oBAAZ,CAArC;AACH,GAP0B,CAQ3B;AACA;;;AACA,MAAIC,UAAJ,EAAgB;AACZ,QAAIJ,YAAY,CAACjhD,MAAjB,EAAyB;AACrBuhD,mBAAa,CAACN,YAAd,GAA6BO,WAAW,CAACP,YAAD,EAAeG,oBAAf,CAAxC;AACH;;AACD,QAAIF,OAAO,CAAClhD,MAAZ,EAAoB;AAChBuhD,mBAAa,CAACL,OAAd,GAAwBM,WAAW,CAACN,OAAD,EAAUE,oBAAV,CAAnC;AACH;;AACD,QAAID,OAAO,CAACnhD,MAAZ,EAAoB;AAChBuhD,mBAAa,CAACJ,OAAd,GAAwBK,WAAW,CAACL,OAAD,EAAUC,oBAAV,CAAnC;AACH;AACJ,GAVD,CAWA;AACA;AAZA,OAaK;AACD,UAAMK,oBAAoB,GAAGC,4BAA4B,CAAC7yB,IAAD,CAAzD;;AACA,UAAI4yB,oBAAoB,KAAK,IAA7B,EAAmC;AAC/BH,4BAAoB,CAAC7/C,IAArB,CAA0BggD,oBAA1B;AACH;AACJ;;AACD,MAAIh1B,OAAO,IAAIA,OAAO,CAACzsB,MAAvB,EAA+B;AAC3BuhD,iBAAa,CAAC90B,OAAd,GAAwBzR,UAAU,CAACyR,OAAO,CAAC/nB,GAAR,CAAY,UAAA8jB,GAAG;AAAA,aAAIA,GAAG,CAAC7mB,KAAR;AAAA,KAAf,CAAD,CAAlC;AACH;;AACD,MAAIgZ,EAAJ,EAAQ;AACJ4mC,iBAAa,CAAC5mC,EAAd,GAAmBA,EAAnB;AACH;;AACD,MAAM0G,UAAU,GAAG3G,UAAU,CAAC0U,aAAa,CAAC6H,cAAf,CAAV,CAAyCzU,MAAzC,CAAgD,CAACmW,kBAAkB,CAAC4oB,aAAD,CAAnB,CAAhD,CAAnB;AACA,MAAM70C,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC0U,aAAa,CAAC2H,mBAAf,EAAoC,CAC1E,IAAItsB,cAAJ,CAAmBs2C,UAAU,CAACr0C,IAA9B,CAD0E,EACrCi1C,WAAW,CAACV,YAAD,CAD0B,EACVU,WAAW,CAACT,OAAD,CADD,EAE1ES,WAAW,CAACR,OAAD,CAF+D,CAApC,CAA7B,CAAb;AAIA,SAAO;AAAE9/B,cAAU,EAAVA,UAAF;AAAc3U,QAAI,EAAJA,IAAd;AAAoB40C,wBAAoB,EAApBA;AAApB,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,4BAAT,CAAsC7yB,IAAtC,EAA4C;AACxC,MAAsBkyB,UAAtB,GAA2FlyB,IAA3F,CAAQ+yB,YAAR;AAAA,MAAkCX,YAAlC,GAA2FpyB,IAA3F,CAAkCoyB,YAAlC;AAAA,MAAgDC,OAAhD,GAA2FryB,IAA3F,CAAgDqyB,OAAhD;AAAA,MAAyDC,OAAzD,GAA2FtyB,IAA3F,CAAyDsyB,OAAzD;AAAA,MAAkEC,oBAAlE,GAA2FvyB,IAA3F,CAAkEuyB,oBAAlE;AACA,MAAMS,QAAQ,GAAG,EAAjB;;AACA,MAAIZ,YAAY,CAACjhD,MAAjB,EAAyB;AACrB6hD,YAAQ,CAACZ,YAAT,GAAwBO,WAAW,CAACP,YAAD,EAAeG,oBAAf,CAAnC;AACH;;AACD,MAAIF,OAAO,CAAClhD,MAAZ,EAAoB;AAChB6hD,YAAQ,CAACX,OAAT,GAAmBM,WAAW,CAACN,OAAD,EAAUE,oBAAV,CAA9B;AACH;;AACD,MAAID,OAAO,CAACnhD,MAAZ,EAAoB;AAChB6hD,YAAQ,CAACV,OAAT,GAAmBK,WAAW,CAACL,OAAD,EAAUC,oBAAV,CAA9B;AACH;;AACD,MAAI96C,MAAM,CAAC+T,IAAP,CAAYwnC,QAAZ,EAAsB7hD,MAAtB,KAAiC,CAArC,EAAwC;AACpC,WAAO,IAAP;AACH,GAduC,CAexC;;;AACA,MAAM8hD,MAAM,GAAG,IAAI70C,kBAAJ;AACf;AAASyN,YAAU,CAAC0U,aAAa,CAAC8H,gBAAf,CADJ;AAEf;AAAW,GAAC6pB,UAAD,EAAapoB,kBAAkB,CAACkpB,QAAD,CAA/B,CAFI,CAAf,CAhBwC,CAmBxC;;AACA,MAAME,WAAW,GAAGxoB,wBAAwB,CAACuoB,MAAD,CAA5C,CApBwC,CAqBxC;;AACA,MAAME,IAAI,GAAG,IAAInuC,YAAJ;AACb;AAAa,IADA;AAEb;AAAiB,GAACkuC,WAAW,CAAC/S,MAAZ,EAAD,CAFJ,CAAb,CAtBwC,CAyBxC;;AACA,MAAMiT,QAAQ,GAAG,IAAIh1C,kBAAJ;AACjB;AAAS+0C,MADQ;AAEjB;AAAW,IAFM,CAAjB;AAGA,SAAOC,QAAQ,CAACjT,MAAT,EAAP;AACH;;AACD,SAASkT,gBAAT,CAAyBrzB,IAAzB,EAA+B;AAC3B,MAAMrtB,MAAM,GAAGqsC,sBAAsB,CAAC;AAClC3tC,QAAI,EAAE2uB,IAAI,CAAC3uB,IADuB;AAElCwM,QAAI,EAAEmiB,IAAI,CAACniB,IAFuB;AAGlCwhC,gBAAY,EAAErf,IAAI,CAACqf,YAHe;AAIlCyB,qBAAiB,EAAE,CAJe;AAKlC3hB,QAAI,EAAEa,IAAI,CAACb,IALuB;AAMlCqgB,YAAQ,EAAEjf,aAAa,CAAC/J,MANU;AAOlCsV,UAAM,EAAEgT,eAAe,CAAC/gB;AAPU,GAAD,CAArC;AASA,MAAM20B,aAAa,GAAG;AAClBv4C,WAAO,EAAExH,MAAM,CAACwH;AADE,GAAtB;;AAGA,MAAI6lB,IAAI,CAAChE,SAAL,KAAmB,IAAvB,EAA6B;AACzB02B,iBAAa,CAAC12B,SAAd,GAA0BgE,IAAI,CAAChE,SAA/B;AACH;;AACD,MAAIgE,IAAI,CAACqyB,OAAL,CAAalhD,MAAb,GAAsB,CAA1B,EAA6B;AACzBuhD,iBAAa,CAACL,OAAd,GAAwBlmC,UAAU,CAAC6T,IAAI,CAACqyB,OAAN,CAAlC;AACH;;AACD,MAAM7/B,UAAU,GAAG3G,UAAU,CAAC0U,aAAa,CAAC0H,cAAf,CAAV,CAAyCtU,MAAzC,CAAgD,CAACmW,kBAAkB,CAAC4oB,aAAD,CAAnB,CAAhD,CAAnB;AACA,MAAM70C,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC0U,aAAa,CAACyH,WAAf,EAA4B,CAAC,IAAIpsB,cAAJ,CAAmBokB,IAAI,CAACniB,IAAL,CAAUA,IAA7B,CAAD,CAA5B,CAA7B,CAAb;AACA,SAAO;AAAE2U,cAAU,EAAVA,UAAF;AAAc3U,QAAI,EAAJA,IAAd;AAAoBoH,cAAU,EAAEtS,MAAM,CAACsS;AAAvC,GAAP;AACH,C,CACD;;;AACA,SAASquC,0BAAT,CAAoCz/B,GAApC,EAAyCxa,QAAzC,EAAmDk6C,kBAAnD,EAAuE;AACnE,MAAMj+C,SAAS,GAAGmkB,cAAc,CAACpgB,QAAQ,CAACwE,IAAV,CAAhC;AACA,MAAM21C,UAAU,GAAGn6C,QAAQ,CAACm6C,UAAT,GAAsB,CAACn6C,QAAQ,CAACm6C,UAAV,CAAtB,GAA8C,EAAjE;AACA,MAAMC,UAAU,GAAGp6C,QAAQ,CAACo6C,UAAT,GAAsB,CAACp6C,QAAQ,CAACo6C,UAAV,CAAtB,GAA8C,EAAjE;AACA,MAAMC,cAAc,GAAG1B,UAAU,CAAC;AAC9B,eAAWuB,kBAAkB,CAACI,UAAnB,CAA8B;AAAE91C,UAAI,EAAExE,QAAQ,CAACwE,IAAjB;AAAuB+1C,YAAM,EAAEv6C,QAAQ,CAACwE,IAAT,CAAc4a;AAA7C,KAA9B,EAAwF5E,GAAxF,CADmB;AAE9B,iBAAakW,mBAAmB,CAAC1wB,QAAQ,CAACw6C,YAAV,EAAwBhgC,GAAxB,CAFF;AAG9B,eAAWkW,mBAAmB,WAAKypB,UAAL,EAAoBC,UAApB,GAAiC5/B,GAAjC;AAHA,GAAD,CAAjC;AAKA,MAAMigC,WAAW,GAAGjoC,UAAU,CAAC0U,aAAa,CAAC0H,cAAf,CAAV,CAAyCtU,MAAzC,CAAgD,CAAC+/B,cAAD,CAAhD,CAApB;AACA7/B,KAAG,CAAC5O,UAAJ,CAAerS,IAAf,CAAoB,IAAI2V,SAAJ;AACpB;AAAWjT,WADS;AAEpB;AAAa,MAFO;AAGpB;AAAa,GAAC,IAAI0S,UAAJ;AACV;AAAW,QADD;AAEV;AAAWzL,eAFD;AAGV;AAAgB,GAACyE,YAAY,CAAC+yC,MAAd,CAHN;AAIV;AAAkBD,aAJR,CAAD,CAHO;AAQpB;AAAc,IARM;AASpB;AAAwB,MAAI3rC,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CATJ;AAUpB;AAAc,IAVM,CAApB;AAWH;;AACD,SAAS6rC,iBAAT,CAA2Bl2B,MAA3B,EAAmC;AAC/B,MAAMm2B,aAAa,GAAG,IAAIl2C,YAAJ,CAAiB+f,MAAjB,EAAyB,MAAzB,CAAtB;AACA,SAAO,IAAI/f,YAAJ,CAAiBk2C,aAAjB,EAAgC,UAAhC,CAAP;AACH;;AACD,SAASnB,WAAT,CAAqB/lC,GAArB,EAA0B;AACtB,MAAMmnC,KAAK,GAAGnnC,GAAG,CAAClX,GAAJ,CAAQ,UAAA8jB,GAAG;AAAA,WAAIzN,UAAU,CAACyN,GAAG,CAAC9b,IAAL,CAAd;AAAA,GAAX,CAAd;AACA,SAAOkP,GAAG,CAAC5b,MAAJ,GAAa,CAAb,GAAiB8a,cAAc,CAACE,UAAU,CAAC+nC,KAAD,CAAX,CAA/B,GAAqDh3C,SAA5D;AACH;;AACD,SAASy1C,WAAT,CAAqBwB,IAArB,EAA2BC,oBAA3B,EAAiD;AAC7C,MAAMh6C,MAAM,GAAG+R,UAAU,CAACgoC,IAAI,CAACt+C,GAAL,CAAS,UAAA8jB,GAAG;AAAA,WAAIA,GAAG,CAAC7mB,KAAR;AAAA,GAAZ,CAAD,CAAzB;AACA,SAAOshD,oBAAoB,GAAG1yC,EAAE,CAAC,EAAD,EAAK,CAAC,IAAImG,eAAJ,CAAoBzN,MAApB,CAAD,CAAL,CAAL,GAA2CA,MAAtE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi6C,uBAAT,CAAiCC,QAAjC,EAA2C;AACvC,MAAMC,mBAAmB,GAAG,EAA5B,CADuC,CAEvC;;AACAA,qBAAmB,CAAC3hD,IAApB,CAAyB;AAAEoT,OAAG,EAAE,MAAP;AAAelT,SAAK,EAAE6Z,OAAO,CAAC2nC,QAAQ,CAACE,QAAV,CAA7B;AAAkDvuC,UAAM,EAAE;AAA1D,GAAzB,EAHuC,CAIvC;;AACAsuC,qBAAmB,CAAC3hD,IAApB,CAAyB;AAAEoT,OAAG,EAAE,MAAP;AAAelT,SAAK,EAAEwhD,QAAQ,CAACz2C,IAAT,CAAc/K,KAApC;AAA2CmT,UAAM,EAAE;AAAnD,GAAzB,EALuC,CAMvC;;AACAsuC,qBAAmB,CAAC3hD,IAApB,CAAyB;AAAEoT,OAAG,EAAE,MAAP;AAAelT,SAAK,EAAE6Z,OAAO,CAAC2nC,QAAQ,CAAC37C,IAAV,CAA7B;AAA8CsN,UAAM,EAAE;AAAtD,GAAzB;AACA,MAAMuM,UAAU,GAAG3G,UAAU,CAAC0U,aAAa,CAACgI,UAAf,CAAV,CAAqC5U,MAArC,CAA4C,CAACvH,UAAU,CAACmoC,mBAAD,CAAX,CAA5C,CAAnB;AACA,MAAM12C,IAAI,GAAG,IAAIjC,cAAJ,CAAmBiQ,UAAU,CAAC0U,aAAa,CAAC+H,eAAf,EAAgC,CACtE0B,kBAAkB,CAACsqB,QAAQ,CAACz2C,IAAT,CAAcA,IAAf,EAAqBy2C,QAAQ,CAACxT,iBAA9B,CADoD,EAEtE,IAAIllC,cAAJ,CAAmB,IAAIkG,WAAJ,CAAgBwyC,QAAQ,CAACE,QAAzB,CAAnB,CAFsE,CAAhC,CAA7B,CAAb;AAIA,SAAO;AAAEhiC,cAAU,EAAVA,UAAF;AAAc3U,QAAI,EAAJA;AAAd,GAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS42C,sBAAT,CAAgC3S,SAAhC,EAA2C/a,IAA3C,EAAiDnO,SAAjD,EAA4D;AACxD,MAAMvnB,IAAI,GAAGooB,cAAc,CAACsN,IAAI,CAAClpB,IAAN,CAA3B;;AACA,MAAI,CAACxM,IAAL,EAAW;AACP,WAAOgY,KAAK,sCAA+B0d,IAAI,CAAClpB,IAApC,EAAZ;AACH;;AACD,MAAMA,IAAI,GAAGikC,SAAS,CAACj2B,UAAV,CAAqBkb,IAAI,CAAClpB,IAAL,CAAU4a,SAA/B,CAAb;AACA,MAAM67B,QAAQ,GAAG;AACbjjD,QAAI,EAAJA,IADa;AAEbwM,QAAI,EAAEitB,aAAa,CAACjtB,IAAD,CAFN;AAGbwhC,gBAAY,EAAExhC,IAHD;AAIb22C,YAAQ,EAAEztB,IAAI,CAAC11B,IAJF;AAKbyvC,qBAAiB,EAAE,CALN;AAMb3hB,QAAI,EAAE0iB,8BAA8B,CAAC9a,IAAI,CAAClpB,IAAN,EAAYikC,SAAZ,EAAuBlpB,SAAvB,CANvB;AAObjgB,QAAI,EAAEouB,IAAI,CAACpuB;AAPE,GAAjB;AASA,MAAM5F,GAAG,GAAGshD,uBAAuB,CAACC,QAAD,CAAnC;AACA,MAAMI,UAAU,GAAG1V,sBAAsB,CAACvnC,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB48C,QAAlB,CAAd,EAA2C;AAAE9U,YAAQ,EAAEjf,aAAa,CAAC9J,eAA1B;AAA2CqV,UAAM,EAAEgT,eAAe,CAAC5hB;AAAnE,GAA3C,CAAD,CAAzC;AACA,MAAMy3B,eAAe,GAAG7S,SAAS,CAAC5D,YAAV,CAAuBjqB,cAAvB,CAAsC;AAAE;AAAxC,GAAxB;AACA,MAAM2gC,qBAAqB,GAAG,IAAIrsC,SAAJ;AAC9B;AAAWlX,MADmB;AAE9B;AAAa,MAFiB;AAG9B;AACA,GAAC,IAAI2W,UAAJ;AACG;AAAW,QADd;AAEG;AAAWzL,eAFd;AAGG;AAAgB,GAACyE,YAAY,CAAC+yC,MAAd,CAHnB;AAIG;AAAkBW,YAAU,CAACv6C,OAJhC,CAAD,CAJ8B;AAS9B;AAAc,IATgB;AAU9B;AAAwB,MAAIgO,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CAVM;AAW9B;AAAc,IAXgB,CAA9B;AAYA,MAAM0sC,gBAAgB,GAAG,IAAItsC,SAAJ;AACzB;AAAWlX,MADc;AAEzB;AAAa,MAFY;AAGzB;AAAa,GAAC,IAAI2W,UAAJ;AACV;AAAW2sC,iBADD;AAEV;AAAWp4C,eAFD;AAGV;AAAgB,GAACyE,YAAY,CAAC+yC,MAAd,CAHN;AAIV;AAAkBhhD,KAAG,CAACyf,UAJZ,CAAD,CAHY;AAQzB;AAAc,IARW;AASzB;AAAwB,MAAIrK,WAAJ,CAAgB,IAAhB,EAAsB,EAAtB,EAA0B,EAA1B,CATC;AAUzB;AAAc,IAVW,CAAzB;AAWA25B,WAAS,CAAC78B,UAAV,CAAqBrS,IAArB,CAA0BgiD,qBAA1B,EAAiDC,gBAAjD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,W,GACF,qBAAY7iB,OAAZ,EAAqB7kB,KAArB,EAA4B2nC,WAA5B,EAAyCC,WAAzC,EAAsD;AAAA;;AAClD,OAAK5nC,KAAL,GAAaA,KAAb;AACA,OAAK2nC,WAAL,GAAmBA,WAAnB;AACA,OAAKC,WAAL,GAAmBA,WAAnB;AACA,OAAK/iB,OAAL,2BAAgCA,OAAhC,cAA2C8iB,WAA3C,eAA2D3nC,KAA3D,kBAAwE4nC,WAAxE;AACH,C;;IAECC,S;AACF,qBAAYpmB,KAAZ,EAAmBO,GAAnB,EAAwB;AAAA;;AACpB,SAAKP,KAAL,GAAaA,KAAb;AACA,SAAKO,GAAL,GAAWA,GAAX;AACH;;;;WACD,oBAAW8lB,cAAX,EAA2B;AACvB,aAAO,IAAIC,kBAAJ,CAAuBD,cAAc,GAAG,KAAKrmB,KAA7C,EAAoDqmB,cAAc,GAAG,KAAK9lB,GAA1E,CAAP;AACH;;;;;;IAECgmB,G;AACF,eAAYzW,IAAZ;AACA;AACJ;AACA;AACI7gC,YAJA,EAIY;AAAA;;AACR,SAAK6gC,IAAL,GAAYA,IAAZ;AACA,SAAK7gC,UAAL,GAAkBA,UAAlB;AACH;;;;WACD,eAAMrC,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAO,IAAP;AACH;;;WACD,oBAAW;AACP,aAAO,KAAP;AACH;;;;;;IAEC25C,W;;;;;AACF,uBAAY1W,IAAZ,EAAkB7gC,UAAlB,EAA8Bw3C,QAA9B,EAAwC;AAAA;;AAAA;;AACpC,kCAAM3W,IAAN,EAAY7gC,UAAZ;AACA,YAAKw3C,QAAL,GAAgBA,QAAhB;AAFoC;AAGvC;;;EAJqBF,G;AAM1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMG,K;;;;;AACF,iBAAY5W,IAAZ,EAAkB7gC,UAAlB,EAA8BzN,MAA9B,EAAsCmlD,uBAAtC,EAA+DC,QAA/D,EAAyE;AAAA;;AAAA;;AACrE,kCAAM9W,IAAN,EAAY7gC,UAAZ;AACA,YAAKzN,MAAL,GAAcA,MAAd;AACA,YAAKmlD,uBAAL,GAA+BA,uBAA/B;AACA,YAAKC,QAAL,GAAgBA,QAAhB;AAJqE;AAKxE;;;;WACD,eAAMh6C,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACi6C,UAAR,CAAmB,IAAnB,EAAyBh6C,OAAzB,CAAP;AACH;;;WACD,oBAAW;AACP,aAAO,OAAP;AACH;;;;EAZe05C,G;;IAcdO,S;;;;;;;;;;;;;WACF,eAAMl6C,OAAN,EAA+B,CAC3B;;AAD2B,UAAhBC,OAAgB,uEAAN,IAAM;AAE9B;;;;EAHmB05C,G;;IAKlBQ,gB;;;;;;;;;;;;;WACF,eAAMn6C,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACo6C,qBAAR,CAA8B,IAA9B,EAAoCn6C,OAApC,CAAP;AACH;;;;EAH0B05C,G;AAK/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMU,Y;;;;;;;;;;;;;WACF,eAAMr6C,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;;AAC3B,UAAIhK,EAAJ;;AACA,aAAO,CAACA,EAAE,GAAG+J,OAAO,CAACs6C,iBAAd,MAAqC,IAArC,IAA6CrkD,EAAE,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,EAAE,CAACskD,IAAH,CAAQv6C,OAAR,EAAiB,IAAjB,EAAuBC,OAAvB,CAA7E;AACH;;;;EAJsBk6C,gB;AAM3B;AACA;AACA;;;IACMK,K;;;;;AACF,iBAAYtX,IAAZ,EAAkB7gC,UAAlB,EAA8B0E,WAA9B,EAA2C;AAAA;;AAAA;;AACvC,kCAAMm8B,IAAN,EAAY7gC,UAAZ;AACA,YAAK0E,WAAL,GAAmBA,WAAnB;AAFuC;AAG1C;;;;WACD,eAAM/G,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACy6C,UAAR,CAAmB,IAAnB,EAAyBx6C,OAAzB,CAAP;AACH;;;;EAPe05C,G;;IASde,W;;;;;AACF,uBAAYxX,IAAZ,EAAkB7gC,UAAlB,EAA8ByG,SAA9B,EAAyC6xC,OAAzC,EAAkDC,QAAlD,EAA4D;AAAA;;AAAA;;AACxD,kCAAM1X,IAAN,EAAY7gC,UAAZ;AACA,YAAKyG,SAAL,GAAiBA,SAAjB;AACA,YAAK6xC,OAAL,GAAeA,OAAf;AACA,YAAKC,QAAL,GAAgBA,QAAhB;AAJwD;AAK3D;;;;WACD,eAAM56C,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC66C,gBAAR,CAAyB,IAAzB,EAA+B56C,OAA/B,CAAP;AACH;;;;EATqB05C,G;;IAWpBmB,Y;;;;;AACF,wBAAY5X,IAAZ,EAAkB7gC,UAAlB,EAA8Bw3C,QAA9B,EAAwCn0C,QAAxC,EAAkD9P,IAAlD,EAAwD;AAAA;;AAAA;;AACpD,kCAAMstC,IAAN,EAAY7gC,UAAZ,EAAwBw3C,QAAxB;AACA,YAAKn0C,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AAHoD;AAIvD;;;;WACD,eAAMoK,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC+6C,iBAAR,CAA0B,IAA1B,EAAgC96C,OAAhC,CAAP;AACH;;;;EARsB25C,W;;IAUrBoB,a;;;;;AACF,yBAAY9X,IAAZ,EAAkB7gC,UAAlB,EAA8Bw3C,QAA9B,EAAwCn0C,QAAxC,EAAkD9P,IAAlD,EAAwDyB,KAAxD,EAA+D;AAAA;;AAAA;;AAC3D,kCAAM6rC,IAAN,EAAY7gC,UAAZ,EAAwBw3C,QAAxB;AACA,YAAKn0C,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AACA,YAAKyB,KAAL,GAAaA,KAAb;AAJ2D;AAK9D;;;;WACD,eAAM2I,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACi7C,kBAAR,CAA2B,IAA3B,EAAiCh7C,OAAjC,CAAP;AACH;;;;EATuB25C,W;;IAWtBsB,gB;;;;;AACF,4BAAYhY,IAAZ,EAAkB7gC,UAAlB,EAA8Bw3C,QAA9B,EAAwCn0C,QAAxC,EAAkD9P,IAAlD,EAAwD;AAAA;;AAAA;;AACpD,kCAAMstC,IAAN,EAAY7gC,UAAZ,EAAwBw3C,QAAxB;AACA,YAAKn0C,QAAL,GAAgBA,QAAhB;AACA,YAAK9P,IAAL,GAAYA,IAAZ;AAHoD;AAIvD;;;;WACD,eAAMoK,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACm7C,qBAAR,CAA8B,IAA9B,EAAoCl7C,OAApC,CAAP;AACH;;;;EAR0B25C,W;;IAUzBwB,S;;;;;AACF,qBAAYlY,IAAZ,EAAkB7gC,UAAlB,EAA8BvD,GAA9B,EAAmCyL,GAAnC,EAAwC;AAAA;;AAAA;;AACpC,kCAAM24B,IAAN,EAAY7gC,UAAZ;AACA,YAAKvD,GAAL,GAAWA,GAAX;AACA,YAAKyL,GAAL,GAAWA,GAAX;AAHoC;AAIvC;;;;WACD,eAAMvK,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACq7C,cAAR,CAAuB,IAAvB,EAA6Bp7C,OAA7B,CAAP;AACH;;;;EARmB05C,G;;IAUlB2B,U;;;;;AACF,sBAAYpY,IAAZ,EAAkB7gC,UAAlB,EAA8BvD,GAA9B,EAAmCyL,GAAnC,EAAwClT,KAAxC,EAA+C;AAAA;;AAAA;;AAC3C,kCAAM6rC,IAAN,EAAY7gC,UAAZ;AACA,YAAKvD,GAAL,GAAWA,GAAX;AACA,YAAKyL,GAAL,GAAWA,GAAX;AACA,YAAKlT,KAAL,GAAaA,KAAb;AAJ2C;AAK9C;;;;WACD,eAAM2I,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACu7C,eAAR,CAAwB,IAAxB,EAA8Bt7C,OAA9B,CAAP;AACH;;;;EAToB05C,G;;IAWnB6B,W;;;;;AACF,uBAAYtY,IAAZ,EAAkB7gC,UAAlB,EAA8BiP,GAA9B,EAAmC1b,IAAnC,EAAyC8H,IAAzC,EAA+Cm8C,QAA/C,EAAyD;AAAA;;AAAA;;AACrD,kCAAM3W,IAAN,EAAY7gC,UAAZ,EAAwBw3C,QAAxB;AACA,YAAKvoC,GAAL,GAAWA,GAAX;AACA,YAAK1b,IAAL,GAAYA,IAAZ;AACA,YAAK8H,IAAL,GAAYA,IAAZ;AAJqD;AAKxD;;;;WACD,eAAMsC,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACy7C,SAAR,CAAkB,IAAlB,EAAwBx7C,OAAxB,CAAP;AACH;;;;EATqB25C,W;;IAWpB8B,gB;;;;;AACF,4BAAYxY,IAAZ,EAAkB7gC,UAAlB,EAA8BhL,KAA9B,EAAqC;AAAA;;AAAA;;AACjC,kCAAM6rC,IAAN,EAAY7gC,UAAZ;AACA,YAAKhL,KAAL,GAAaA,KAAb;AAFiC;AAGpC;;;;WACD,eAAM2I,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC27C,qBAAR,CAA8B,IAA9B,EAAoC17C,OAApC,CAAP;AACH;;;;EAP0B05C,G;;IASzBiC,Y;;;;;AACF,wBAAY1Y,IAAZ,EAAkB7gC,UAAlB,EAA8B0E,WAA9B,EAA2C;AAAA;;AAAA;;AACvC,kCAAMm8B,IAAN,EAAY7gC,UAAZ;AACA,YAAK0E,WAAL,GAAmBA,WAAnB;AAFuC;AAG1C;;;;WACD,eAAM/G,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC67C,iBAAR,CAA0B,IAA1B,EAAgC57C,OAAhC,CAAP;AACH;;;;EAPsB05C,G;;IASrBmC,U;;;;;AACF,sBAAY5Y,IAAZ,EAAkB7gC,UAAlB,EAA8B0N,IAA9B,EAAoCpR,MAApC,EAA4C;AAAA;;AAAA;;AACxC,kCAAMukC,IAAN,EAAY7gC,UAAZ;AACA,YAAK0N,IAAL,GAAYA,IAAZ;AACA,YAAKpR,MAAL,GAAcA,MAAd;AAHwC;AAI3C;;;;WACD,eAAMqB,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC+7C,eAAR,CAAwB,IAAxB,EAA8B97C,OAA9B,CAAP;AACH;;;;EARoB05C,G;;IAUnBqC,a;;;;;AACF,yBAAY9Y,IAAZ,EAAkB7gC,UAAlB,EAA8Bu9B,OAA9B,EAAuC74B,WAAvC,EAAoD;AAAA;;AAAA;;AAChD,kCAAMm8B,IAAN,EAAY7gC,UAAZ;AACA,YAAKu9B,OAAL,GAAeA,OAAf;AACA,YAAK74B,WAAL,GAAmBA,WAAnB;AAHgD;AAInD;;;;WACD,eAAM/G,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACi8C,kBAAR,CAA2B,IAA3B,EAAiCh8C,OAAjC,CAAP;AACH;;;;EARuB05C,G;;IAUtBuC,M;;;;;AACF,kBAAYhZ,IAAZ,EAAkB7gC,UAAlB,EAA8B85C,SAA9B,EAAyCC,IAAzC,EAA+CC,KAA/C,EAAsD;AAAA;;AAAA;;AAClD,mCAAMnZ,IAAN,EAAY7gC,UAAZ;AACA,aAAK85C,SAAL,GAAiBA,SAAjB;AACA,aAAKC,IAAL,GAAYA,IAAZ;AACA,aAAKC,KAAL,GAAaA,KAAb;AAJkD;AAKrD;;;;WACD,eAAMr8C,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACs8C,WAAR,CAAoB,IAApB,EAA0Br8C,OAA1B,CAAP;AACH;;;;EATgB05C,G;AAWrB;AACA;AACA;AACA;AACA;;;IACM4C,K;;;;;AACF;AACJ;AACA;AACA;AACI,iBAAYrZ,IAAZ,EAAkB7gC,UAAlB,EAA8BuH,QAA9B,EAAwC9E,IAAxC,EAA8C03C,QAA9C,EAAwDC,UAAxD,EAAoEC,WAApE,EAAiF;AAAA;;AAAA;;AAC7E,mCAAMxZ,IAAN,EAAY7gC,UAAZ,EAAwBm6C,QAAxB,EAAkCC,UAAlC,EAA8CC,WAA9C;AACA,aAAK9yC,QAAL,GAAgBA,QAAhB;AACA,aAAK9E,IAAL,GAAYA,IAAZ;AAH6E;AAIhF;AACD;AACJ;AACA;;;;;WAUI,eAAM9E,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;;AAC3B,UAAID,OAAO,CAAC28C,UAAR,KAAuBhhD,SAA3B,EAAsC;AAClC,eAAOqE,OAAO,CAAC28C,UAAR,CAAmB,IAAnB,EAAyB18C,OAAzB,CAAP;AACH;;AACD,aAAOD,OAAO,CAACs8C,WAAR,CAAoB,IAApB,EAA0Br8C,OAA1B,CAAP;AACH;;;WAdD,qBAAmBijC,IAAnB,EAAyB7gC,UAAzB,EAAqCyC,IAArC,EAA2C;AACvC,aAAO,IAAIy3C,KAAJ,CAAUrZ,IAAV,EAAgB7gC,UAAhB,EAA4B,GAA5B,EAAiCyC,IAAjC,EAAuC,GAAvC,EAA4C,IAAI42C,gBAAJ,CAAqBxY,IAArB,EAA2B7gC,UAA3B,EAAuC,CAAvC,CAA5C,EAAuFyC,IAAvF,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,oBAAkBo+B,IAAlB,EAAwB7gC,UAAxB,EAAoCyC,IAApC,EAA0C;AACtC,aAAO,IAAIy3C,KAAJ,CAAUrZ,IAAV,EAAgB7gC,UAAhB,EAA4B,GAA5B,EAAiCyC,IAAjC,EAAuC,GAAvC,EAA4CA,IAA5C,EAAkD,IAAI42C,gBAAJ,CAAqBxY,IAArB,EAA2B7gC,UAA3B,EAAuC,CAAvC,CAAlD,CAAP;AACH;;;;EArBe65C,M;;IA6BdU,S;;;;;AACF,qBAAY1Z,IAAZ,EAAkB7gC,UAAlB,EAA8B0U,UAA9B,EAA0C;AAAA;;AAAA;;AACtC,mCAAMmsB,IAAN,EAAY7gC,UAAZ;AACA,aAAK0U,UAAL,GAAkBA,UAAlB;AAFsC;AAGzC;;;;WACD,eAAM/W,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC68C,cAAR,CAAuB,IAAvB,EAA6B58C,OAA7B,CAAP;AACH;;;;EAPmB05C,G;;IASlBmD,a;;;;;AACF,yBAAY5Z,IAAZ,EAAkB7gC,UAAlB,EAA8B0U,UAA9B,EAA0C;AAAA;;AAAA;;AACtC,mCAAMmsB,IAAN,EAAY7gC,UAAZ;AACA,aAAK0U,UAAL,GAAkBA,UAAlB;AAFsC;AAGzC;;;;WACD,eAAM/W,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAAC+8C,kBAAR,CAA2B,IAA3B,EAAiC98C,OAAjC,CAAP;AACH;;;;EAPuB05C,G;;IAStBqD,U;;;;;AACF,sBAAY9Z,IAAZ,EAAkB7gC,UAAlB,EAA8Bw3C,QAA9B,EAAwCn0C,QAAxC,EAAkD9P,IAAlD,EAAwD8H,IAAxD,EAA8D;AAAA;;AAAA;;AAC1D,mCAAMwlC,IAAN,EAAY7gC,UAAZ,EAAwBw3C,QAAxB;AACA,aAAKn0C,QAAL,GAAgBA,QAAhB;AACA,aAAK9P,IAAL,GAAYA,IAAZ;AACA,aAAK8H,IAAL,GAAYA,IAAZ;AAJ0D;AAK7D;;;;WACD,eAAMsC,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACi9C,eAAR,CAAwB,IAAxB,EAA8Bh9C,OAA9B,CAAP;AACH;;;;EAToB25C,W;;IAWnBsD,c;;;;;AACF,0BAAYha,IAAZ,EAAkB7gC,UAAlB,EAA8Bw3C,QAA9B,EAAwCn0C,QAAxC,EAAkD9P,IAAlD,EAAwD8H,IAAxD,EAA8D;AAAA;;AAAA;;AAC1D,mCAAMwlC,IAAN,EAAY7gC,UAAZ,EAAwBw3C,QAAxB;AACA,aAAKn0C,QAAL,GAAgBA,QAAhB;AACA,aAAK9P,IAAL,GAAYA,IAAZ;AACA,aAAK8H,IAAL,GAAYA,IAAZ;AAJ0D;AAK7D;;;;WACD,eAAMsC,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACm9C,mBAAR,CAA4B,IAA5B,EAAkCl9C,OAAlC,CAAP;AACH;;;;EATwB25C,W;;IAWvBwD,Y;;;;;AACF,wBAAYla,IAAZ,EAAkB7gC,UAAlB,EAA8BguB,MAA9B,EAAsC3yB,IAAtC,EAA4C;AAAA;;AAAA;;AACxC,mCAAMwlC,IAAN,EAAY7gC,UAAZ;AACA,aAAKguB,MAAL,GAAcA,MAAd;AACA,aAAK3yB,IAAL,GAAYA,IAAZ;AAHwC;AAI3C;;;;WACD,eAAMsC,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;AAC3B,aAAOD,OAAO,CAACq9C,iBAAR,CAA0B,IAA1B,EAAgCp9C,OAAhC,CAAP;AACH;;;;EARsB05C,G;AAU3B;AACA;AACA;AACA;;;IACMD,kB,GACF,4BAAYtmB,KAAZ,EAAmBO,GAAnB,EAAwB;AAAA;;AACpB,OAAKP,KAAL,GAAaA,KAAb;AACA,OAAKO,GAAL,GAAWA,GAAX;AACH,C;;IAEC2pB,a;;;;;AACF,yBAAYvvC,GAAZ,EAAiBuvB,MAAjB,EAAyB0c,QAAzB,EAAmCP,cAAnC,EAAmD8D,MAAnD,EAA2D;AAAA;;AAAA;;AACvD,mCAAM,IAAI/D,SAAJ,CAAc,CAAd,EAAiBlc,MAAM,KAAK,IAAX,GAAkB,CAAlB,GAAsBA,MAAM,CAAC5nC,MAA9C,CAAN,EAA6D,IAAIgkD,kBAAJ,CAAuBD,cAAvB,EAAuCnc,MAAM,KAAK,IAAX,GAAkBmc,cAAlB,GAAmCA,cAAc,GAAGnc,MAAM,CAAC5nC,MAAlG,CAA7D;AACA,aAAKqY,GAAL,GAAWA,GAAX;AACA,aAAKuvB,MAAL,GAAcA,MAAd;AACA,aAAK0c,QAAL,GAAgBA,QAAhB;AACA,aAAKuD,MAAL,GAAcA,MAAd;AALuD;AAM1D;;;;WACD,eAAMv9C,OAAN,EAA+B;AAAA,UAAhBC,OAAgB,uEAAN,IAAM;;AAC3B,UAAID,OAAO,CAACw9C,kBAAZ,EAAgC;AAC5B,eAAOx9C,OAAO,CAACw9C,kBAAR,CAA2B,IAA3B,EAAiCv9C,OAAjC,CAAP;AACH;;AACD,aAAO,KAAK8N,GAAL,CAAS+kB,KAAT,CAAe9yB,OAAf,EAAwBC,OAAxB,CAAP;AACH;;;WACD,oBAAW;AACP,uBAAU,KAAKq9B,MAAf,iBAA4B,KAAK0c,QAAjC;AACH;;;;EAhBuBL,G;;IAkBtB8D,e;AACF;AACJ;AACA;AACA;AACA;AACI,yBAAYp7C,UAAZ,EAAwBkI,GAAxB,EAA6BlT,KAA7B,EAAoC;AAAA;;AAChC,OAAKgL,UAAL,GAAkBA,UAAlB;AACA,OAAKkI,GAAL,GAAWA,GAAX;AACA,OAAKlT,KAAL,GAAaA,KAAb;AACH,C;;IAECqmD,iB;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,2BAAYr7C,UAAZ,EAAwBkI,GAAxB,EAA6BlT,KAA7B,EAAoC;AAAA;;AAChC,OAAKgL,UAAL,GAAkBA,UAAlB;AACA,OAAKkI,GAAL,GAAWA,GAAX;AACA,OAAKlT,KAAL,GAAaA,KAAb;AACH,C;;IAECsmD,qB;;;;;;;WACF,eAAM5vC,GAAN,EAAW9N,OAAX,EAAoB;AAChB;AACA;AACA;AACA8N,SAAG,CAAC+kB,KAAJ,CAAU,IAAV,EAAgB7yB,OAAhB;AACH;;;WACD,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACjJ,IAAf,EAAqB7E,OAArB;AACH;;;WACD,qBAAY8N,GAAZ,EAAiB9N,OAAjB,EAA0B;AACtB,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACquC,IAAf,EAAqBn8C,OAArB;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACsuC,KAAf,EAAsBp8C,OAAtB;AACH;;;WACD,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,WAAKkyB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;WACD,0BAAiB8N,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACjF,SAAf,EAA0B7I,OAA1B;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAAC4sC,OAAf,EAAwB16C,OAAxB;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAAC6sC,QAAf,EAAyB36C,OAAzB;AACH;;;WACD,mBAAU8N,GAAV,EAAe9N,OAAf,EAAwB;AACpB,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACuD,GAAf,EAAoBrR,OAApB;AACA,WAAKkyB,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,UAAI8N,GAAG,CAACsiB,MAAR,EAAgB;AACZ,aAAKyC,KAAL,CAAW/kB,GAAG,CAACsiB,MAAf,EAAuBpwB,OAAvB;AACH;;AACD,WAAKkyB,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC,CAAG;;;WACvC,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC,CAAG;;;WACnC,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,WAAKkyB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;WACD,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACjP,GAAf,EAAoBmB,OAApB;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACxD,GAAf,EAAoBtK,OAApB;AACH;;;WACD,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACjP,GAAf,EAAoBmB,OAApB;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACxD,GAAf,EAAoBtK,OAApB;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAAC1W,KAAf,EAAsB4I,OAAtB;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,WAAKkyB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,EAA+B9G,OAA/B;AACH;;;WACD,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,WAAKkyB,QAAL,CAAcpkB,GAAG,CAACpP,MAAlB,EAA0BsB,OAA1B;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC,CAAG;;;WACvC,yBAAgB8N,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACA,WAAKkyB,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;WACD,wBAAe8N,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACgJ,UAAf,EAA2B9W,OAA3B;AACH;;;WACD,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACgJ,UAAf,EAA2B9W,OAA3B;AACH;;;WACD,2BAAkB8N,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACH;;;WACD,4BAAmB8N,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACA,WAAK6yB,KAAL,CAAW/kB,GAAG,CAAC1W,KAAf,EAAsB4I,OAAtB;AACH;;;WACD,+BAAsB8N,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACH;;;WACD,6BAAoB8N,GAApB,EAAyB9N,OAAzB,EAAkC;AAC9B,WAAK6yB,KAAL,CAAW/kB,GAAG,CAACrI,QAAf,EAAyBzF,OAAzB;AACA,WAAKkyB,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBuC,OAAxB;AACH;;;WACD,oBAAW8N,GAAX,EAAgB9N,OAAhB,EAAyB,CAAG,C,CAC5B;;;;WACA,kBAAS29C,IAAT,EAAe39C,OAAf,EAAwB;AAAA,0LACF29C,IADE;AAAA;;AAAA;AACpB,+DAAwB;AAAA,cAAb7vC,GAAa;AACpB,eAAK+kB,KAAL,CAAW/kB,GAAX,EAAgB9N,OAAhB;AACH;AAHmB;AAAA;AAAA;AAAA;AAAA;AAIvB;;;;;;IAEC49C,gB;;;;;;;WACF,+BAAsB9vC,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,aAAO8N,GAAP;AACH;;;WACD,2BAAkBA,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO8N,GAAP;AACH;;;WACD,4BAAmBA,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,aAAO,IAAI+7C,aAAJ,CAAkBjuC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAAC6xB,OAAhD,EAAyD,KAAKzN,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,CAAzD,CAAP;AACH;;;WACD,+BAAsBgH,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,aAAO,IAAIy7C,gBAAJ,CAAqB3tC,GAAG,CAACm1B,IAAzB,EAA+Bn1B,GAAG,CAAC1L,UAAnC,EAA+C0L,GAAG,CAAC1W,KAAnD,CAAP;AACH;;;WACD,2BAAkB0W,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO,IAAI66C,YAAJ,CAAiB/sC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAAC8rC,QAA/C,EAAyD9rC,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAzD,EAAmF/kB,GAAG,CAACnY,IAAvF,CAAP;AACH;;;WACD,4BAAmBmY,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,aAAO,IAAI+6C,aAAJ,CAAkBjtC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAAC8rC,QAAhD,EAA0D9rC,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAA1D,EAAoF/kB,GAAG,CAACnY,IAAxF,EAA8FmY,GAAG,CAAC1W,KAAJ,CAAUy7B,KAAV,CAAgB,IAAhB,CAA9F,CAAP;AACH;;;WACD,+BAAsB/kB,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,aAAO,IAAIi7C,gBAAJ,CAAqBntC,GAAG,CAACm1B,IAAzB,EAA+Bn1B,GAAG,CAAC1L,UAAnC,EAA+C0L,GAAG,CAAC8rC,QAAnD,EAA6D9rC,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAA7D,EAAuF/kB,GAAG,CAACnY,IAA3F,CAAP;AACH;;;WACD,yBAAgBmY,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,aAAO,IAAI+8C,UAAJ,CAAejvC,GAAG,CAACm1B,IAAnB,EAAyBn1B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAAC8rC,QAA7C,EAAuD9rC,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAvD,EAAiF/kB,GAAG,CAACnY,IAArF,EAA2F,KAAKu8B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAA3F,CAAP;AACH;;;WACD,6BAAoBqQ,GAApB,EAAyB9N,OAAzB,EAAkC;AAC9B,aAAO,IAAIi9C,cAAJ,CAAmBnvC,GAAG,CAACm1B,IAAvB,EAA6Bn1B,GAAG,CAAC1L,UAAjC,EAA6C0L,GAAG,CAAC8rC,QAAjD,EAA2D9rC,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAA3D,EAAqF/kB,GAAG,CAACnY,IAAzF,EAA+F,KAAKu8B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAA/F,CAAP;AACH;;;WACD,2BAAkBqQ,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO,IAAIm9C,YAAJ,CAAiBrvC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAACsiB,MAAJ,CAAWyC,KAAX,CAAiB,IAAjB,CAA3C,EAAmE,KAAKX,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAAnE,CAAP;AACH;;;WACD,2BAAkBqQ,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO,IAAI27C,YAAJ,CAAiB7tC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2C,KAAK8vB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,CAA3C,CAAP;AACH;;;WACD,yBAAgBgH,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,aAAO,IAAI67C,UAAJ,CAAe/tC,GAAG,CAACm1B,IAAnB,EAAyBn1B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACgC,IAA7C,EAAmD,KAAKoiB,QAAL,CAAcpkB,GAAG,CAACpP,MAAlB,CAAnD,CAAP;AACH;;;WACD,oBAAWoP,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,cAAQ8N,GAAG,CAACnE,QAAZ;AACI,aAAK,GAAL;AACI,iBAAO2yC,KAAK,CAACuB,UAAN,CAAiB/vC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAACjJ,IAAJ,CAASguB,KAAT,CAAe,IAAf,CAA3C,CAAP;;AACJ,aAAK,GAAL;AACI,iBAAOypB,KAAK,CAACwB,WAAN,CAAkBhwC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACjJ,IAAJ,CAASguB,KAAT,CAAe,IAAf,CAA5C,CAAP;;AACJ;AACI,gBAAM,IAAI3+B,KAAJ,kCAAoC4Z,GAAG,CAACnE,QAAxC,EAAN;AANR;AAQH;;;WACD,qBAAYmE,GAAZ,EAAiB9N,OAAjB,EAA0B;AACtB,aAAO,IAAIi8C,MAAJ,CAAWnuC,GAAG,CAACm1B,IAAf,EAAqBn1B,GAAG,CAAC1L,UAAzB,EAAqC0L,GAAG,CAACouC,SAAzC,EAAoDpuC,GAAG,CAACquC,IAAJ,CAAStpB,KAAT,CAAe,IAAf,CAApD,EAA0E/kB,GAAG,CAACsuC,KAAJ,CAAUvpB,KAAV,CAAgB,IAAhB,CAA1E,CAAP;AACH;;;WACD,wBAAe/kB,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,aAAO,IAAI28C,SAAJ,CAAc7uC,GAAG,CAACm1B,IAAlB,EAAwBn1B,GAAG,CAAC1L,UAA5B,EAAwC0L,GAAG,CAACgJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAAxC,CAAP;AACH;;;WACD,4BAAmB/kB,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,aAAO,IAAI68C,aAAJ,CAAkB/uC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAACgJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAA5C,CAAP;AACH;;;WACD,0BAAiB/kB,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,aAAO,IAAIy6C,WAAJ,CAAgB3sC,GAAG,CAACm1B,IAApB,EAA0Bn1B,GAAG,CAAC1L,UAA9B,EAA0C0L,GAAG,CAACjF,SAAJ,CAAcgqB,KAAd,CAAoB,IAApB,CAA1C,EAAqE/kB,GAAG,CAAC4sC,OAAJ,CAAY7nB,KAAZ,CAAkB,IAAlB,CAArE,EAA8F/kB,GAAG,CAAC6sC,QAAJ,CAAa9nB,KAAb,CAAmB,IAAnB,CAA9F,CAAP;AACH;;;WACD,mBAAU/kB,GAAV,EAAe9N,OAAf,EAAwB;AACpB,aAAO,IAAIu7C,WAAJ,CAAgBztC,GAAG,CAACm1B,IAApB,EAA0Bn1B,GAAG,CAAC1L,UAA9B,EAA0C0L,GAAG,CAACuD,GAAJ,CAAQwhB,KAAR,CAAc,IAAd,CAA1C,EAA+D/kB,GAAG,CAACnY,IAAnE,EAAyE,KAAKu8B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAAzE,EAAkGqQ,GAAG,CAAC8rC,QAAtG,CAAP;AACH;;;WACD,wBAAe9rC,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,aAAO,IAAIm7C,SAAJ,CAAcrtC,GAAG,CAACm1B,IAAlB,EAAwBn1B,GAAG,CAAC1L,UAA5B,EAAwC0L,GAAG,CAACjP,GAAJ,CAAQg0B,KAAR,CAAc,IAAd,CAAxC,EAA6D/kB,GAAG,CAACxD,GAAJ,CAAQuoB,KAAR,CAAc,IAAd,CAA7D,CAAP;AACH;;;WACD,yBAAgB/kB,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,aAAO,IAAIq7C,UAAJ,CAAevtC,GAAG,CAACm1B,IAAnB,EAAyBn1B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACjP,GAAJ,CAAQg0B,KAAR,CAAc,IAAd,CAAzC,EAA8D/kB,GAAG,CAACxD,GAAJ,CAAQuoB,KAAR,CAAc,IAAd,CAA9D,EAAmF/kB,GAAG,CAAC1W,KAAJ,CAAUy7B,KAAV,CAAgB,IAAhB,CAAnF,CAAP;AACH;;;WACD,kBAAS8qB,IAAT,EAAe;AACX,UAAMtmD,GAAG,GAAG,EAAZ;;AACA,WAAK,IAAIP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6mD,IAAI,CAACloD,MAAzB,EAAiC,EAAEqB,CAAnC,EAAsC;AAClCO,WAAG,CAACP,CAAD,CAAH,GAAS6mD,IAAI,CAAC7mD,CAAD,CAAJ,CAAQ+7B,KAAR,CAAc,IAAd,CAAT;AACH;;AACD,aAAOx7B,GAAP;AACH;;;WACD,oBAAWyW,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,aAAO,IAAIu6C,KAAJ,CAAUzsC,GAAG,CAACm1B,IAAd,EAAoBn1B,GAAG,CAAC1L,UAAxB,EAAoC,KAAK8vB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,CAApC,CAAP;AACH;;;WACD,oBAAWgH,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,aAAO,IAAI65C,KAAJ,CAAU/rC,GAAG,CAACm1B,IAAd,EAAoBn1B,GAAG,CAAC1L,UAAxB,EAAoC0L,GAAG,CAACnZ,MAAxC,EAAgDmZ,GAAG,CAACgsC,uBAApD,EAA6EhsC,GAAG,CAACisC,QAAjF,CAAP;AACH;;;;KAEL;AACA;;;IACMgE,6B;;;;;;;WACF,+BAAsBjwC,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,aAAO8N,GAAP;AACH;;;WACD,2BAAkBA,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,aAAO8N,GAAP;AACH;;;WACD,4BAAmBA,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,UAAM8G,WAAW,GAAG,KAAKorB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,CAApB;AACA,UAAIA,WAAW,KAAKgH,GAAG,CAAChH,WAAxB,EACI,OAAO,IAAIi1C,aAAJ,CAAkBjuC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAAC6xB,OAAhD,EAAyD74B,WAAzD,CAAP;AACJ,aAAOgH,GAAP;AACH;;;WACD,+BAAsBA,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,aAAO8N,GAAP;AACH;;;WACD,2BAAkBA,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,UAAIptB,QAAQ,KAAKqI,GAAG,CAACrI,QAArB,EAA+B;AAC3B,eAAO,IAAIo1C,YAAJ,CAAiB/sC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2C0L,GAAG,CAAC8rC,QAA/C,EAAyDn0C,QAAzD,EAAmEqI,GAAG,CAACnY,IAAvE,CAAP;AACH;;AACD,aAAOmY,GAAP;AACH;;;WACD,4BAAmBA,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAMz7B,KAAK,GAAG0W,GAAG,CAAC1W,KAAJ,CAAUy7B,KAAV,CAAgB,IAAhB,CAAd;;AACA,UAAIptB,QAAQ,KAAKqI,GAAG,CAACrI,QAAjB,IAA6BrO,KAAK,KAAK0W,GAAG,CAAC1W,KAA/C,EAAsD;AAClD,eAAO,IAAI2jD,aAAJ,CAAkBjtC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0L,GAAG,CAAC8rC,QAAhD,EAA0Dn0C,QAA1D,EAAoEqI,GAAG,CAACnY,IAAxE,EAA8EyB,KAA9E,CAAP;AACH;;AACD,aAAO0W,GAAP;AACH;;;WACD,+BAAsBA,GAAtB,EAA2B9N,OAA3B,EAAoC;AAChC,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,UAAIptB,QAAQ,KAAKqI,GAAG,CAACrI,QAArB,EAA+B;AAC3B,eAAO,IAAIw1C,gBAAJ,CAAqBntC,GAAG,CAACm1B,IAAzB,EAA+Bn1B,GAAG,CAAC1L,UAAnC,EAA+C0L,GAAG,CAAC8rC,QAAnD,EAA6Dn0C,QAA7D,EAAuEqI,GAAG,CAACnY,IAA3E,CAAP;AACH;;AACD,aAAOmY,GAAP;AACH;;;WACD,yBAAgBA,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAMp1B,IAAI,GAAG,KAAKy0B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAIgI,QAAQ,KAAKqI,GAAG,CAACrI,QAAjB,IAA6BhI,IAAI,KAAKqQ,GAAG,CAACrQ,IAA9C,EAAoD;AAChD,eAAO,IAAIs/C,UAAJ,CAAejvC,GAAG,CAACm1B,IAAnB,EAAyBn1B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAAC8rC,QAA7C,EAAuDn0C,QAAvD,EAAiEqI,GAAG,CAACnY,IAArE,EAA2E8H,IAA3E,CAAP;AACH;;AACD,aAAOqQ,GAAP;AACH;;;WACD,6BAAoBA,GAApB,EAAyB9N,OAAzB,EAAkC;AAC9B,UAAMyF,QAAQ,GAAGqI,GAAG,CAACrI,QAAJ,CAAaotB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAMp1B,IAAI,GAAG,KAAKy0B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAIgI,QAAQ,KAAKqI,GAAG,CAACrI,QAAjB,IAA6BhI,IAAI,KAAKqQ,GAAG,CAACrQ,IAA9C,EAAoD;AAChD,eAAO,IAAIw/C,cAAJ,CAAmBnvC,GAAG,CAACm1B,IAAvB,EAA6Bn1B,GAAG,CAAC1L,UAAjC,EAA6C0L,GAAG,CAAC8rC,QAAjD,EAA2Dn0C,QAA3D,EAAqEqI,GAAG,CAACnY,IAAzE,EAA+E8H,IAA/E,CAAP;AACH;;AACD,aAAOqQ,GAAP;AACH;;;WACD,2BAAkBA,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,UAAMowB,MAAM,GAAGtiB,GAAG,CAACsiB,MAAJ,IAActiB,GAAG,CAACsiB,MAAJ,CAAWyC,KAAX,CAAiB,IAAjB,CAA7B;AACA,UAAMp1B,IAAI,GAAG,KAAKy0B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAI2yB,MAAM,KAAKtiB,GAAG,CAACsiB,MAAf,IAAyB3yB,IAAI,KAAKqQ,GAAG,CAACrQ,IAA1C,EAAgD;AAC5C,eAAO,IAAI0/C,YAAJ,CAAiBrvC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2CguB,MAA3C,EAAmD3yB,IAAnD,CAAP;AACH;;AACD,aAAOqQ,GAAP;AACH;;;WACD,2BAAkBA,GAAlB,EAAuB9N,OAAvB,EAAgC;AAC5B,UAAM8G,WAAW,GAAG,KAAKorB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,CAApB;;AACA,UAAIA,WAAW,KAAKgH,GAAG,CAAChH,WAAxB,EAAqC;AACjC,eAAO,IAAI60C,YAAJ,CAAiB7tC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2C0E,WAA3C,CAAP;AACH;;AACD,aAAOgH,GAAP;AACH;;;WACD,yBAAgBA,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,UAAMtB,MAAM,GAAG,KAAKwzB,QAAL,CAAcpkB,GAAG,CAACpP,MAAlB,CAAf;;AACA,UAAIA,MAAM,KAAKoP,GAAG,CAACpP,MAAnB,EAA2B;AACvB,eAAO,IAAIm9C,UAAJ,CAAe/tC,GAAG,CAACm1B,IAAnB,EAAyBn1B,GAAG,CAAC1L,UAA7B,EAAyC0L,GAAG,CAACgC,IAA7C,EAAmDpR,MAAnD,CAAP;AACH;;AACD,aAAOoP,GAAP;AACH;;;WACD,oBAAWA,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,UAAM6E,IAAI,GAAGiJ,GAAG,CAACjJ,IAAJ,CAASguB,KAAT,CAAe,IAAf,CAAb;;AACA,UAAIhuB,IAAI,KAAKiJ,GAAG,CAACjJ,IAAjB,EAAuB;AACnB,gBAAQiJ,GAAG,CAACnE,QAAZ;AACI,eAAK,GAAL;AACI,mBAAO2yC,KAAK,CAACuB,UAAN,CAAiB/vC,GAAG,CAACm1B,IAArB,EAA2Bn1B,GAAG,CAAC1L,UAA/B,EAA2CyC,IAA3C,CAAP;;AACJ,eAAK,GAAL;AACI,mBAAOy3C,KAAK,CAACwB,WAAN,CAAkBhwC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4CyC,IAA5C,CAAP;;AACJ;AACI,kBAAM,IAAI3Q,KAAJ,kCAAoC4Z,GAAG,CAACnE,QAAxC,EAAN;AANR;AAQH;;AACD,aAAOmE,GAAP;AACH;;;WACD,qBAAYA,GAAZ,EAAiB9N,OAAjB,EAA0B;AACtB,UAAMm8C,IAAI,GAAGruC,GAAG,CAACquC,IAAJ,CAAStpB,KAAT,CAAe,IAAf,CAAb;AACA,UAAMupB,KAAK,GAAGtuC,GAAG,CAACsuC,KAAJ,CAAUvpB,KAAV,CAAgB,IAAhB,CAAd;;AACA,UAAIspB,IAAI,KAAKruC,GAAG,CAACquC,IAAb,IAAqBC,KAAK,KAAKtuC,GAAG,CAACsuC,KAAvC,EAA8C;AAC1C,eAAO,IAAIH,MAAJ,CAAWnuC,GAAG,CAACm1B,IAAf,EAAqBn1B,GAAG,CAAC1L,UAAzB,EAAqC0L,GAAG,CAACouC,SAAzC,EAAoDC,IAApD,EAA0DC,KAA1D,CAAP;AACH;;AACD,aAAOtuC,GAAP;AACH;;;WACD,wBAAeA,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,UAAM8W,UAAU,GAAGhJ,GAAG,CAACgJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAAnB;;AACA,UAAI/b,UAAU,KAAKhJ,GAAG,CAACgJ,UAAvB,EAAmC;AAC/B,eAAO,IAAI6lC,SAAJ,CAAc7uC,GAAG,CAACm1B,IAAlB,EAAwBn1B,GAAG,CAAC1L,UAA5B,EAAwC0U,UAAxC,CAAP;AACH;;AACD,aAAOhJ,GAAP;AACH;;;WACD,4BAAmBA,GAAnB,EAAwB9N,OAAxB,EAAiC;AAC7B,UAAM8W,UAAU,GAAGhJ,GAAG,CAACgJ,UAAJ,CAAe+b,KAAf,CAAqB,IAArB,CAAnB;;AACA,UAAI/b,UAAU,KAAKhJ,GAAG,CAACgJ,UAAvB,EAAmC;AAC/B,eAAO,IAAI+lC,aAAJ,CAAkB/uC,GAAG,CAACm1B,IAAtB,EAA4Bn1B,GAAG,CAAC1L,UAAhC,EAA4C0U,UAA5C,CAAP;AACH;;AACD,aAAOhJ,GAAP;AACH;;;WACD,0BAAiBA,GAAjB,EAAsB9N,OAAtB,EAA+B;AAC3B,UAAM6I,SAAS,GAAGiF,GAAG,CAACjF,SAAJ,CAAcgqB,KAAd,CAAoB,IAApB,CAAlB;AACA,UAAM6nB,OAAO,GAAG5sC,GAAG,CAAC4sC,OAAJ,CAAY7nB,KAAZ,CAAkB,IAAlB,CAAhB;AACA,UAAM8nB,QAAQ,GAAG7sC,GAAG,CAAC6sC,QAAJ,CAAa9nB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,UAAIhqB,SAAS,KAAKiF,GAAG,CAACjF,SAAlB,IAA+B6xC,OAAO,KAAK5sC,GAAG,CAAC4sC,OAA/C,IAA0DC,QAAQ,KAAK7sC,GAAG,CAAC6sC,QAA/E,EAAyF;AACrF,eAAO,IAAIF,WAAJ,CAAgB3sC,GAAG,CAACm1B,IAApB,EAA0Bn1B,GAAG,CAAC1L,UAA9B,EAA0CyG,SAA1C,EAAqD6xC,OAArD,EAA8DC,QAA9D,CAAP;AACH;;AACD,aAAO7sC,GAAP;AACH;;;WACD,mBAAUA,GAAV,EAAe9N,OAAf,EAAwB;AACpB,UAAMqR,GAAG,GAAGvD,GAAG,CAACuD,GAAJ,CAAQwhB,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMp1B,IAAI,GAAG,KAAKy0B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,CAAb;;AACA,UAAI4T,GAAG,KAAKvD,GAAG,CAACuD,GAAZ,IAAmB5T,IAAI,KAAKqQ,GAAG,CAACrQ,IAApC,EAA0C;AACtC,eAAO,IAAI89C,WAAJ,CAAgBztC,GAAG,CAACm1B,IAApB,EAA0Bn1B,GAAG,CAAC1L,UAA9B,EAA0CiP,GAA1C,EAA+CvD,GAAG,CAACnY,IAAnD,EAAyD8H,IAAzD,EAA+DqQ,GAAG,CAAC8rC,QAAnE,CAAP;AACH;;AACD,aAAO9rC,GAAP;AACH;;;WACD,wBAAeA,GAAf,EAAoB9N,OAApB,EAA6B;AACzB,UAAMnB,GAAG,GAAGiP,GAAG,CAACjP,GAAJ,CAAQg0B,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMvoB,GAAG,GAAGwD,GAAG,CAACxD,GAAJ,CAAQuoB,KAAR,CAAc,IAAd,CAAZ;;AACA,UAAIh0B,GAAG,KAAKiP,GAAG,CAACjP,GAAZ,IAAmByL,GAAG,KAAKwD,GAAG,CAACxD,GAAnC,EAAwC;AACpC,eAAO,IAAI6wC,SAAJ,CAAcrtC,GAAG,CAACm1B,IAAlB,EAAwBn1B,GAAG,CAAC1L,UAA5B,EAAwCvD,GAAxC,EAA6CyL,GAA7C,CAAP;AACH;;AACD,aAAOwD,GAAP;AACH;;;WACD,yBAAgBA,GAAhB,EAAqB9N,OAArB,EAA8B;AAC1B,UAAMnB,GAAG,GAAGiP,GAAG,CAACjP,GAAJ,CAAQg0B,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMvoB,GAAG,GAAGwD,GAAG,CAACxD,GAAJ,CAAQuoB,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMz7B,KAAK,GAAG0W,GAAG,CAAC1W,KAAJ,CAAUy7B,KAAV,CAAgB,IAAhB,CAAd;;AACA,UAAIh0B,GAAG,KAAKiP,GAAG,CAACjP,GAAZ,IAAmByL,GAAG,KAAKwD,GAAG,CAACxD,GAA/B,IAAsClT,KAAK,KAAK0W,GAAG,CAAC1W,KAAxD,EAA+D;AAC3D,eAAO,IAAIikD,UAAJ,CAAevtC,GAAG,CAACm1B,IAAnB,EAAyBn1B,GAAG,CAAC1L,UAA7B,EAAyCvD,GAAzC,EAA8CyL,GAA9C,EAAmDlT,KAAnD,CAAP;AACH;;AACD,aAAO0W,GAAP;AACH;;;WACD,kBAAS6vC,IAAT,EAAe;AACX,UAAMtmD,GAAG,GAAG,EAAZ;AACA,UAAI2mD,QAAQ,GAAG,KAAf;;AACA,WAAK,IAAIlnD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6mD,IAAI,CAACloD,MAAzB,EAAiC,EAAEqB,CAAnC,EAAsC;AAClC,YAAM+f,QAAQ,GAAG8mC,IAAI,CAAC7mD,CAAD,CAArB;AACA,YAAMM,KAAK,GAAGyf,QAAQ,CAACgc,KAAT,CAAe,IAAf,CAAd;AACAx7B,WAAG,CAACP,CAAD,CAAH,GAASM,KAAT;AACA4mD,gBAAQ,GAAGA,QAAQ,IAAI5mD,KAAK,KAAKyf,QAAjC;AACH;;AACD,aAAOmnC,QAAQ,GAAG3mD,GAAH,GAASsmD,IAAxB;AACH;;;WACD,oBAAW7vC,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,UAAM8G,WAAW,GAAG,KAAKorB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,CAApB;;AACA,UAAIA,WAAW,KAAKgH,GAAG,CAAChH,WAAxB,EAAqC;AACjC,eAAO,IAAIyzC,KAAJ,CAAUzsC,GAAG,CAACm1B,IAAd,EAAoBn1B,GAAG,CAAC1L,UAAxB,EAAoC0E,WAApC,CAAP;AACH;;AACD,aAAOgH,GAAP;AACH;;;WACD,oBAAWA,GAAX,EAAgB9N,OAAhB,EAAyB;AACrB,aAAO8N,GAAP;AACH;;;;KAEL;;;IACMmwC,c,GACF,wBAAYtoD,IAAZ,EAAkBmhB,UAAlB,EAA8B3U,IAA9B,EACA;AACA;AACAC,UAHA,EAGY4tB,OAHZ,EAGqBL,SAHrB,EAGgC;AAAA;;AAC5B,OAAKh6B,IAAL,GAAYA,IAAZ;AACA,OAAKmhB,UAAL,GAAkBA,UAAlB;AACA,OAAK3U,IAAL,GAAYA,IAAZ;AACA,OAAKC,UAAL,GAAkBA,UAAlB;AACA,OAAK4tB,OAAL,GAAeA,OAAf;AACA,OAAKL,SAAL,GAAiBA,SAAjB;AACA,OAAKuuB,SAAL,GAAiB,KAAK/7C,IAAL,KAAcg8C,kBAAkB,CAACC,YAAlD;AACA,OAAKC,WAAL,GAAmB,KAAKl8C,IAAL,KAAcg8C,kBAAkB,CAACG,SAApD;AACH,C;;AAEL,IAAIH,kBAAJ;;AACA,CAAC,UAAUA,kBAAV,EAA8B;AAC3BA,oBAAkB,CAACA,kBAAkB,CAAC,SAAD,CAAlB,GAAgC,CAAjC,CAAlB,GAAwD,SAAxD;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,CAAtC,CAAlB,GAA6D,cAA7D;AACAA,oBAAkB,CAACA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,CAAnC,CAAlB,GAA0D,WAA1D;AACH,CAJD,EAIGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAJrB;;IAKMI,W,GACF;AACA;AACA,qBAAY5oD,IAAZ,EAAkB66B,aAAlB,EAAiCruB,IAAjC,EAAuCguB,OAAvC,EAAgD/tB,UAAhD,EAA4DiuB,WAA5D,EAAyE;AAAA;;AACrE,OAAK16B,IAAL,GAAYA,IAAZ;AACA,OAAK66B,aAAL,GAAqBA,aAArB;AACA,OAAKruB,IAAL,GAAYA,IAAZ;AACA,OAAKguB,OAAL,GAAeA,OAAf;AACA,OAAK/tB,UAAL,GAAkBA,UAAlB;AACA,OAAKiuB,WAAL,GAAmBA,WAAnB;AACH,C;AAEL;AACA;AACA;;;IACMmuB,c,GACF,wBAAY7oD,IAAZ,EAAkByB,KAAlB,EAAyBgL,UAAzB,EAAqC4tB,OAArC,EAA8CL,SAA9C,EAAyD;AAAA;;AACrD,OAAKh6B,IAAL,GAAYA,IAAZ;AACA,OAAKyB,KAAL,GAAaA,KAAb;AACA,OAAKgL,UAAL,GAAkBA,UAAlB;AACA,OAAK4tB,OAAL,GAAeA,OAAf;AACA,OAAKL,SAAL,GAAiBA,SAAjB;AACH,C;;IAEC8uB,oB,GACF,8BAAY9oD,IAAZ,EAAkBwM,IAAlB,EAAwB2tB,eAAxB,EAAyC14B,KAAzC,EAAgD24B,IAAhD,EAAsD3tB,UAAtD,EAAkE4tB,OAAlE,EAA2EL,SAA3E,EAAsF;AAAA;;AAClF,OAAKh6B,IAAL,GAAYA,IAAZ;AACA,OAAKwM,IAAL,GAAYA,IAAZ;AACA,OAAK2tB,eAAL,GAAuBA,eAAvB;AACA,OAAK14B,KAAL,GAAaA,KAAb;AACA,OAAK24B,IAAL,GAAYA,IAAZ;AACA,OAAK3tB,UAAL,GAAkBA,UAAlB;AACA,OAAK4tB,OAAL,GAAeA,OAAf;AACA,OAAKL,SAAL,GAAiBA,SAAjB;AACH,C;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+uB,gB;;;;AAENA,gBAAgB,CAACnuB,KAAjB,GAAyBrgB,QAAQ,CAAC,QAAD,CAAjC;;IACMyuC,0B,GACF;AACA;AACJ;AACA;AACIlwC,KAJA;AAKA;AACJ;AACA;AACImwC,YARA,EAQc;AAAA;;AACV,OAAKnwC,KAAL,GAAaA,KAAb;AACA,OAAKmwC,YAAL,GAAoBA,YAApB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ;;AACA,OAAKC,YAAL,GAAoBpwC,KAAK,CAACtU,GAAN,CAAU,UAAC41C,SAAD,EAAe;AACzC,QAAIA,SAAS,YAAY3qC,cAArB,IAAuC2qC,SAAS,CAACp6C,IAAV,IAAkBipD,YAAY,CAACjpD,IAAtE,IACAo6C,SAAS,CAAC34C,KAAV,YAA2B4L,kBAD/B,EACmD;AAC/C,UAAM6G,GAAG,GAAGkmC,SAAS,CAAC34C,KAAV,CAAgByS,GAA5B;AACA,aAAO,IAAIsC,eAAJ,CAAoBtC,GAAG,CAACzS,KAAxB,CAAP;AACH;;AACD,WAAO24C,SAAP;AACH,GAPmB,CAApB;AAQH,C;AAEL;AACA;AACA;AACA;;;AACA,SAAS+O,oBAAT,CAA8BC,aAA9B,EAA6CC,gBAA7C,EAA+DC,MAA/D,EAAuEC,SAAvE,EAAkFC,qBAAlF,EAAyGC,cAAzG,EAAyHC,wBAAzH,EAAmJC,OAAnJ,EAA4J;AACxJ,MAAI,CAACP,aAAL,EAAoB;AAChBA,iBAAa,GAAG,IAAIQ,oBAAJ,CAAyBD,OAAzB,CAAhB;AACH;;AACD,MAAME,qBAAqB,GAAGC,8BAA8B,CAAC;AACzDC,+BAA2B,EAAE,qCAACC,QAAD,EAAc;AACvC;AACA,aAAO,UAACliD,IAAD;AAAA,eAAUgT,UAAU,CAAChT,IAAD,CAApB;AAAA,OAAP;AACH,KAJwD;AAKzDmiD,6BAAyB,EAAE,mCAAC9vC,IAAD,EAAU;AACjC;AACA,aAAO,UAACpR,MAAD,EAAY;AACf,YAAMwL,OAAO,GAAG4F,IAAI,CAAC3V,GAAL,CAAS,UAAC66B,CAAD,EAAIl+B,CAAJ;AAAA,iBAAW;AAChCwT,eAAG,EAAE0qB,CAAC,CAAC1qB,GADyB;AAEhClT,iBAAK,EAAEsH,MAAM,CAAC5H,CAAD,CAFmB;AAGhCyT,kBAAM,EAAEyqB,CAAC,CAACzqB;AAHsB,WAAX;AAAA,SAAT,CAAhB;AAKA,eAAOmG,UAAU,CAACxG,OAAD,CAAjB;AACH,OAPD;AAQH,KAfwD;AAgBzD21C,uBAAmB,EAAE,6BAAClqD,IAAD,EAAU;AAC3B,YAAM,IAAIzB,KAAJ,0EAA4EyB,IAA5E,EAAN;AACH;AAlBwD,GAAD,EAmBzDspD,MAnByD,CAA5D;AAoBA,MAAMl/C,OAAO,GAAG,IAAI+/C,eAAJ,CAAoBf,aAApB,EAAmCC,gBAAnC,EAAqDE,SAArD,EAAgEC,qBAAhE,EAAuFC,cAAvF,EAAuGC,wBAAvG,CAAhB;AACA,MAAMU,WAAW,GAAG,EAApB;AACAC,mBAAiB,CAACR,qBAAqB,CAAC3sB,KAAtB,CAA4B9yB,OAA5B,EAAqCkgD,KAAK,CAACr0C,SAA3C,CAAD,EAAwDm0C,WAAxD,CAAjB;AACAG,uBAAqB,CAACngD,OAAO,CAACogD,cAAT,EAAyBjB,SAAzB,EAAoCa,WAApC,CAArB;;AACA,MAAIhgD,OAAO,CAACqgD,oBAAZ,EAAkC;AAC9BrB,iBAAa,CAACsB,yBAAd;AACH;;AACD,MAAMroD,SAAS,GAAG+nD,WAAW,CAACtqD,MAAZ,GAAqB,CAAvC;AACA,MAAI6qD,iBAAiB,GAAG,IAAxB;;AACA,MAAItoD,SAAS,IAAI,CAAjB,EAAoB;AAChB,QAAMuoD,aAAa,GAAGR,WAAW,CAAC/nD,SAAD,CAAjC;AACA,QAAMwoD,UAAU,GAAGC,yBAAyB,CAACF,aAAD,CAA5C;;AACA,QAAIC,UAAJ,EAAgB;AACZ;AACA;AACAF,uBAAiB,GAAGI,uBAAuB,CAACxB,SAAD,CAA3C;AACAa,iBAAW,CAAC/nD,SAAD,CAAX,GACIsoD,iBAAiB,CAACtmD,GAAlB,CAAsBwmD,UAAU,CAACG,IAAX,CAAgBhgD,YAAhB,EAA8BigD,YAA9B,CAA2C3vC,OAAO,CAAC,KAAD,CAAlD,CAAtB,EACK5L,UADL,CACgB,IADhB,EACsB,CAACC,YAAY,CAACC,KAAd,CADtB,CADJ;AAGH;AACJ;;AACD,SAAO,IAAIo5C,0BAAJ,CAA+BoB,WAA/B,EAA4CO,iBAA5C,CAAP;AACH;;AACD,SAASb,8BAAT,CAAwCoB,gBAAxC,EAA0D/yC,GAA1D,EAA+D;AAC3D,SAAOgzC,eAAe,CAACD,gBAAD,EAAmB/yC,GAAnB,CAAtB;AACH;;IACKizC,4B,GACF,sCAAYtyC,KAAZ,EAAmBuyC,WAAnB,EAAgC;AAAA;;AAC5B,OAAKvyC,KAAL,GAAaA,KAAb;AACA,OAAKuyC,WAAL,GAAmBA,WAAnB;AACH,C;;AAEL,IAAIC,WAAJ;;AACA,CAAC,UAAUA,WAAV,EAAuB;AACpB;AACAA,aAAW,CAACA,WAAW,CAAC,SAAD,CAAX,GAAyB,CAA1B,CAAX,GAA0C,SAA1C,CAFoB,CAGpB;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,WAAD,CAAX,GAA2B,CAA5B,CAAX,GAA4C,WAA5C,CALoB,CAMpB;AACA;AACA;;AACAA,aAAW,CAACA,WAAW,CAAC,YAAD,CAAX,GAA4B,CAA7B,CAAX,GAA6C,YAA7C;AACH,CAVD,EAUGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CAVd;AAWA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAgCnC,aAAhC,EAA+CC,gBAA/C,EAAiEmC,yBAAjE,EAA4FjC,SAA5F,EAAuGkC,IAAvG,EAA6GjC,qBAA7G,EAAoI;AAChI,MAAI,CAACJ,aAAL,EAAoB;AAChBA,iBAAa,GAAG,IAAIQ,oBAAJ,EAAhB;AACH;;AACD,MAAMx/C,OAAO,GAAG,IAAI+/C,eAAJ,CAAoBf,aAApB,EAAmCC,gBAAnC,EAAqDE,SAArD,EAAgEC,qBAAhE,CAAhB;AACA,MAAMkC,UAAU,GAAGF,yBAAyB,CAACtuB,KAA1B,CAAgC9yB,OAAhC,EAAyCkgD,KAAK,CAAC/9C,UAA/C,CAAnB;AACA,MAAMuM,KAAK,GAAG6yC,wBAAwB,CAACvhD,OAAD,EAAUm/C,SAAV,CAAtC;;AACA,MAAIn/C,OAAO,CAACqgD,oBAAZ,EAAkC;AAC9BrB,iBAAa,CAACsB,yBAAd;AACH;;AACD,MAAItgD,OAAO,CAACogD,cAAR,KAA2B,CAA3B,IAAgCiB,IAAI,IAAIH,WAAW,CAACM,SAAxD,EAAmE;AAC/D,WAAO,IAAIR,4BAAJ,CAAiC,EAAjC,EAAqCM,UAArC,CAAP;AACH,GAFD,MAGK,IAAID,IAAI,KAAKH,WAAW,CAAC/+C,UAAzB,EAAqC;AACtC,WAAO,IAAI6+C,4BAAJ,CAAiCtyC,KAAjC,EAAwC4yC,UAAxC,CAAP;AACH;;AACD,MAAML,WAAW,GAAGQ,mBAAmB,CAACtC,SAAD,CAAvC;AACAzwC,OAAK,CAACvX,IAAN,CAAW8pD,WAAW,CAAChnD,GAAZ,CAAgBqnD,UAAhB,EAA4Bh8C,UAA5B,CAAuC1E,YAAvC,EAAqD,CAAC2E,YAAY,CAACC,KAAd,CAArD,CAAX;AACA,SAAO,IAAIw7C,4BAAJ,CAAiCtyC,KAAjC,EAAwCuyC,WAAxC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,sBAAT,CAAgC1C,aAAhC,EAA+C2C,yBAA/C,EAA0EC,gCAA1E,EAA4GzC,SAA5G,EAAuH;AACnH,MAAMn/C,OAAO,GAAG,IAAI+/C,eAAJ,CAAoBf,aAApB,EAAmC2C,yBAAnC,EAA8DxC,SAA9D,EAAyExjD,SAAzE,CAAhB;AACA,MAAM2lD,UAAU,GAAGM,gCAAgC,CAAC9uB,KAAjC,CAAuC9yB,OAAvC,EAAgDkgD,KAAK,CAAC/9C,UAAtD,CAAnB;;AACA,MAAInC,OAAO,CAACqgD,oBAAZ,EAAkC;AAC9BrB,iBAAa,CAACsB,yBAAd;AACH;;AACD,MAAM5xC,KAAK,GAAG6yC,wBAAwB,CAACvhD,OAAD,EAAUm/C,SAAV,CAAtC,CANmH,CAOnH;;AACA,MAAIzhD,IAAI,GAAG4jD,UAAU,CAAC5jD,IAAX,CAAgBtJ,KAAhB,CAAsB,CAAtB,CAAX;;AACA,MAAIwtD,gCAAgC,YAAY5F,aAAhD,EAA+D;AAC3D;AACA;AACA,QAAMpc,OAAO,GAAGgiB,gCAAgC,CAAChiB,OAAjD;;AACA,QAAIliC,IAAI,CAAChI,MAAL,KAAgB,CAAhB,IAAqBkqC,OAAO,CAAC,CAAD,CAAP,KAAe,EAApC,IAA0CA,OAAO,CAAC,CAAD,CAAP,KAAe,EAA7D,EAAiE;AAC7D;AACAliC,UAAI,GAAG,CAACA,IAAI,CAAC,CAAD,CAAL,CAAP;AACH,KAHD,MAIK,IAAIA,IAAI,CAAChI,MAAL,IAAe,EAAnB,EAAuB;AACxB;AACA;AACAgI,UAAI,GAAG,CAACgT,UAAU,CAAChT,IAAD,CAAX,CAAP;AACH;AACJ;;AACD,SAAO;AAAEgR,SAAK,EAALA,KAAF;AAAShR,QAAI,EAAJA;AAAT,GAAP;AACH;;AACD,SAAS6jD,wBAAT,CAAkCvhD,OAAlC,EAA2Cm/C,SAA3C,EAAsD;AAClD,MAAMzwC,KAAK,GAAG,EAAd;;AACA,OAAK,IAAI3X,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiJ,OAAO,CAACogD,cAA5B,EAA4CrpD,CAAC,EAA7C,EAAiD;AAC7C2X,SAAK,CAACvX,IAAN,CAAW0qD,oBAAoB,CAAC1C,SAAD,EAAYpoD,CAAZ,CAA/B;AACH;;AACD,SAAO2X,KAAP;AACH;;AACD,SAASqyC,eAAT,CAAyBD,gBAAzB,EAA2C/yC,GAA3C,EAAgD;AAC5C,MAAM/N,OAAO,GAAG,IAAI8hD,oBAAJ,CAAyBhB,gBAAzB,CAAhB;AACA,SAAO/yC,GAAG,CAAC+kB,KAAJ,CAAU9yB,OAAV,CAAP;AACH;;AACD,SAAS+hD,aAAT,CAAuB5C,SAAvB,EAAkC6C,eAAlC,EAAmD;AAC/C,uBAAc7C,SAAd,cAA2B6C,eAA3B;AACH;;AACD,SAASH,oBAAT,CAA8B1C,SAA9B,EAAyC6C,eAAzC,EAA0D;AACtD,SAAO,IAAI38C,cAAJ,CAAmB08C,aAAa,CAAC5C,SAAD,EAAY6C,eAAZ,CAAhC,EAA8D12C,SAA9D,CAAP;AACH;;AACD,SAAS60C,qBAAT,CAA+BC,cAA/B,EAA+CjB,SAA/C,EAA0D31C,UAA1D,EAAsE;AAClE,OAAK,IAAIzS,CAAC,GAAGqpD,cAAc,GAAG,CAA9B,EAAiCrpD,CAAC,IAAI,CAAtC,EAAyCA,CAAC,EAA1C,EAA8C;AAC1CyS,cAAU,CAACy4C,OAAX,CAAmBJ,oBAAoB,CAAC1C,SAAD,EAAYpoD,CAAZ,CAAvC;AACH;AACJ;;AACD,IAAImpD,KAAJ;;AACA,CAAC,UAAUA,KAAV,EAAiB;AACdA,OAAK,CAACA,KAAK,CAAC,WAAD,CAAL,GAAqB,CAAtB,CAAL,GAAgC,WAAhC;AACAA,OAAK,CAACA,KAAK,CAAC,YAAD,CAAL,GAAsB,CAAvB,CAAL,GAAiC,YAAjC;AACH,CAHD,EAGGA,KAAK,KAAKA,KAAK,GAAG,EAAb,CAHR;;AAIA,SAASgC,mBAAT,CAA6BC,IAA7B,EAAmCp0C,GAAnC,EAAwC;AACpC,MAAIo0C,IAAI,KAAKjC,KAAK,CAACr0C,SAAnB,EAA8B;AAC1B,UAAM,IAAI1X,KAAJ,yCAA2C4Z,GAA3C,EAAN;AACH;AACJ;;AACD,SAASq0C,oBAAT,CAA8BD,IAA9B,EAAoCp0C,GAApC,EAAyC;AACrC,MAAIo0C,IAAI,KAAKjC,KAAK,CAAC/9C,UAAnB,EAA+B;AAC3B,UAAM,IAAIhO,KAAJ,2CAA6C4Z,GAA7C,EAAN;AACH;AACJ;;AACD,SAASs0C,0BAAT,CAAoCF,IAApC,EAA0Cr9C,IAA1C,EAAgD;AAC5C,MAAIq9C,IAAI,KAAKjC,KAAK,CAACr0C,SAAnB,EAA8B;AAC1B,WAAO/G,IAAI,CAAC4/B,MAAL,EAAP;AACH,GAFD,MAGK;AACD,WAAO5/B,IAAP;AACH;AACJ;;IACKg9C,oB;;;;;AACF,gCAAYQ,iBAAZ,EAA+B;AAAA;;AAAA;;AAC3B;AACA,aAAKA,iBAAL,GAAyBA,iBAAzB;AAF2B;AAG9B;;;;WACD,mBAAUv0C,GAAV,EAAe9N,OAAf,EAAwB;AAAA;;AACpB,UAAMvC,IAAI,GAAG,CAACqQ,GAAG,CAACuD,GAAL,qKAAavD,GAAG,CAACrQ,IAAjB,GAAuBtD,GAAvB,CAA2B,UAAA2T,GAAG;AAAA,eAAIA,GAAG,CAAC+kB,KAAJ,CAAU,QAAV,EAAgB7yB,OAAhB,CAAJ;AAAA,OAA9B,CAAb;AACA,aAAO,IAAIsiD,mBAAJ,CAAwBx0C,GAAG,CAACm1B,IAA5B,EAAkCn1B,GAAG,CAAC1L,UAAtC,EAAkD3E,IAAlD,EAAwD,KAAK4kD,iBAAL,CAAuBxC,mBAAvB,CAA2C/xC,GAAG,CAACnY,IAA/C,EAAqD8H,IAAI,CAAChI,MAA1D,CAAxD,CAAP;AACH;;;WACD,2BAAkBqY,GAAlB,EAAuB9N,OAAvB,EAAgC;AAAA;;AAC5B,UAAMvC,IAAI,GAAGqQ,GAAG,CAAChH,WAAJ,CAAgB3M,GAAhB,CAAoB,UAAA2T,GAAG;AAAA,eAAIA,GAAG,CAAC+kB,KAAJ,CAAU,QAAV,EAAgB7yB,OAAhB,CAAJ;AAAA,OAAvB,CAAb;AACA,aAAO,IAAIsiD,mBAAJ,CAAwBx0C,GAAG,CAACm1B,IAA5B,EAAkCn1B,GAAG,CAAC1L,UAAtC,EAAkD3E,IAAlD,EAAwD,KAAK4kD,iBAAL,CAAuB3C,2BAAvB,CAAmD5xC,GAAG,CAAChH,WAAJ,CAAgBrR,MAAnE,CAAxD,CAAP;AACH;;;WACD,yBAAgBqY,GAAhB,EAAqB9N,OAArB,EAA8B;AAAA;;AAC1B,UAAMvC,IAAI,GAAGqQ,GAAG,CAACpP,MAAJ,CAAWvE,GAAX,CAAe,UAAA2T,GAAG;AAAA,eAAIA,GAAG,CAAC+kB,KAAJ,CAAU,QAAV,EAAgB7yB,OAAhB,CAAJ;AAAA,OAAlB,CAAb;AACA,aAAO,IAAIsiD,mBAAJ,CAAwBx0C,GAAG,CAACm1B,IAA5B,EAAkCn1B,GAAG,CAAC1L,UAAtC,EAAkD3E,IAAlD,EAAwD,KAAK4kD,iBAAL,CAAuBzC,yBAAvB,CAAiD9xC,GAAG,CAACgC,IAArD,CAAxD,CAAP;AACH;;;;EAhB8B8tC,gB;;IAkB7BkC,e;AACF,2BAAYyC,cAAZ,EAA4BC,iBAA5B,EAA+CtD,SAA/C,EAA0DC,qBAA1D,EAAiFC,cAAjF,EAAiGC,wBAAjG,EAA2H;AAAA;;AACvH,SAAKkD,cAAL,GAAsBA,cAAtB;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKtD,SAAL,GAAiBA,SAAjB;AACA,SAAKC,qBAAL,GAA6BA,qBAA7B;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,wBAAL,GAAgCA,wBAAhC;AACA,SAAKoD,QAAL,GAAgB,IAAI/pD,GAAJ,EAAhB;AACA,SAAKgqD,UAAL,GAAkB,IAAIhqD,GAAJ,EAAlB;AACA,SAAKiqD,iBAAL,GAAyB,CAAzB;AACA,SAAKxC,cAAL,GAAsB,CAAtB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACH;;;;WACD,oBAAWtyC,GAAX,EAAgBo0C,IAAhB,EAAsB;AAClB,UAAIU,EAAJ;;AACA,cAAQ90C,GAAG,CAACnE,QAAZ;AACI,aAAK,GAAL;AACIi5C,YAAE,GAAGlhD,aAAa,CAAC4B,IAAnB;AACA;;AACJ,aAAK,GAAL;AACIs/C,YAAE,GAAGlhD,aAAa,CAAC2B,KAAnB;AACA;;AACJ;AACI,gBAAM,IAAInP,KAAJ,gCAAkC4Z,GAAG,CAACnE,QAAtC,EAAN;AARR;;AAUA,aAAOy4C,0BAA0B,CAACF,IAAD,EAAO,IAAIx4C,iBAAJ,CAAsBk5C,EAAtB,EAA0B,KAAKC,MAAL,CAAY/0C,GAAG,CAACjJ,IAAhB,EAAsBo7C,KAAK,CAAC/9C,UAA5B,CAA1B,EAAmExG,SAAnE,EAA8E,KAAKonD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAA9E,CAAP,CAAjC;AACH;;;WACD,qBAAYn1B,GAAZ,EAAiBo0C,IAAjB,EAAuB;AACnB,UAAIU,EAAJ;;AACA,cAAQ90C,GAAG,CAACouC,SAAZ;AACI,aAAK,GAAL;AACI0G,YAAE,GAAGjhD,cAAc,CAAC2B,IAApB;AACA;;AACJ,aAAK,GAAL;AACIs/C,YAAE,GAAGjhD,cAAc,CAAC0B,KAApB;AACA;;AACJ,aAAK,GAAL;AACIu/C,YAAE,GAAGjhD,cAAc,CAAC6B,QAApB;AACA;;AACJ,aAAK,GAAL;AACIo/C,YAAE,GAAGjhD,cAAc,CAAC4B,MAApB;AACA;;AACJ,aAAK,GAAL;AACIq/C,YAAE,GAAGjhD,cAAc,CAAC8B,MAApB;AACA;;AACJ,aAAK,IAAL;AACIm/C,YAAE,GAAGjhD,cAAc,CAAC+B,GAApB;AACA;;AACJ,aAAK,IAAL;AACIk/C,YAAE,GAAGjhD,cAAc,CAACkC,EAApB;AACA;;AACJ,aAAK,IAAL;AACI++C,YAAE,GAAGjhD,cAAc,CAACsB,MAApB;AACA;;AACJ,aAAK,IAAL;AACI2/C,YAAE,GAAGjhD,cAAc,CAACuB,SAApB;AACA;;AACJ,aAAK,KAAL;AACI0/C,YAAE,GAAGjhD,cAAc,CAACwB,SAApB;AACA;;AACJ,aAAK,KAAL;AACIy/C,YAAE,GAAGjhD,cAAc,CAACyB,YAApB;AACA;;AACJ,aAAK,GAAL;AACIw/C,YAAE,GAAGjhD,cAAc,CAACmC,KAApB;AACA;;AACJ,aAAK,GAAL;AACI8+C,YAAE,GAAGjhD,cAAc,CAACqC,MAApB;AACA;;AACJ,aAAK,IAAL;AACI4+C,YAAE,GAAGjhD,cAAc,CAACoC,WAApB;AACA;;AACJ,aAAK,IAAL;AACI6+C,YAAE,GAAGjhD,cAAc,CAACsC,YAApB;AACA;;AACJ;AACI,gBAAM,IAAI/P,KAAJ,iCAAmC4Z,GAAG,CAACouC,SAAvC,EAAN;AA/CR;;AAiDA,aAAOkG,0BAA0B,CAACF,IAAD,EAAO,IAAIl/C,kBAAJ,CAAuB4/C,EAAvB,EAA2B,KAAKC,MAAL,CAAY/0C,GAAG,CAACquC,IAAhB,EAAsB8D,KAAK,CAAC/9C,UAA5B,CAA3B,EAAoE,KAAK2gD,MAAL,CAAY/0C,GAAG,CAACsuC,KAAhB,EAAuB6D,KAAK,CAAC/9C,UAA7B,CAApE,EAA8GxG,SAA9G,EAAyH,KAAKonD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAAzH,CAAP,CAAjC;AACH;;;WACD,oBAAWn1B,GAAX,EAAgBo0C,IAAhB,EAAsB;AAClBD,yBAAmB,CAACC,IAAD,EAAOp0C,GAAP,CAAnB;AACA,aAAO,KAAKokB,QAAL,CAAcpkB,GAAG,CAAChH,WAAlB,EAA+Bo7C,IAA/B,CAAP;AACH;;;WACD,0BAAiBp0C,GAAjB,EAAsBo0C,IAAtB,EAA4B;AACxB,UAAM9qD,KAAK,GAAG,KAAKyrD,MAAL,CAAY/0C,GAAG,CAACjF,SAAhB,EAA2Bo3C,KAAK,CAAC/9C,UAAjC,CAAd;;AACA,aAAOkgD,0BAA0B,CAACF,IAAD,EAAO9qD,KAAK,CAAC2rD,WAAN,CAAkB,KAAKF,MAAL,CAAY/0C,GAAG,CAAC4sC,OAAhB,EAAyBuF,KAAK,CAAC/9C,UAA/B,CAAlB,EAA8D,KAAK2gD,MAAL,CAAY/0C,GAAG,CAAC6sC,QAAhB,EAA0BsF,KAAK,CAAC/9C,UAAhC,CAA9D,EAA2G,KAAK4gD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAA3G,CAAP,CAAjC;AACH;;;WACD,mBAAUn1B,GAAV,EAAeo0C,IAAf,EAAqB;AACjB,YAAM,IAAIhuD,KAAJ,iFAAmF4Z,GAAG,CAACnY,IAAvF,EAAN;AACH;;;WACD,2BAAkBmY,GAAlB,EAAuBo0C,IAAvB,EAA6B;AACzB,UAAMc,aAAa,GAAG,KAAK9wB,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBwiD,KAAK,CAAC/9C,UAA9B,CAAtB;AACA,UAAI+gD,QAAJ;;AACA,UAAIn1C,GAAG,YAAYw0C,mBAAnB,EAAwC;AACpCW,gBAAQ,GAAGn1C,GAAG,CAACygC,SAAJ,CAAcyU,aAAd,CAAX;AACH,OAFD,MAGK;AACDC,gBAAQ,GAAG,KAAKJ,MAAL,CAAY/0C,GAAG,CAACsiB,MAAhB,EAAwB6vB,KAAK,CAAC/9C,UAA9B,EACN+V,MADM,CACC+qC,aADD,EACgB,KAAKF,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CADhB,CAAX;AAEH;;AACD,aAAOmf,0BAA0B,CAACF,IAAD,EAAOe,QAAP,CAAjC;AACH;;;WACD,+BAAsBn1C,GAAtB,EAA2Bo0C,IAA3B,EAAiC;AAC7BC,0BAAoB,CAACD,IAAD,EAAOp0C,GAAP,CAApB;AACA,WAAKsyC,oBAAL,GAA4B,IAA5B;AACA,aAAO,KAAKoC,iBAAZ;AACH;;;WACD,2BAAkB10C,GAAlB,EAAuBo0C,IAAvB,EAA6B;AACzB,aAAO,KAAK/H,qBAAL,CAA2BrsC,GAA3B,EAAgCo0C,IAAhC,CAAP;AACH;;;WACD,4BAAmBp0C,GAAnB,EAAwBo0C,IAAxB,EAA8B;AAC1BC,0BAAoB,CAACD,IAAD,EAAOp0C,GAAP,CAApB;AACA,UAAMrQ,IAAI,GAAG,CAACwT,OAAO,CAACnD,GAAG,CAAChH,WAAJ,CAAgBrR,MAAjB,CAAR,CAAb;;AACA,WAAK,IAAIqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgX,GAAG,CAAC6xB,OAAJ,CAAYlqC,MAAZ,GAAqB,CAAzC,EAA4CqB,CAAC,EAA7C,EAAiD;AAC7C2G,YAAI,CAACvG,IAAL,CAAU+Z,OAAO,CAACnD,GAAG,CAAC6xB,OAAJ,CAAY7oC,CAAZ,CAAD,CAAjB;AACA2G,YAAI,CAACvG,IAAL,CAAU,KAAK2rD,MAAL,CAAY/0C,GAAG,CAAChH,WAAJ,CAAgBhQ,CAAhB,CAAZ,EAAgCmpD,KAAK,CAAC/9C,UAAtC,CAAV;AACH;;AACDzE,UAAI,CAACvG,IAAL,CAAU+Z,OAAO,CAACnD,GAAG,CAAC6xB,OAAJ,CAAY7xB,GAAG,CAAC6xB,OAAJ,CAAYlqC,MAAZ,GAAqB,CAAjC,CAAD,CAAjB;;AACA,UAAI,KAAK0pD,qBAAT,EAAgC;AAC5B,eAAO,KAAKA,qBAAL,CAA2B1hD,IAA3B,CAAP;AACH;;AACD,aAAOqQ,GAAG,CAAChH,WAAJ,CAAgBrR,MAAhB,IAA0B,CAA1B,GACH0a,UAAU,CAACyJ,WAAW,CAAC0B,iBAAb,CAAV,CAA0CrD,MAA1C,CAAiDxa,IAAjD,CADG,GAEH0S,UAAU,CAACyJ,WAAW,CAAC2B,WAAb,CAAV,CAAoCtD,MAApC,CAA2C,CACvCxa,IAAI,CAAC,CAAD,CADmC,EAC9BgT,UAAU,CAAChT,IAAI,CAACtJ,KAAL,CAAW,CAAX,CAAD,EAAgBuH,SAAhB,EAA2B,KAAKonD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAA3B,CADoB,CAA3C,CAFJ;AAKH;;;WACD,wBAAen1B,GAAf,EAAoBo0C,IAApB,EAA0B;AACtB,UAAMgB,YAAY,GAAG,KAAKC,gBAAL,CAAsBr1C,GAAtB,CAArB;;AACA,UAAIo1C,YAAJ,EAAkB;AACd,eAAO,KAAKE,iBAAL,CAAuBt1C,GAAvB,EAA4Bo1C,YAA5B,EAA0ChB,IAA1C,CAAP;AACH,OAFD,MAGK;AACD,eAAOE,0BAA0B,CAACF,IAAD,EAAO,KAAKW,MAAL,CAAY/0C,GAAG,CAACjP,GAAhB,EAAqBohD,KAAK,CAAC/9C,UAA3B,EAAuCoI,GAAvC,CAA2C,KAAKu4C,MAAL,CAAY/0C,GAAG,CAACxD,GAAhB,EAAqB21C,KAAK,CAAC/9C,UAA3B,CAA3C,CAAP,CAAjC;AACH;AACJ;;;WACD,yBAAgB4L,GAAhB,EAAqBo0C,IAArB,EAA2B;AACvB,UAAMrjD,GAAG,GAAG,KAAKgkD,MAAL,CAAY/0C,GAAG,CAACjP,GAAhB,EAAqBohD,KAAK,CAAC/9C,UAA3B,CAAZ;;AACA,UAAMoI,GAAG,GAAG,KAAKu4C,MAAL,CAAY/0C,GAAG,CAACxD,GAAhB,EAAqB21C,KAAK,CAAC/9C,UAA3B,CAAZ;;AACA,UAAM9K,KAAK,GAAG,KAAKyrD,MAAL,CAAY/0C,GAAG,CAAC1W,KAAhB,EAAuB6oD,KAAK,CAAC/9C,UAA7B,CAAd;;AACA,aAAOkgD,0BAA0B,CAACF,IAAD,EAAOrjD,GAAG,CAACyL,GAAJ,CAAQA,GAAR,EAAatQ,GAAb,CAAiB5C,KAAjB,CAAP,CAAjC;AACH;;;WACD,2BAAkB0W,GAAlB,EAAuBo0C,IAAvB,EAA6B;AACzB,YAAM,IAAIhuD,KAAJ,2EAAN;AACH;;;WACD,yBAAgB4Z,GAAhB,EAAqBo0C,IAArB,EAA2B;AACvB,YAAM,IAAIhuD,KAAJ,yEAAN;AACH;;;WACD,+BAAsB4Z,GAAtB,EAA2Bo0C,IAA3B,EAAiC;AAC7B;AACA;AACA,UAAM//C,IAAI,GAAG2L,GAAG,CAAC1W,KAAJ,KAAc,IAAd,IAAsB0W,GAAG,CAAC1W,KAAJ,KAAcsE,SAApC,IAAiDoS,GAAG,CAAC1W,KAAJ,KAAc,IAA/D,IAAuE0W,GAAG,CAAC1W,KAAJ,KAAc,IAArF,GACTyJ,aADS,GAETnF,SAFJ;AAGA,aAAO0mD,0BAA0B,CAACF,IAAD,EAAOjxC,OAAO,CAACnD,GAAG,CAAC1W,KAAL,EAAY+K,IAAZ,EAAkB,KAAK2gD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAAlB,CAAd,CAAjC;AACH;;;WACD,mBAAUttC,IAAV,EAAgB8P,QAAhB,EAA0B;AACtB,UAAIzP,EAAJ;;AACA,UAAI,CAAC,CAACA,EAAE,GAAG,KAAKusD,cAAL,CAAoBjD,OAA1B,MAAuC,IAAvC,IAA+CtpD,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAACitB,GAAH,CAAOttB,IAAP,CAAzE,KAA0F8P,QAAQ,YAAY20C,YAAlH,EAAgI;AAC5H,eAAO,IAAP;AACH;;AACD,aAAO,KAAKmI,cAAL,CAAoBc,QAApB,CAA6B1tD,IAA7B,CAAP;AACH;;;WACD,yBAAgBmY,GAAhB,EAAqBo0C,IAArB,EAA2B;AACvB,UAAIp0C,GAAG,CAACrI,QAAJ,YAAwBy0C,gBAAxB,IACA,EAAEpsC,GAAG,CAACrI,QAAJ,YAAwB20C,YAA1B,CADA,IAC2CtsC,GAAG,CAACnY,IAAJ,KAAa,MAD5D,EACoE;AAChE,YAAM8H,IAAI,GAAG,KAAKy0B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBwiD,KAAK,CAAC/9C,UAA9B,CAAb;;AACA,YAAIzE,IAAI,CAAChI,MAAL,IAAe,CAAnB,EAAsB;AAClB,gBAAM,IAAIvB,KAAJ,kEAAoEuJ,IAAI,CAAChI,MAAL,IAAe,MAAnF,EAAN;AACH;;AACD,eAAOgI,IAAI,CAAC,CAAD,CAAJ,CAAQkjD,IAAR,CAAahgD,YAAb,EAA2B,KAAKmiD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAA3B,CAAP;AACH;;AACD,UAAMigB,YAAY,GAAG,KAAKC,gBAAL,CAAsBr1C,GAAtB,CAArB;;AACA,UAAIo1C,YAAJ,EAAkB;AACd,eAAO,KAAKE,iBAAL,CAAuBt1C,GAAvB,EAA4Bo1C,YAA5B,EAA0ChB,IAA1C,CAAP;AACH,OAFD,MAGK;AACD,YAAMzkD,KAAI,GAAG,KAAKy0B,QAAL,CAAcpkB,GAAG,CAACrQ,IAAlB,EAAwBwiD,KAAK,CAAC/9C,UAA9B,CAAb;;AACA,YAAMohD,wBAAwB,GAAG,KAAKlD,oBAAtC;AACA,YAAInpD,MAAM,GAAG,IAAb;;AACA,YAAMwO,QAAQ,GAAG,KAAKo9C,MAAL,CAAY/0C,GAAG,CAACrI,QAAhB,EAA0Bw6C,KAAK,CAAC/9C,UAAhC,CAAjB;;AACA,YAAIuD,QAAQ,KAAK,KAAK+8C,iBAAtB,EAAyC;AACrC,cAAMe,OAAO,GAAG,KAAKC,SAAL,CAAe11C,GAAG,CAACnY,IAAnB,EAAyBmY,GAAG,CAACrI,QAA7B,CAAhB;;AACA,cAAI89C,OAAJ,EAAa;AACT;AACA;AACA,iBAAKnD,oBAAL,GAA4BkD,wBAA5B;AACArsD,kBAAM,GAAGssD,OAAO,CAACtrC,MAAR,CAAexa,KAAf,CAAT;AACA,iBAAKgmD,yBAAL,CAA+B31C,GAAG,CAACnY,IAAnC;AACH;AACJ;;AACD,YAAIsB,MAAM,IAAI,IAAd,EAAoB;AAChBA,gBAAM,GAAGwO,QAAQ,CAAC4hC,UAAT,CAAoBv5B,GAAG,CAACnY,IAAxB,EAA8B8H,KAA9B,EAAoC,KAAKqlD,iBAAL,CAAuBh1C,GAAG,CAACm1B,IAA3B,CAApC,CAAT;AACH;;AACD,eAAOmf,0BAA0B,CAACF,IAAD,EAAOjrD,MAAP,CAAjC;AACH;AACJ;;;WACD,wBAAe6W,GAAf,EAAoBo0C,IAApB,EAA0B;AACtB,aAAOE,0BAA0B,CAACF,IAAD,EAAOtxC,GAAG,CAAC,KAAKiyC,MAAL,CAAY/0C,GAAG,CAACgJ,UAAhB,EAA4BmpC,KAAK,CAAC/9C,UAAlC,CAAD,CAAV,CAAjC;AACH;;;WACD,4BAAmB4L,GAAnB,EAAwBo0C,IAAxB,EAA8B;AAC1B,aAAOE,0BAA0B,CAACF,IAAD,EAAOrxC,aAAa,CAAC,KAAKgyC,MAAL,CAAY/0C,GAAG,CAACgJ,UAAhB,EAA4BmpC,KAAK,CAAC/9C,UAAlC,CAAD,CAApB,CAAjC;AACH;;;WACD,2BAAkB4L,GAAlB,EAAuBo0C,IAAvB,EAA6B;AACzB,UAAMgB,YAAY,GAAG,KAAKC,gBAAL,CAAsBr1C,GAAtB,CAArB;;AACA,UAAIo1C,YAAJ,EAAkB;AACd,eAAO,KAAKE,iBAAL,CAAuBt1C,GAAvB,EAA4Bo1C,YAA5B,EAA0ChB,IAA1C,CAAP;AACH,OAFD,MAGK;AACD,YAAIjrD,MAAM,GAAG,IAAb;AACA,YAAMqsD,wBAAwB,GAAG,KAAKlD,oBAAtC;;AACA,YAAM36C,QAAQ,GAAG,KAAKo9C,MAAL,CAAY/0C,GAAG,CAACrI,QAAhB,EAA0Bw6C,KAAK,CAAC/9C,UAAhC,CAAjB;;AACA,YAAIuD,QAAQ,KAAK,KAAK+8C,iBAAtB,EAAyC;AACrCvrD,gBAAM,GAAG,KAAKusD,SAAL,CAAe11C,GAAG,CAACnY,IAAnB,EAAyBmY,GAAG,CAACrI,QAA7B,CAAT;;AACA,cAAIxO,MAAJ,EAAY;AACR;AACA;AACA,iBAAKmpD,oBAAL,GAA4BkD,wBAA5B;AACA,iBAAKG,yBAAL,CAA+B31C,GAAG,CAACnY,IAAnC;AACH;AACJ;;AACD,YAAIsB,MAAM,IAAI,IAAd,EAAoB;AAChBA,gBAAM,GAAGwO,QAAQ,CAACsK,IAAT,CAAcjC,GAAG,CAACnY,IAAlB,CAAT;AACH;;AACD,eAAOysD,0BAA0B,CAACF,IAAD,EAAOjrD,MAAP,CAAjC;AACH;AACJ;;;WACD,4BAAmB6W,GAAnB,EAAwBo0C,IAAxB,EAA8B;AAC1B,UAAMz8C,QAAQ,GAAG,KAAKo9C,MAAL,CAAY/0C,GAAG,CAACrI,QAAhB,EAA0Bw6C,KAAK,CAAC/9C,UAAhC,CAAjB;;AACA,UAAMohD,wBAAwB,GAAG,KAAKlD,oBAAtC;AACA,UAAImD,OAAO,GAAG,IAAd;;AACA,UAAI99C,QAAQ,KAAK,KAAK+8C,iBAAtB,EAAyC;AACrC,YAAMkB,SAAS,GAAG,KAAKF,SAAL,CAAe11C,GAAG,CAACnY,IAAnB,EAAyBmY,GAAG,CAACrI,QAA7B,CAAlB;;AACA,YAAIi+C,SAAJ,EAAe;AACX,cAAIA,SAAS,YAAYrhD,YAAzB,EAAuC;AACnC;AACA;AACA;AACAkhD,mBAAO,GAAGG,SAAV,CAJmC,CAKnC;AACA;;AACA,iBAAKtD,oBAAL,GAA4BkD,wBAA5B;AACA,iBAAKG,yBAAL,CAA+B31C,GAAG,CAACnY,IAAnC;AACH,WATD,MAUK;AACD;AACA,gBAAM8P,SAAQ,GAAGqI,GAAG,CAACnY,IAArB;AACA,gBAAMyB,KAAK,GAAI0W,GAAG,CAAC1W,KAAJ,YAAqByjD,YAAtB,GAAsC/sC,GAAG,CAAC1W,KAAJ,CAAUzB,IAAhD,GAAuD+F,SAArE;AACA,kBAAM,IAAIxH,KAAJ,iCAAkCkD,KAAlC,uCAAkEqO,SAAlE,2CAAN;AACH;AACJ;AACJ,OAxByB,CAyB1B;AACA;;;AACA,UAAI89C,OAAO,KAAK,IAAhB,EAAsB;AAClBA,eAAO,GAAG99C,QAAQ,CAACsK,IAAT,CAAcjC,GAAG,CAACnY,IAAlB,CAAV;AACH;;AACD,aAAOysD,0BAA0B,CAACF,IAAD,EAAOqB,OAAO,CAACvpD,GAAR,CAAY,KAAK6oD,MAAL,CAAY/0C,GAAG,CAAC1W,KAAhB,EAAuB6oD,KAAK,CAAC/9C,UAA7B,CAAZ,CAAP,CAAjC;AACH;;;WACD,+BAAsB4L,GAAtB,EAA2Bo0C,IAA3B,EAAiC;AAC7B,aAAO,KAAKkB,iBAAL,CAAuBt1C,GAAvB,EAA4B,KAAKq1C,gBAAL,CAAsBr1C,GAAtB,CAA5B,EAAwDo0C,IAAxD,CAAP;AACH;;;WACD,6BAAoBp0C,GAApB,EAAyBo0C,IAAzB,EAA+B;AAC3B,aAAO,KAAKkB,iBAAL,CAAuBt1C,GAAvB,EAA4B,KAAKq1C,gBAAL,CAAsBr1C,GAAtB,CAA5B,EAAwDo0C,IAAxD,CAAP;AACH;;;WACD,kBAASvE,IAAT,EAAeuE,IAAf,EAAqB;AAAA;;AACjB,aAAOvE,IAAI,CAACxjD,GAAL,CAAS,UAAA2T,GAAG;AAAA,eAAI,QAAI,CAAC+0C,MAAL,CAAY/0C,GAAZ,EAAiBo0C,IAAjB,CAAJ;AAAA,OAAZ,CAAP;AACH;;;WACD,oBAAWp0C,GAAX,EAAgBo0C,IAAhB,EAAsB;AAClB,YAAM,IAAIhuD,KAAJ,wEACO4Z,GAAG,CAACgsC,uBADX,yBACiDhsC,GAAG,CAACisC,QADrD,EAAN;AAEH;;;WACD,gBAAOjsC,GAAP,EAAYo0C,IAAZ,EAAkB;AACd,UAAMjrD,MAAM,GAAG,KAAKyrD,UAAL,CAAgB3oD,GAAhB,CAAoB+T,GAApB,CAAf;;AACA,UAAI7W,MAAJ,EACI,OAAOA,MAAP;AACJ,aAAO,CAAC,KAAKwrD,QAAL,CAAc1oD,GAAd,CAAkB+T,GAAlB,KAA0BA,GAA3B,EAAgC+kB,KAAhC,CAAsC,IAAtC,EAA4CqvB,IAA5C,CAAP;AACH;;;WACD,2BAAkBp0C,GAAlB,EAAuBo1C,YAAvB,EAAqChB,IAArC,EAA2C;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAIyB,iBAAiB,GAAG,KAAKd,MAAL,CAAYK,YAAY,CAACz9C,QAAzB,EAAmCw6C,KAAK,CAAC/9C,UAAzC,CAAxB;;AACA,UAAI0hD,SAAS,GAAGloD,SAAhB;;AACA,UAAI,KAAKmoD,cAAL,CAAoBX,YAAY,CAACz9C,QAAjC,CAAJ,EAAgD;AAC5C;AACA;AACAm+C,iBAAS,GAAG,KAAKE,iBAAL,EAAZ,CAH4C,CAI5C;;AACAH,yBAAiB,GAAGC,SAAS,CAAC5pD,GAAV,CAAc2pD,iBAAd,CAApB,CAL4C,CAM5C;;AACA,aAAKjB,UAAL,CAAgB1oD,GAAhB,CAAoBkpD,YAAY,CAACz9C,QAAjC,EAA2Cm+C,SAA3C;AACH;;AACD,UAAM/6C,SAAS,GAAG86C,iBAAiB,CAACI,OAAlB,EAAlB,CA/CuC,CAgDvC;AACA;;AACA,UAAIb,YAAY,YAAYjG,cAA5B,EAA4C;AACxC,aAAKwF,QAAL,CAAczoD,GAAd,CAAkBkpD,YAAlB,EAAgC,IAAInG,UAAJ,CAAemG,YAAY,CAACjgB,IAA5B,EAAkCigB,YAAY,CAAC9gD,UAA/C,EAA2D8gD,YAAY,CAACtJ,QAAxE,EAAkFsJ,YAAY,CAACz9C,QAA/F,EAAyGy9C,YAAY,CAACvtD,IAAtH,EAA4HutD,YAAY,CAACzlD,IAAzI,CAAhC;AACH,OAFD,MAGK;AACD,aAAKglD,QAAL,CAAczoD,GAAd,CAAkBkpD,YAAlB,EAAgC,IAAIrI,YAAJ,CAAiBqI,YAAY,CAACjgB,IAA9B,EAAoCigB,YAAY,CAAC9gD,UAAjD,EAA6D8gD,YAAY,CAACtJ,QAA1E,EAAoFsJ,YAAY,CAACz9C,QAAjG,EAA2Gy9C,YAAY,CAACvtD,IAAxH,CAAhC;AACH,OAvDsC,CAwDvC;;;AACA,UAAMquD,MAAM,GAAG,KAAKnB,MAAL,CAAY/0C,GAAZ,EAAiBmyC,KAAK,CAAC/9C,UAAvB,CAAf,CAzDuC,CA0DvC;AACA;;;AACA,WAAKugD,QAAL,CAAcwB,MAAd,CAAqBf,YAArB,EA5DuC,CA6DvC;;;AACA,UAAIU,SAAJ,EAAe;AACX,aAAKM,gBAAL,CAAsBN,SAAtB;AACH,OAhEsC,CAiEvC;;;AACA,aAAOxB,0BAA0B,CAACF,IAAD,EAAOr5C,SAAS,CAACk6C,WAAV,CAAsB9xC,OAAO,CAAC,IAAD,CAA7B,EAAqC+yC,MAArC,CAAP,CAAjC;AACH,K,CACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACA,0BAAiBl2C,GAAjB,EAAsB;AAAA;;AAClB,UAAM+kB,KAAK,GAAG,SAARA,KAAQ,CAAC9yB,OAAD,EAAU+N,GAAV,EAAkB;AAC5B,eAAO,CAAC,QAAI,CAAC20C,QAAL,CAAc1oD,GAAd,CAAkB+T,GAAlB,KAA0BA,GAA3B,EAAgC+kB,KAAhC,CAAsC9yB,OAAtC,CAAP;AACH,OAFD;;AAGA,aAAO+N,GAAG,CAAC+kB,KAAJ,CAAU;AACb6pB,kBADa,sBACF5uC,GADE,EACG;AACZ,iBAAO,IAAP;AACH,SAHY;AAIbuuC,mBAJa,uBAIDvuC,GAJC,EAII;AACb,iBAAO,IAAP;AACH,SANY;AAOb0sC,kBAPa,sBAOF1sC,GAPE,EAOG;AACZ,iBAAO,IAAP;AACH,SATY;AAUb8sC,wBAVa,4BAUI9sC,GAVJ,EAUS;AAClB,iBAAO,IAAP;AACH,SAZY;AAabsvC,yBAba,6BAaKtvC,GAbL,EAaU;AACnB,iBAAO,IAAP;AACH,SAfY;AAgBbqsC,6BAhBa,iCAgBSrsC,GAhBT,EAgBc;AACvB,iBAAO,IAAP;AACH,SAlBY;AAmBbusC,yBAnBa,6BAmBKvsC,GAnBL,EAmBU;AACnB,iBAAO,IAAP;AACH,SArBY;AAsBbkuC,0BAtBa,8BAsBMluC,GAtBN,EAsBW;AACpB,iBAAO,IAAP;AACH,SAxBY;AAyBbstC,sBAzBa,0BAyBEttC,GAzBF,EAyBO;AAChB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACjP,GAAX,CAAZ;AACH,SA3BY;AA4Bby8C,uBA5Ba,2BA4BGxtC,GA5BH,EA4BQ;AACjB,iBAAO,IAAP;AACH,SA9BY;AA+Bb8tC,yBA/Ba,6BA+BK9tC,GA/BL,EA+BU;AACnB,iBAAO,IAAP;AACH,SAjCY;AAkCbguC,uBAlCa,2BAkCGhuC,GAlCH,EAkCQ;AACjB,iBAAO,IAAP;AACH,SApCY;AAqCb4tC,6BArCa,iCAqCS5tC,GArCT,EAqCc;AACvB,iBAAO,IAAP;AACH,SAvCY;AAwCbkvC,uBAxCa,2BAwCGlvC,GAxCH,EAwCQ;AACjB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACrI,QAAX,CAAZ;AACH,SA1CY;AA2Cb+1C,iBA3Ca,qBA2CH1tC,GA3CG,EA2CE;AACX,iBAAO,IAAP;AACH,SA7CY;AA8Cb8uC,sBA9Ca,0BA8CE9uC,GA9CF,EA8CO;AAChB,iBAAO,IAAP;AACH,SAhDY;AAiDbgvC,0BAjDa,8BAiDMhvC,GAjDN,EAiDW;AACpB,iBAAO,IAAP;AACH,SAnDY;AAoDbgtC,yBApDa,6BAoDKhtC,GApDL,EAoDU;AACnB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACrI,QAAX,CAAZ;AACH,SAtDY;AAuDbu1C,0BAvDa,8BAuDMltC,GAvDN,EAuDW;AACpB,iBAAO,IAAP;AACH,SAzDY;AA0DbksC,kBA1Da,sBA0DFlsC,GA1DE,EA0DG;AACZ,iBAAO,IAAP;AACH,SA5DY;AA6DbovC,2BA7Da,+BA6DOpvC,GA7DP,EA6DY;AACrB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACrI,QAAX,CAAL,IAA6BqI,GAApC;AACH,SA/DY;AAgEbotC,6BAhEa,iCAgESptC,GAhET,EAgEc;AACvB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACrI,QAAX,CAAL,IAA6BqI,GAApC;AACH;AAlEY,OAAV,CAAP;AAoEH,K,CACD;AACA;AACA;;;;WACA,wBAAeA,GAAf,EAAoB;AAAA;;AAChB,UAAM+kB,KAAK,GAAG,SAARA,KAAQ,CAAC9yB,OAAD,EAAU+N,GAAV,EAAkB;AAC5B,eAAOA,GAAG,IAAI,CAAC,QAAI,CAAC20C,QAAL,CAAc1oD,GAAd,CAAkB+T,GAAlB,KAA0BA,GAA3B,EAAgC+kB,KAAhC,CAAsC9yB,OAAtC,CAAd;AACH,OAFD;;AAGA,UAAMokD,SAAS,GAAG,SAAZA,SAAY,CAACpkD,OAAD,EAAU+N,GAAV,EAAkB;AAChC,eAAOA,GAAG,CAACyF,IAAJ,CAAS,UAAAzF,GAAG;AAAA,iBAAI+kB,KAAK,CAAC9yB,OAAD,EAAU+N,GAAV,CAAT;AAAA,SAAZ,CAAP;AACH,OAFD;;AAGA,aAAOA,GAAG,CAAC+kB,KAAJ,CAAU;AACb6pB,kBADa,sBACF5uC,GADE,EACG;AACZ,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACjJ,IAAX,CAAZ;AACH,SAHY;AAIbw3C,mBAJa,uBAIDvuC,GAJC,EAII;AACb,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACquC,IAAX,CAAL,IAAyBtpB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACsuC,KAAX,CAArC;AACH,SANY;AAOb5B,kBAPa,sBAOF1sC,GAPE,EAOG;AACZ,iBAAO,KAAP;AACH,SATY;AAUb8sC,wBAVa,4BAUI9sC,GAVJ,EAUS;AAClB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACjF,SAAX,CAAL,IAA8BgqB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAAC4sC,OAAX,CAAnC,IAA0D7nB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAAC6sC,QAAX,CAAtE;AACH,SAZY;AAabyC,yBAba,6BAaKtvC,GAbL,EAaU;AACnB,iBAAO,IAAP;AACH,SAfY;AAgBbqsC,6BAhBa,iCAgBSrsC,GAhBT,EAgBc;AACvB,iBAAO,KAAP;AACH,SAlBY;AAmBbusC,yBAnBa,6BAmBKvsC,GAnBL,EAmBU;AACnB,iBAAO,KAAP;AACH,SArBY;AAsBbkuC,0BAtBa,8BAsBMluC,GAtBN,EAsBW;AACpB,iBAAOq2C,SAAS,CAAC,IAAD,EAAOr2C,GAAG,CAAChH,WAAX,CAAhB;AACH,SAxBY;AAyBbs0C,sBAzBa,0BAyBEttC,GAzBF,EAyBO;AAChB,iBAAO,KAAP;AACH,SA3BY;AA4BbwtC,uBA5Ba,2BA4BGxtC,GA5BH,EA4BQ;AACjB,iBAAO,KAAP;AACH,SA9BY;AA+Bb8tC,yBA/Ba,6BA+BK9tC,GA/BL,EA+BU;AACnB,iBAAO,IAAP;AACH,SAjCY;AAkCbguC,uBAlCa,2BAkCGhuC,GAlCH,EAkCQ;AACjB,iBAAO,IAAP;AACH,SApCY;AAqCb4tC,6BArCa,iCAqCS5tC,GArCT,EAqCc;AACvB,iBAAO,KAAP;AACH,SAvCY;AAwCbkvC,uBAxCa,2BAwCGlvC,GAxCH,EAwCQ;AACjB,iBAAO,IAAP;AACH,SA1CY;AA2Cb0tC,iBA3Ca,qBA2CH1tC,GA3CG,EA2CE;AACX,iBAAO,IAAP;AACH,SA7CY;AA8Cb8uC,sBA9Ca,0BA8CE9uC,GA9CF,EA8CO;AAChB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACgJ,UAAX,CAAZ;AACH,SAhDY;AAiDbgmC,0BAjDa,8BAiDMhvC,GAjDN,EAiDW;AACpB,iBAAO+kB,KAAK,CAAC,IAAD,EAAO/kB,GAAG,CAACgJ,UAAX,CAAZ;AACH,SAnDY;AAoDbgkC,yBApDa,6BAoDKhtC,GApDL,EAoDU;AACnB,iBAAO,KAAP;AACH,SAtDY;AAuDbktC,0BAvDa,8BAuDMltC,GAvDN,EAuDW;AACpB,iBAAO,KAAP;AACH,SAzDY;AA0DbksC,kBA1Da,sBA0DFlsC,GA1DE,EA0DG;AACZ,iBAAO,KAAP;AACH,SA5DY;AA6DbovC,2BA7Da,+BA6DOpvC,GA7DP,EA6DY;AACrB,iBAAO,IAAP;AACH,SA/DY;AAgEbotC,6BAhEa,iCAgESptC,GAhET,EAgEc;AACvB,iBAAO,KAAP;AACH;AAlEY,OAAV,CAAP;AAoEH;;;WACD,6BAAoB;AAChB,UAAMs2C,UAAU,GAAG,KAAKzB,iBAAL,EAAnB;AACA,WAAKxC,cAAL,GAAsB9qB,IAAI,CAACC,GAAL,CAAS,KAAKqtB,iBAAd,EAAiC,KAAKxC,cAAtC,CAAtB;AACA,aAAO,IAAI57C,WAAJ,CAAgBu9C,aAAa,CAAC,KAAK5C,SAAN,EAAiBkF,UAAjB,CAA7B,CAAP;AACH;;;WACD,0BAAiBR,SAAjB,EAA4B;AACxB,WAAKjB,iBAAL;;AACA,UAAIiB,SAAS,CAACjuD,IAAV,IAAkBmsD,aAAa,CAAC,KAAK5C,SAAN,EAAiB,KAAKyD,iBAAtB,CAAnC,EAA6E;AACzE,cAAM,IAAIzuD,KAAJ,qBAAuB0vD,SAAS,CAACjuD,IAAjC,4BAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,2BAAkBstC,IAAlB,EAAwB;AACpB,UAAI,KAAKmc,cAAT,EAAyB;AACrB,YAAMjsB,MAAK,GAAG,KAAKisB,cAAL,CAAoBjsB,KAApB,CAA0BkxB,MAA1B,CAAiCphB,IAAI,CAAC9P,KAAtC,CAAd;;AACA,YAAMO,GAAG,GAAG,KAAK0rB,cAAL,CAAoBjsB,KAApB,CAA0BkxB,MAA1B,CAAiCphB,IAAI,CAACvP,GAAtC,CAAZ;AACA,YAAM2hB,SAAS,GAAG,KAAK+J,cAAL,CAAoB/J,SAApB,CAA8BgP,MAA9B,CAAqCphB,IAAI,CAAC9P,KAA1C,CAAlB;AACA,eAAO,IAAIiiB,eAAJ,CAAoBjiB,MAApB,EAA2BO,GAA3B,EAAgC2hB,SAAhC,CAAP;AACH,OALD,MAMK;AACD,eAAO,IAAP;AACH;AACJ;AACD;;;;WACA,mCAA0B1/C,IAA1B,EAAgC;AAC5B,UAAI,KAAK0pD,wBAAT,EAAmC;AAC/B,aAAKA,wBAAL,CAA8BnwC,GAA9B,CAAkCvZ,IAAlC;AACH;AACJ;;;;;;AAEL,SAASqqD,iBAAT,CAA2BtmC,GAA3B,EAAgC4qC,MAAhC,EAAwC;AACpC,MAAIlyC,KAAK,CAACC,OAAN,CAAcqH,GAAd,CAAJ,EAAwB;AACpBA,OAAG,CAAChkB,OAAJ,CAAY,UAACyY,KAAD;AAAA,aAAW6xC,iBAAiB,CAAC7xC,KAAD,EAAQm2C,MAAR,CAA5B;AAAA,KAAZ;AACH,GAFD,MAGK;AACDA,UAAM,CAACptD,IAAP,CAAYwiB,GAAZ;AACH;AACJ;;IACK6lC,oB;AACF,gCAAYD,OAAZ,EAAqB;AAAA;;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;;;WACD,qCAA4B,CAAG;;;WAC/B,kBAAS3pD,IAAT,EAAe;AACX,UAAIA,IAAI,KAAK+oD,gBAAgB,CAACnuB,KAAjB,CAAuB56B,IAApC,EAA0C;AACtC,eAAO+oD,gBAAgB,CAACnuB,KAAxB;AACH;;AACD,aAAO,IAAP;AACH;;;;;;AAEL,SAASixB,mBAAT,CAA6BtC,SAA7B,EAAwC;AACpC,SAAOhvC,QAAQ,mBAAYgvC,SAAZ,EAAf,CADoC,CACK;AAC5C;;AACD,SAASwB,uBAAT,CAAiCxB,SAAjC,EAA4C;AACxC,SAAOhvC,QAAQ,cAAOgvC,SAAP,EAAf;AACH;;AACD,SAASuB,yBAAT,CAAmC10C,IAAnC,EAAyC;AACrC,MAAIA,IAAI,YAAY1H,mBAApB,EAAyC;AACrC,WAAO0H,IAAI,CAAClH,IAAZ;AACH,GAFD,MAGK,IAAIkH,IAAI,YAAYI,eAApB,EAAqC;AACtC,WAAOJ,IAAI,CAAC3U,KAAZ;AACH;;AACD,SAAO,IAAP;AACH;;IACKkrD,mB;;;;;AACF,+BAAYrf,IAAZ,EAAkB7gC,UAAlB,EAA8B3E,IAA9B,EAAoC8wC,SAApC,EAA+C;AAAA;;AAAA;;AAC3C,mCAAMtL,IAAN,EAAY7gC,UAAZ,EAAwB,IAAxB,EAA8B3E,IAA9B;AACA,aAAKA,IAAL,GAAYA,IAAZ;AACA,aAAK8wC,SAAL,GAAiBA,SAAjB;AAH2C;AAI9C;;;EAL6B4O,Y;AAQlC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMoH,S;AACF,uBAAc;AAAA;;AACV,SAAKC,aAAL,GAAqB,I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CH;;AACD,SAASugF,SAAT,CAAmBvgF,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CACP6Q,OADE,CACM,aADN,EACqB,UAAA42D,CAAC,EAAI;AAC7B,WAAOA,CAAC,CAAChwC,MAAF,CAAS,CAAT,IAAc,GAAd,GAAoBgwC,CAAC,CAAChwC,MAAF,CAAS,CAAT,CAA3B;AACH,GAHM,EAIFj5B,WAJE,EAAP;AAKH;;AAED,IAAMqiF,cAAc,GAAG,YAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,kCAAkC,GAAG,CAA3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,c;AACF,0BAAYC,cAAZ,EAA4B;AAAA;;AACxB,SAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAKC,iBAAL,GAAyB,KAAzB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,WAAL,GAAmB,KAAnB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,iBAAL,GAAyB,IAAzB;AACA,SAAKC,kBAAL,GAA0B,IAA1B,CAnBwB,CAoBxB;AACA;;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,YAAL,GAAoB,IAAIpgF,GAAJ,EAApB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKqgF,aAAL,GAAqB,IAAIrgF,G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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,W;;;;;AACb;AAAQ;AAGL;AAAO;AAIU;AAKP;AAAO;AACU;AAEsB;AAC5C;AAAO;AACF;AAAO;AAKlB,yBAG6D;AAAA;;AAAA,QAFzD,SAEyD,uEAFxC,IAEwC;AAAA,QADzD,eACyD;AAAA,QAAzD,cAAyD;;AAAA;;AAC3D,gCAAM,cAAc,CAAC,eAAD,CAApB,EAAuC,mBAAmB,CAAC,cAAD,EAAiB,eAAjB,CAA1D;AACJ;;AA1BE,uBAAwB,EAAxB;;AA0BE,WAAK,eAAL,CAAqB,SAArB;;AACA,WAAK,kBAAL,CAAwB,eAAxB;;AACA,WAAK,gBAAL;;AACA,WAAK,sBAAL,CAA4B;AAC1B,cAAQ,EAAE,IADgB;AAEhC;AACM;AACM;AACM;AACZ,eAAS,EAAE,CAAC,CAAC;AANa,KAA5B;;AAL2D;AAa5D;AACH;AAEC;AACE;AACE;AACE;AACE;AACE;AACE;AAEH;AAAO;AAEV;AAAc;AAElB;AAAsB;AACE;AACE;AAEvB;AACK;AAAwB;AAEnB;AAEd;AAC4B;AAC3B;;;;;WADD,kBAAS,KAAT,EAKM;AAAA;;AAAA,UALe,OAKf,uEAAF,EAAE;AACH,WAAsB,KAAtB,GAA8B,KAAK,aAAL,GAAqB,KAAnD;;AACD,UAAI,KAAK,SAAL,CAAe,MAAf,IAAyB,OAAO,CAAC,qBAAR,K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AAN;AAAA,CAlBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMG,iBAAe,GAAG,MAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMa,O;;;;;AAoEX,mBACwB,MADxB,EAE+C,UAF/C,EAGqD,eAHrD,EAKmD,cALnD,EAKyF;AAAA;;AAAA;;AACvF;AAzEc,sBAAuB,IAAI,WAAJ,EAAvB;AAClB;;AAWE,0BAAc,KAAd;AACF;AAEK;AAAwB;AAMrB;AACiB;;AA2CE,qBAAS,IAAI,0DAAJ,EAAT;AASvB,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AACA,YAAK,aAAL,GAAqB,mBAAmB,CAAC,yKAAM,cAAP,CAAxC;AALuF;AAMxF;AACH;;;;;WAEE,qBAAY,OAAZ,EAAkC;AAChC,WAAK,eAAL;;AACA,UAAI,CAAC,KAAK,WAAV,EAAuB,KAAK,aAAL;;AACvB,UAAI,gBAAgB,OAApB,EAA6B;AAC3B,aAAK,eAAL,CAAqB,OAArB;AACD;;AAED,UAAI,iBAAiB,CAAC,OAAD,EAAU,KAAK,SAAf,CAArB,EAAgD;AAC9C,aAAK,YAAL,CAAkB,KAAK,KAAvB;;AACA,aAAK,SAAL,GAAiB,KAAK,KAAtB;AACD;AACF;AACH;;;;WAEE,u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AAC22J,MAAD,CAAf;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMqI,gBAAgB,GAAG;AACrBC,QAAM,EAAEC,YAAY,CAAC,IAAD,CADC;AAErBC,iBAAe,EAAE,IAFI;AAGrBC,wBAAsB,EAAE;AAHH,CAAzB;AAKA;AACA;AACA;AACA;AACA;;AACA,SAASC,+BAAT,GAA2C;AACvC,SAAOL,gBAAgB,CAACC,MAAjB,CAAwBj/J,MAAxB,KAAmC,IAA1C;AACH;;AACD,SAASs/J,oBAAT,GAAgC;AAC5B,SAAON,gBAAgB,CAACC,MAAjB,CAAwBM,iBAA/B;AACH;;AACD,SAASC,yBAAT,GAAqC;AACjCR,kBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASE,yBAAT,GAAqC;AACjCT,kBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;AAC1B,SAAOV,gBAAgB,CAACG,eAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,gBAAT,GAA4B;AACxBX,kBAAgB,CAACG,eAAjB,GAAmC,IAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,iBAAT,GAA6B;AACzBZ,kBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;AAChB,SAAOb,gBAAgB,CAACC,MAAjB,CAAwBpG,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASiH,QAAT,GAAoB;AAChB,SAAOd,gBAAgB,CAACC,MAAjB,CAAwBjN,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+N,aAAT,CAAuBC,aAAvB,EAAsC;AAClChB,kBAAgB,CAACC,MAAjB,CAAwBgB,YA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J,GAAG,CAACjc,CAAD,CAAH,GAAS,CAA5B;AACA,MAAMooH,IAAI,GAAGnsG,GAAG,CAACjc,CAAC,GAAG,CAAL,CAAhB;AACA,MAAM4uE,cAAc,GAAG0sG,UAAU,GAAG,CAACr/J,GAAG,CAACjc,CAAD,CAAP,GAAaic,GAAG,CAACjc,CAAD,CAAjD;AACA,MAAM0oE,SAAS,GAAGwwG,WAAW,CAACtqG,cAAD,CAA7B;;AACA,MAAI0sG,UAAJ,EAAgB;AACZ,QAAME,qBAAqB,GAAGtC,WAAW,CAACxM,KAAD,CAAX,IAAsB;AAAG;AAAvD,KADY,CAEZ;AACA;;AACA,QAAI8O,qBAAqB,GACpBtC,WAAW,CAACzL,mBAAD,CAAX,IAAoC;AAAG;AADxC,OAEA,CAACyL,WAAW,CAACxM,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsDuO,SAF1D,EAEqE;AACjE/B,iBAAW,CAACxM,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACAtkD,UAAI,CAAC5kE,IAAL,CAAUklB,SAAV;AACH;AACJ,GAVD,MAWK;AACD0/C,QAAI,CAAC5kE,IAAL,CAAUklB,SAAV;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM+yG,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,mB,GACF;AA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;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,c;AACF,0BAAY7/K,KAAZ,EAAmBwzD,OAAnB,EAA4B;AAAA;;AACxB,SAAKxzD,KAAL,GAAaA,KAAb;AACA;;AACA,SAAKmD,cAAL,GAAsB,gBAAtB;AACA,SAAKlD,KAAL,GAAaC,SAAb;;AACA,QAAI,OAAOszD,OAAP,IAAkB,QAAtB,EAAgC;AAC5B,OAAC,OAAOkvG,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACIlC,cAAc,CAAChtG,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;AACA;;AACA,WAAKkyG,iBAAL,GAAyBlyG,OAAzB;AACH,KAND,MAOK,IAAIA,OAAO,KAAKtzD,SAAhB,EAA2B;AAC5B,WAAKD,KAAL,GAAayf,kBAAkB,CAAC;AAC5B7f,aAAK,EAAE,IADqB;AAE5B+rC,kBAAU,EAAE4nB,OAAO,CAAC5nB,UAAR,IAAsB,MAFN;AAG5B3oC,eAAO,EAAEuwD,OAAO,CAACvwD;AAHW,OAAD,CAA/B;AAKH;AACJ;;;;WACD,oBAAW;AACP,sCAAyB,KAAKjD,KAA9B;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMqe,4BAA4B,GAAG,IAAIwhK,cAAJ,CAAmB,2BAAnB,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,K;;;;AAEN,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAC/jL,QAAD;A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AACH,KAFI,MAGA,IAAIA,aAAa,YAAYjiC,cAA7B,EAA6C;AAC9ChgL,WAAK,GAAGiiN,aAAR;AACH;AACJ;;AACDjiN,OAAK,GAAGyZ,iBAAiB,CAACzZ,KAAD,CAAzB;;AACA,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,WAAOgiN,iBAAiB,CAAChiN,KAAD,EAAQsqC,QAAR,EAAkBq2K,UAAlB,CAAxB;AACH,GAFD,MAGK;AACD,UAAMtB,iBAAiB,CAACvkK,UAAD,EAAa3zC,MAAb,CAAvB;AACH;AACJ;;AACD,SAAS66M,iBAAT,CAA2BhiN,KAA3B,EAAkCsqC,QAAlC,EAA4Cq2K,UAA5C,EAAwD;AACpD,SAAO,IAAID,oBAAJ,CAAyBd,aAAa,CAAClhN,GAAd,CAAkBsB,KAAlB,CAAzB,EAAmDsqC,QAAnD,EAA6Dq2K,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMuB,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,qBAAel9L,SAAf,EAA0B;AACtB,aAAOw8L,0BAA0B,CAACx8L,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,0BAAwBA,SAAxB,EAAmCxT,MAAnC,EAA2C;AACvC,UAAM2wM,2BAA2B,GAAGD,kBAAkB,CAACl3I,OAAnB,CAA2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ED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,WAAW,GAAG,EAApB;AACA,IAAMC,aAAa,GAAG,EAAtB,C,CACA;;AACA,IAAI,CAAC,OAAOhlD,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDiC,aAAa,EAApE,EAAwE;AACpE;AACA;AACA;AACApkK,QAAM,CAACwD,MAAP,CAAc0jN,WAAd,EAJoE,CAKpE;;AACAlnN,QAAM,CAACwD,MAAP,CAAc2jN,aAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,wBAAe;AACXitM,mBAAa,CAAC,KAAK46B,mBAAL,IAA4B,KAAK1pD,MAAlC,CAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS;AACL,WAAKA,MAAL,CAAY5V,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,WAAK4V,MAAL,CAAY5V,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB;AACZklC,2BAAqB,CAAC,KAAKtvB,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,EAAkC,KAAKp5K,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,0BAAiB;AACb4oM,4BAAsB,CAAC,KAAKxvB,MAAL,CAAY7V,KAAZ,CAAD,EAAqB,KAAK6V,MAA1B,EAAkC,KAAKp5K,OAAvC,CAAtB;AACH;;;WACD,kCAAyBkjO,KAAzB,EAAgC;AAC5B,U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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM4qE,sBAAsB,GAAG,IAAI5qE,cAAJ,CAAmB,sBAAnB,CAA/B;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM6qE,gBAAgB,GAAG,IAAI7qE,cAAJ,CAAmB,+BAAnB,CAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM/gB,O;;;;;;;WACF,aAAI/jI,OAAJ,EAAa;AACT;AACA27E,aAAO,CAACi0I,GAAR,CAAY5vN,OAAZ;AACH,K,CACD;;;;WACA,cAAKA,OAAL,EAAc;AACV;AACA27E,aAAO,CAAC7iC,IAAR,CAAa94C,OAAb;AACH;;;;;;AAEL+jI,OAAO,CAAC0G,IAAR,GAAe,SAASolF,eAAT,CAAyB7iN,CAAzB,EAA4B;AAAE,SAAO,KAAKA,CAAC,IAAI+2H,OAAV,GAAP;AAA8B,CAA3E;;AACAA,OAAO,CAAC7+J,KAAR,GAAgByf,kBAAkB,CAAC;AAAE7f,OAAK,EAAEi/J,OAAT;AAAkB77J,SAAO,EAAE67J,OAAO,CAAC0G;AAAnC,CAAD,CAAlC;AACA;;AAAc,CAAC,YAAY;AAAEnkJ,kBAAgB,CAACy9I,OAAD,EAAU,CAAC;AAChDn4J,QAAI,EAAE4kC;AAD0C,GAAD,CAAV,EAErC,IAFqC,EAE/B,IAF+B,CAAhB;AAEP,CAFR;AAId;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMs/M,WAAW,GAAG,IAAIhrE,cAAJ,CAAmB,UAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMirE,qBAAqB,GAAG,IAAIjrE,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMkrE,YAAY,GAAG,IAAIlrE,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMhgK,mBAAmB,GAAG,IAAIggK,cAAJ,CAAmB,oBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI98K,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;AACnCA,4BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMioP,6BAA6B,GAAG,IAAtC;AACA,IAAMC,4BAA4B,GAAG,KAArC;AACA,IAAMC,UAAU,GAAGF,6BAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;IACMG,4B,GACF,sCAAY7wG,eAAZ,EAA6BD,kBAA7B,EAAiD;AAAA;;AAC7C,OAAKC,eAAL,GAAuBA,eAAvB;AACA,OAAKD,kBAAL,GAA0BA,kBAA1B;AACH,C;;AAEL,SAAS+wG,WAAT,GAAuB;AACnB,QAAM,IAAI1yP,KAAJ,kCAAN;AACH;;AACD,IAAM2yP,oCAAoC,GAAGD,WAA7C;;AACA,IAAME,qCAAqC,GAAG,SAAxCA,qCAAwC,CAAUtwM,UAAV,EAAsB;AAChE,SAAO,IAAIqgM,iBAAJ,CAAsBrgM,UAAtB,CAAP;AACH,CAFD;;AAGA,IAAMuwM,0BAA0B,GAAGD,qCAAnC;AACA,IAAME,qCAAqC,GAAGJ,WAA9C;;AACA,IAAMK,sCAAsC,GAAG,SAAzCA,sCAAyC,CAAUzwM,UAAV,EAAsB;AACjE,SAAOhjC,OAAO,CAAC8yD,OAAR,CAAgBwgL,qCAAqC,CAACtwM,UAAD,CAArD,CAAP;AACH,CAFD;;AAGA,IAAM0wM,2BAA2B,GAAGD,sCAApC;AACA,IAAME,oDAAoD,GAAGP,WAA7D;;AACA,IAAMQ,qDAAqD,GAAG,SAAxDA,qDAAwD,CAAU5wM,UAAV,EAAsB;AAChF,MAAMs/F,eAAe,GAAGgxG,qCAAqC,CAACtwM,UAAD,CAA7D;AACA,MAAM77B,SAAS,GAAGioJ,cAAc,CAACpsH,UAAD,CAAhC;AACA,MAAMq/F,kBAAkB,GAAG+3C,aAAa,CAACjzK,SAAS,CAAC+7B,YAAX,CAAb,CACtB9yB,MADsB,CACf,UAACy7K,SAAD,EAAY6/C,WAAZ,EAA4B;AACpC,QAAM7tC,YAAY,GAAGhvC,eAAe,CAAC68E,WAAD,CAApC;AACA7tC,gBAAY,IAAIhS,SAAS,CAACnoM,IAAV,CAAe,IAAIi+O,kBAAJ,CAAuB9jC,YAAvB,CAAf,CAAhB;AACA,WAAOhS,SAAP;AACH,GAL0B,EAKxB,EALwB,CAA3B;AAMA,SAAO,IAAIsnD,4BAAJ,CAAiC7wG,eAAjC,EAAkDD,kBAAlD,CAAP;AACH,CAVD;;AAWA,IAAMwxG,0CAA0C,GAAGD,qDAAnD;AACA,IAAME,qDAAqD,GAAGV,WAA9D;;AACA,IAAMW,sDAAsD,GAAG,SAAzDA,sDAAyD,CAAU/wM,UAAV,EAAsB;AACjF,SAAOhjC,OAAO,CAAC8yD,OAAR,CAAgB8gL,qDAAqD,CAAC5wM,UAAD,CAArE,CAAP;AACH,CAFD;;AAGA,IAAMgxM,2CAA2C,GAAGD,sDAApD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACME,Q;AACF,sBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,SAAKC,iBAAL,GAAyBX,0BAAzB;AACA;AACR;AACA;;AACQ,SAAKY,kBAAL,GAA0BT,2BAA1B;AACA;AACR;AACA;;AACQ,SAAKU,iCAAL,GAAyCP,0CAAzC;AACA;AACR;AACA;;AACQ,SAAKQ,kCAAL,GAA0CL,2CAA1C;AACH;AACD;AACJ;AACA;;;;;WACI,sBAAa,CAAG;AAChB;AACJ;AACA;;;;WACI,uBAAcrlP,IAAd,EAAoB,CAAG;AACvB;AACJ;AACA;;;;WACI,qBAAYq0C,UAAZ,EAAwB;AACpB,aAAO96C,SAAP;AACH;;;;;;AAEL+rP,QAAQ,CAACzmF,IAAT,GAAgB,SAAS8mF,gBAAT,CAA0BvkN,CAA1B,EAA6B;AAAE,SAAO,KAAKA,CAAC,IAAIkkN,QAAV,GAAP;AAA+B,CAA9E;;AACAA,QAAQ,CAAChsP,KAAT,GAAiByf,kBAAkB,CAAC;AAAE7f,OAAK,EAAEosP,QAAT;AAAmBhpP,SAAO,EAAEgpP,QAAQ,CAACzmF;AAArC,CAAD,CAAnC;AACA;;AAAc,CAAC,YAAY;AAAEnkJ,kBAAgB,CAAC4qO,QAAD,EAAW,CAAC;AACjDtlP,QAAI,EAAE4kC;AAD2C,GAAD,CAAX,EAErC,YAAY;AAAE,WAAO,EAAP;AAAY,GAFW,EAET,IAFS,CAAhB;AAEe,CAF9B;AAGd;AACA;AACA;AACA;AACA;;;AACA,IAAMghN,gBAAgB,GAAG,IAAI1sE,cAAJ,CAAmB,iBAAnB,CAAzB;AACA;AACA;AACA;AACA;AACA;;IACM2sE,e;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM3kI,OAAO,GAAI;AAAA,SAAM7vG,OAAO,CAAC8yD,OAAR,CAAgB,CAAhB,CAAN;AAAA,CAAD,EAAhB;;AACA,SAAS2hL,iBAAT,CAA2BjiP,EAA3B,EAA+B;AAC3B,MAAI,OAAOkiP,IAAP,KAAgB,WAApB,EAAiC;AAC7B;AACA7kI,WAAO,CAAClwG,IAAR,CAAa,YAAM;AACfnN,QAAE,IAAIA,EAAE,CAACooD,KAAH,CAAS,IAAT,EAAe,IAAf,CAAN;AACH,KAFD;AAGH,GALD,MAMK;AACD85L,QAAI,CAACpwP,OAAL,CAAamwP,iBAAb,CAA+B,mBAA/B,EAAoDjiP,EAApD;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmiP,8BAAT,GAA0C;AACtC,MAAIC,2BAA2B,GAAGtyO,OAAO,CAAC,uBAAD,CAAzC;AACA,MAAIuyO,0BAA0B,GAAGvyO,OAAO,CAAC,sBAAD,CAAxC;;AACA,MAAI,OAAOoyO,IAAP,KAAgB,WAAhB,IAA+BE,2BAA/B,IAA8DC,0BAAlE,EAA8F;AAC1F;AACA;AACA,QAAMC,8BAA8B,GAAGF,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;AACA,QAAID,8BAAJ,EAAoC;AAChCF,iCAA2B,GAAGE,8BAA9B;AACH;;AACD,QAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;AACA,QAAIC,6BAAJ,EAAmC;AAC/BH,gCAA0B,GAAGG,6BAA7B;AACH;AACJ;;AACD,SAAO;AAAEJ,+BAA2B,EAA3BA,2BAAF;AAA+BC,8BAA0B,EAA1BA;AAA/B,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMI,M;AACF,yBAA0F;AAAA,sCAA5EC,oBAA4E;AAAA,QAA5EA,oBAA4E,sCAArD,KAAqD;AAAA,sCAA9CC,kCAA8C;AAAA,QA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;;;;;;;;;ACRP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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;AAAA;;AAA/D;AAAoB;AAA+C,C;;AAGxF,SAAS,WAAT,CAAqB,IAArB,EAA8B;AAC5B,SAAO,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAO,IAA9B;AACF;ACjSA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,I;AAOX,gBAAoB,cAApB,EAAsD,WAAtD,EAA8F;AAAA;;AAA1E;AANZ,oBAA2B,IAAI,WAAJ,EAA3B;AACA,4BAAqD,IAArD;AACA,4BAAqD,IAArD;AACA,wBAAqD,IAArD;AACA,wBAAqD,IAArD;AAGN,SAAK,gBAAL,GAAwB,WAAxB;AACD;AACH;AAEC;AACE;;;;;SACD,aACS,SADT,EACqB;AACnB,WAAK,QAAL,CAAc,SAAd,GAA0B,KAAK,QAAL,CAAc,IAAd,GAAqB,SAA/C;;AACA,WAAK,WAAL;AACD;AACH;AAEC;AACE;;;;SACD,aACa,WADb,EAC0D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pC,UAAI,KAAK,IAAI,IAAb,EAAmB,OAAO,IAAP;;AACnB,UAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,cAAM,wBAAwB,CAAC,aAAD,EAAgB,KAAhB,CAA9B;AACD;;AAED,aAAO,KAAK,CAAC,OAAN,CACH,gBADG,EACgB,aAAG;AAAA,eAAI,GAAG,CAAC,CAAD,CAAH,CAAO,WAAP,KAAuB,GAAG,CAAC,MAAJ,CAAW,CAAX,EAAc,WAAd,EAA3B;AAAA,OADnB,CAAP;AAED;;;;;;8BAhBF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;;AACpB,C;AAkBL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,a;;;;;;;WAOX,mBAAU,KAAV,EAAsC;AACpC,UAAI,KAAK,IAAI,IAAb,EAAmB,OAAO,IAAP;;AACnB,UAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,cAAM,wBAAwB,CAAC,aAAD,EAAgB,KAAhB,CAA9B;AACD;;AACD,aAAO,KAAK,CAAC,WAAN,EAAP;AACD;;;;;;8BAdF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;;AACpB,C;ACpGL;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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I,IAAX,EAAiB;AACf,YAAM,IAAI,KAAJ,uCAAyC,GAAzC,+BAAiE,CAAjE,EAAN;AACD;AACF;AACH;ACn0CA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,U;AA2DX,sBACY,MADZ,EACoC,KADpC,EAE2B,QAF3B,EAE6C,QAF7C,EAEkE,EAFlE,EAEgF;AAAA;;AADpE;AAAwB;AAP5B,oBAAkB,EAAlB;AACV;;AAGE,qBAAY,IAAI,6CAAJ,EAAZ;;AAKE,QAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,cAAQ,CAAC,YAAT,CAAsB,EAAE,CAAC,aAAzB,EAAwC,UAAxC,EAAoD,GAApD;AACD;AACF;AACH;;;;;WAEE,qBAAY,OAAZ,EAAkC;AACpC;AACI;AACA,WAAK,SAAL,CAAe,IAAf,CAAoB,IAApB;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AAEJ;;;;SAAH,aACe,QADf,EACoD;AAClD,UAAI,QAAQ,IAAI,IAAhB,EAAsB;AACpB,aAAK,QAAL,GAAgB,KAAK,CAAC,OAAN,CAAc,QAAd,IAA0B,QAA1B,GAAqC,CAAC,QAAD,CAArD;AACD,OAFD,MAEO;AACL,aAAK,QAAL,GAAgB,EAAhB;AACD;AACF;AACH;;;;WAGE,mBAAO;AACL,UAAM,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","file":"vendor.js","sourcesContent":["export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count = -1) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nclass RepeatOperator {\n constructor(count, source) {\n this.count = count;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n }\n}\nclass RepeatSubscriber extends Subscriber {\n constructor(destination, count, source) {\n super(destination);\n this.count = count;\n this.source = source;\n }\n complete() {\n if (!this.isStopped) {\n const { source, count } = this;\n if (count === 0) {\n return super.complete();\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n }\n}\n//# sourceMappingURL=repeat.js.map","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return (source) => source.lift(new DistinctOperator(keySelector, flushes));\n}\nclass DistinctOperator {\n constructor(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n }\n}\nexport class DistinctSubscriber extends SimpleOuterSubscriber {\n constructor(destination, keySelector, flushes) {\n super(destination);\n this.keySelector = keySelector;\n this.values = new Set();\n if (flushes) {\n this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(this)));\n }\n }\n notifyNext() {\n this.values.clear();\n }\n notifyError(error) {\n this._error(error);\n }\n _next(value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n }\n _useKeySelector(value) {\n let key;\n const { destination } = this;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n }\n _finalizeNext(key, value) {\n const { values } = this;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinct.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n//# sourceMappingURL=publishReplay.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith(...array) {\n return (source) => concat(source, of(...array));\n}\n//# sourceMappingURL=endWith.js.map","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n//# sourceMappingURL=takeUntil.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler = async) {\n return (source) => source.lift(new SampleTimeOperator(period, scheduler));\n}\nclass SampleTimeOperator {\n constructor(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n }\n}\nclass SampleTimeSubscriber extends Subscriber {\n constructor(destination, period, scheduler) {\n super(destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period }));\n }\n _next(value) {\n this.lastValue = value;\n this.hasValue = true;\n }\n notifyNext() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n }\n}\nfunction dispatchNotification(state) {\n let { subscriber, period } = state;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map","export function toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n}\n\nexport function toString(value: any): string {\n return (value !== undefined && value !== null) ? `${value}` : '';\n}\n\nexport function getValueInRange(value: number, max: number, min = 0): number {\n return Math.max(Math.min(value, max), min);\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: any): value is number {\n return !isNaN(toInteger(value));\n}\n\nexport function isInteger(value: any): value is number {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nexport function isDefined(value: any): boolean {\n return value !== undefined && value !== null;\n}\n\nexport function padNumber(value: number) {\n if (isNumber(value)) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n}\n\nexport function regExpEscape(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport function hasClassName(element: any, className: string): boolean {\n return element && element.className && element.className.split &&\n element.className.split(/\\s+/).indexOf(className) >= 0;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\n // Polyfill for ie10+\n\n if (!Element.prototype.matches) {\n // IE uses the non-standard name: msMatchesSelector\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s: string) {\n let el = this;\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (el.matches(s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n\nexport function closest(element: HTMLElement, selector): HTMLElement {\n if (!selector) {\n return null;\n }\n\n return element.closest(selector);\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [NgbAccordion](#/components/accordion/api#NgbAccordion) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all accordions used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAccordionConfig {\n closeOthers = false;\n type: string;\n}\n","import {\n AfterContentChecked,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Host,\n Input,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {isString} from '../util/util';\n\nimport {NgbAccordionConfig} from './accordion-config';\n\nlet nextId = 0;\n\n/**\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\n *\n * @since 4.1.0\n */\nexport interface NgbPanelHeaderContext {\n /**\n * `True` if current panel is opened\n */\n opened: boolean;\n}\n\n/**\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\n *\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPanelHeader]'})\nexport class NgbPanelHeader {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps only the panel title with HTML markup inside.\n *\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\n */\n@Directive({selector: 'ng-template[ngbPanelTitle]'})\nexport class NgbPanelTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps the accordion panel content.\n */\n@Directive({selector: 'ng-template[ngbPanelContent]'})\nexport class NgbPanelContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\n@Directive({selector: 'ngb-panel'})\nexport class NgbPanel implements AfterContentChecked {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n @Input() disabled = false;\n\n /**\n * An optional id for the panel that must be unique on the page.\n *\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\n */\n @Input() id = `ngb-panel-${nextId++}`;\n\n isOpen = false;\n\n /**\n * The panel title.\n *\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\n */\n @Input() title: string;\n\n /**\n * Type of the current panel.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An optional class applied to the accordion card element that wraps both panel title and content.\n *\n * @since 5.3.0\n */\n @Input() cardClass: string;\n\n titleTpl: NgbPanelTitle | null;\n headerTpl: NgbPanelHeader | null;\n contentTpl: NgbPanelContent | null;\n\n @ContentChildren(NgbPanelTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbPanelHeader, {descendants: false}) headerTpls: QueryList;\n @ContentChildren(NgbPanelContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.headerTpl = this.headerTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * An event emitted right before toggling an accordion panel.\n */\nexport interface NgbPanelChangeEvent {\n /**\n * The id of the accordion panel that is being toggled.\n */\n panelId: string;\n\n /**\n * The next state of the panel.\n *\n * `true` if it will be opened, `false` if closed.\n */\n nextState: boolean;\n\n /**\n * Calling this function will prevent panel toggling.\n */\n preventDefault: () => void;\n}\n\n/**\n * Accordion is a collection of collapsible panels (bootstrap cards).\n *\n * It can ensure only one panel is opened at a time and allows to customize panel\n * headers.\n */\n@Component({\n selector: 'ngb-accordion',\n exportAs: 'ngbAccordion',\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'accordion', 'role': 'tablist', '[attr.aria-multiselectable]': '!closeOtherPanels'},\n template: `\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n `\n})\nexport class NgbAccordion implements AfterContentChecked {\n @ContentChildren(NgbPanel) panels: QueryList;\n\n /**\n * An array or comma separated strings of panel ids that should be opened **initially**.\n *\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\n * the `(panelChange)` event.\n */\n @Input() activeIds: string | readonly string[] = [];\n\n /**\n * If `true`, only one panel could be opened at a time.\n *\n * Opening a new panel will close others.\n */\n @Input('closeOthers') closeOtherPanels: boolean;\n\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n @Input() destroyOnHide = true;\n\n /**\n * Type of panels.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n @Output() panelChange = new EventEmitter();\n\n constructor(config: NgbAccordionConfig) {\n this.type = config.type;\n this.closeOtherPanels = config.closeOthers;\n }\n\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId: string): boolean { return this.activeIds.indexOf(panelId) > -1; }\n\n /**\n * Expands a panel with a given id.\n *\n * Has no effect if the panel is already expanded or disabled.\n */\n expand(panelId: string): void { this._changeOpenState(this._findPanelById(panelId), true); }\n\n /**\n * Expands all panels, if `[closeOthers]` is `false`.\n *\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\n */\n expandAll(): void {\n if (this.closeOtherPanels) {\n if (this.activeIds.length === 0 && this.panels.length) {\n this._changeOpenState(this.panels.first, true);\n }\n } else {\n this.panels.forEach(panel => this._changeOpenState(panel, true));\n }\n }\n\n /**\n * Collapses a panel with the given id.\n *\n * Has no effect if the panel is already collapsed or disabled.\n */\n collapse(panelId: string) { this._changeOpenState(this._findPanelById(panelId), false); }\n\n /**\n * Collapses all opened panels.\n */\n collapseAll() {\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\n }\n\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId: string) {\n const panel = this._findPanelById(panelId);\n if (panel) {\n this._changeOpenState(panel, !panel.isOpen);\n }\n }\n\n ngAfterContentChecked() {\n // active id updates\n if (isString(this.activeIds)) {\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\n }\n\n // update panels open states\n this.panels.forEach(panel => panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1);\n\n // closeOthers updates\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\n this._closeOthers(this.activeIds[0]);\n this._updateActiveIds();\n }\n }\n\n private _changeOpenState(panel: NgbPanel, nextState: boolean) {\n if (panel && !panel.disabled && panel.isOpen !== nextState) {\n let defaultPrevented = false;\n\n this.panelChange.emit(\n {panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n panel.isOpen = nextState;\n\n if (nextState && this.closeOtherPanels) {\n this._closeOthers(panel.id);\n }\n this._updateActiveIds();\n }\n }\n }\n\n private _closeOthers(panelId: string) {\n this.panels.forEach(panel => {\n if (panel.id !== panelId) {\n panel.isOpen = false;\n }\n });\n }\n\n private _findPanelById(panelId: string): NgbPanel | null { return this.panels.find(p => p.id === panelId); }\n\n private _updateActiveIds() {\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\n }\n}\n\n/**\n * A directive to put on a button that toggles panel opening and closing.\n *\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\n *\n * @since 4.1.0\n */\n@Directive({\n selector: 'button[ngbPanelToggle]',\n host: {\n 'type': 'button',\n '[disabled]': 'panel.disabled',\n '[class.collapsed]': '!panel.isOpen',\n '[attr.aria-expanded]': 'panel.isOpen',\n '[attr.aria-controls]': 'panel.id',\n '(click)': 'accordion.toggle(panel.id)'\n }\n})\nexport class NgbPanelToggle {\n @Input()\n set ngbPanelToggle(panel: NgbPanel) {\n if (panel) {\n this.panel = panel;\n }\n }\n\n constructor(public accordion: NgbAccordion, @Optional() @Host() public panel: NgbPanel) {}\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle} from './accordion';\n\nexport {\n NgbAccordion,\n NgbPanel,\n NgbPanelTitle,\n NgbPanelContent,\n NgbPanelChangeEvent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelToggle\n} from './accordion';\nexport {NgbAccordionConfig} from './accordion-config';\n\nconst NGB_ACCORDION_DIRECTIVES =\n [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\n\n@NgModule({declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule]})\nexport class NgbAccordionModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [NgbAlert](#/components/alert/api#NgbAlert) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all alerts used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAlertConfig {\n dismissible = true;\n type = 'warning';\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {NgbAlertConfig} from './alert-config';\n\n/**\n * Alert is a component to provide contextual feedback messages for user.\n *\n * It supports several alert types and can be dismissed.\n */\n@Component({\n selector: 'ngb-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'role': 'alert', 'class': 'alert', '[class.alert-dismissible]': 'dismissible'},\n template: `\n \n \n `,\n styleUrls: ['./alert.scss']\n})\nexport class NgbAlert implements OnInit,\n OnChanges {\n /**\n * If `true`, alert can be dismissed by the user.\n *\n * The close button (×) will be displayed and you can be notified\n * of the event with the `(close)` output.\n */\n @Input() dismissible: boolean;\n /**\n * Type of the alert.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n /**\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\n */\n @Output() close = new EventEmitter();\n\n constructor(config: NgbAlertConfig, private _renderer: Renderer2, private _element: ElementRef) {\n this.dismissible = config.dismissible;\n this.type = config.type;\n }\n\n closeHandler() { this.close.emit(null); }\n\n ngOnChanges(changes: SimpleChanges) {\n const typeChange = changes['type'];\n if (typeChange && !typeChange.firstChange) {\n this._renderer.removeClass(this._element.nativeElement, `alert-${typeChange.previousValue}`);\n this._renderer.addClass(this._element.nativeElement, `alert-${typeChange.currentValue}`);\n }\n }\n\n ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAlert} from './alert';\n\nexport {NgbAlert} from './alert';\nexport {NgbAlertConfig} from './alert-config';\n\n@NgModule({declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert]})\nexport class NgbAlertModule {\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[ngbButtonLabel]',\n host:\n {'[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused'}\n})\nexport class NgbButtonLabel {\n active: boolean;\n disabled: boolean;\n focused: boolean;\n}\n","import {ChangeDetectorRef, Directive, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nconst NGB_CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbCheckBox),\n multi: true\n};\n\n\n/**\n * Allows to easily create Bootstrap-style checkbox buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbButton][type=checkbox]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '(change)': 'onInputChange($event)',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n },\n providers: [NGB_CHECKBOX_VALUE_ACCESSOR]\n})\nexport class NgbCheckBox implements ControlValueAccessor {\n checked;\n\n /**\n * If `true`, the checkbox button will be disabled\n */\n @Input() disabled = false;\n\n /**\n * The form control value when the checkbox is checked.\n */\n @Input() valueChecked = true;\n\n /**\n * The form control value when the checkbox is unchecked.\n */\n @Input() valueUnChecked = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n set focused(isFocused: boolean) {\n this._label.focused = isFocused;\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n constructor(private _label: NgbButtonLabel, private _cd: ChangeDetectorRef) {}\n\n onInputChange($event) {\n const modelToPropagate = $event.target.checked ? this.valueChecked : this.valueUnChecked;\n this.onChange(modelToPropagate);\n this.onTouched();\n this.writeValue(modelToPropagate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._label.disabled = isDisabled;\n }\n\n writeValue(value) {\n this.checked = value === this.valueChecked;\n this._label.active = this.checked;\n\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n this._cd.markForCheck();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, forwardRef, Input, OnDestroy, Renderer2} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nconst NGB_RADIO_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRadioGroup),\n multi: true\n};\n\nlet nextId = 0;\n\n/**\n * Allows to easily create Bootstrap-style radio buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({selector: '[ngbRadioGroup]', host: {'role': 'radiogroup'}, providers: [NGB_RADIO_VALUE_ACCESSOR]})\nexport class NgbRadioGroup implements ControlValueAccessor {\n private _radios: Set = new Set();\n private _value = null;\n private _disabled: boolean;\n\n get disabled() { return this._disabled; }\n set disabled(isDisabled: boolean) { this.setDisabledState(isDisabled); }\n\n /**\n * Name of the radio group applied to radio input elements.\n *\n * Will be applied to all radio input elements inside the group,\n * unless [`NgbRadio`](#/components/buttons/api#NgbRadio)'s specify names themselves.\n *\n * If not provided, will be generated in the `ngb-radio-xx` format.\n */\n @Input() name = `ngb-radio-${nextId++}`;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n onRadioChange(radio: NgbRadio) {\n this.writeValue(radio.value);\n this.onChange(radio.value);\n }\n\n onRadioValueUpdate() { this._updateRadiosValue(); }\n\n register(radio: NgbRadio) { this._radios.add(radio); }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._updateRadiosDisabled();\n }\n\n unregister(radio: NgbRadio) { this._radios.delete(radio); }\n\n writeValue(value) {\n this._value = value;\n this._updateRadiosValue();\n }\n\n private _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\n private _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\n}\n\n\n/**\n * A directive that marks an input of type \"radio\" as a part of the\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\n */\n@Directive({\n selector: '[ngbButton][type=radio]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '[name]': 'nameAttr',\n '(change)': 'onChange()',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n }\n})\nexport class NgbRadio implements OnDestroy {\n private _checked: boolean;\n private _disabled: boolean;\n private _value: any = null;\n\n /**\n * The value for the 'name' property of the input element.\n *\n * All inputs of the radio group should have the same name. If not specified,\n * the name of the enclosing group is used.\n */\n @Input() name: string;\n\n /**\n * The form control value when current radio button is checked.\n */\n @Input('value')\n set value(value: any) {\n this._value = value;\n const stringValue = value ? value.toString() : '';\n this._renderer.setProperty(this._element.nativeElement, 'value', stringValue);\n this._group.onRadioValueUpdate();\n }\n\n /**\n * If `true`, current radio button will be disabled.\n */\n @Input('disabled')\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled !== false;\n this.updateDisabled();\n }\n\n set focused(isFocused: boolean) {\n if (this._label) {\n this._label.focused = isFocused;\n }\n if (!isFocused) {\n this._group.onTouched();\n }\n }\n\n get checked() { return this._checked; }\n\n get disabled() { return this._group.disabled || this._disabled; }\n\n get value() { return this._value; }\n\n get nameAttr() { return this.name || this._group.name; }\n\n constructor(\n private _group: NgbRadioGroup, private _label: NgbButtonLabel, private _renderer: Renderer2,\n private _element: ElementRef, private _cd: ChangeDetectorRef) {\n this._group.register(this);\n this.updateDisabled();\n }\n\n ngOnDestroy() { this._group.unregister(this); }\n\n onChange() { this._group.onRadioChange(this); }\n\n updateValue(value) {\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n if (this.value !== value) {\n this._cd.markForCheck();\n }\n\n this._checked = this.value === value;\n this._label.active = this._checked;\n }\n\n updateDisabled() { this._label.disabled = this.disabled; }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbButtonLabel} from './label';\nimport {NgbCheckBox} from './checkbox';\nimport {NgbRadio, NgbRadioGroup} from './radio';\n\nexport {NgbButtonLabel} from './label';\nexport {NgbCheckBox} from './checkbox';\nexport {NgbRadio, NgbRadioGroup} from './radio';\n\n\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\n\n@NgModule({declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES})\nexport class NgbButtonsModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [NgbCarousel](#/components/carousel/api#NgbCarousel) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all carousels used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCarouselConfig {\n interval = 5000;\n wrap = true;\n keyboard = true;\n pauseOnHover = true;\n showNavigationArrows = true;\n showNavigationIndicators = true;\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nimport {NgbCarouselConfig} from './carousel-config';\n\nimport {BehaviorSubject, combineLatest, NEVER, Subject, timer} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, switchMap, takeUntil} from 'rxjs/operators';\n\nlet nextId = 0;\n\n/**\n * A directive that wraps the individual carousel slide.\n */\n@Directive({selector: 'ng-template[ngbSlide]'})\nexport class NgbSlide {\n /**\n * Slide id that must be unique for the entire document.\n *\n * If not provided, will be generated in the `ngb-slide-xx` format.\n */\n @Input() id = `ngb-slide-${nextId++}`;\n constructor(public tplRef: TemplateRef) {}\n}\n\n/**\n * Carousel is a component to easily create and control slideshows.\n *\n * Allows to set intervals, change the way user interacts with the slides and provides a programmatic API.\n */\n@Component({\n selector: 'ngb-carousel',\n exportAs: 'ngbCarousel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'carousel slide',\n '[style.display]': '\"block\"',\n 'tabIndex': '0',\n '(keydown.arrowLeft)': 'keyboard && prev(NgbSlideEventSource.ARROW_LEFT)',\n '(keydown.arrowRight)': 'keyboard && next(NgbSlideEventSource.ARROW_RIGHT)'\n },\n template: `\n
    \n
  1. \n
\n
\n
\n \n
\n
\n \n \n Previous\n \n \n \n Next\n \n `\n})\nexport class NgbCarousel implements AfterContentChecked,\n AfterContentInit, OnDestroy {\n @ContentChildren(NgbSlide) slides: QueryList;\n\n public NgbSlideEventSource = NgbSlideEventSource;\n\n private _destroy$ = new Subject();\n private _interval$ = new BehaviorSubject(0);\n private _mouseHover$ = new BehaviorSubject(false);\n private _pauseOnHover$ = new BehaviorSubject(false);\n private _pause$ = new BehaviorSubject(false);\n private _wrap$ = new BehaviorSubject(false);\n\n /**\n * The slide id that should be displayed **initially**.\n *\n * For subsequent interactions use methods `select()`, `next()`, etc. and the `(slide)` output.\n */\n @Input() activeId: string;\n\n /**\n * Time in milliseconds before the next slide is shown.\n */\n @Input()\n set interval(value: number) {\n this._interval$.next(value);\n }\n\n get interval() { return this._interval$.value; }\n\n /**\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\n */\n @Input()\n set wrap(value: boolean) {\n this._wrap$.next(value);\n }\n\n get wrap() { return this._wrap$.value; }\n\n /**\n * If `true`, allows to interact with carousel using keyboard 'arrow left' and 'arrow right'.\n */\n @Input() keyboard: boolean;\n\n /**\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\n *\n * @since 2.2.0\n */\n @Input()\n set pauseOnHover(value: boolean) {\n this._pauseOnHover$.next(value);\n }\n\n get pauseOnHover() { return this._pauseOnHover$.value; }\n\n /**\n * If `true`, 'previous' and 'next' navigation arrows will be visible on the slide.\n *\n * @since 2.2.0\n */\n @Input() showNavigationArrows: boolean;\n\n /**\n * If `true`, navigation indicators at the bottom of the slide will be visible.\n *\n * @since 2.2.0\n */\n @Input() showNavigationIndicators: boolean;\n\n /**\n * An event emitted right after the slide transition is completed.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n */\n @Output() slide = new EventEmitter();\n\n constructor(\n config: NgbCarouselConfig, @Inject(PLATFORM_ID) private _platformId, private _ngZone: NgZone,\n private _cd: ChangeDetectorRef) {\n this.interval = config.interval;\n this.wrap = config.wrap;\n this.keyboard = config.keyboard;\n this.pauseOnHover = config.pauseOnHover;\n this.showNavigationArrows = config.showNavigationArrows;\n this.showNavigationIndicators = config.showNavigationIndicators;\n }\n\n @HostListener('mouseenter')\n mouseEnter() {\n this._mouseHover$.next(true);\n }\n\n @HostListener('mouseleave')\n mouseLeave() {\n this._mouseHover$.next(false);\n }\n\n ngAfterContentInit() {\n // setInterval() doesn't play well with SSR and protractor,\n // so we should run it in the browser and outside Angular\n if (isPlatformBrowser(this._platformId)) {\n this._ngZone.runOutsideAngular(() => {\n const hasNextSlide$ = combineLatest([\n this.slide.pipe(map(slideEvent => slideEvent.current), startWith(this.activeId)),\n this._wrap$, this.slides.changes.pipe(startWith(<{}>null))\n ])\n .pipe(\n map(([currentSlideId, wrap]) => {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n return wrap ? slideArr.length > 1 : currentSlideIdx < slideArr.length - 1;\n }),\n distinctUntilChanged());\n combineLatest([this._pause$, this._pauseOnHover$, this._mouseHover$, this._interval$, hasNextSlide$])\n .pipe(\n map(([pause, pauseOnHover, mouseHover, interval, hasNextSlide]) =>\n ((pause || (pauseOnHover && mouseHover) || !hasNextSlide) ? 0 : interval)),\n\n distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER),\n takeUntil(this._destroy$))\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\n });\n }\n\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => this._cd.markForCheck());\n }\n\n ngAfterContentChecked() {\n let activeSlide = this._getSlideById(this.activeId);\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : null);\n }\n\n ngOnDestroy() { this._destroy$.next(); }\n\n /**\n * Navigates to a slide with the specified identifier.\n */\n select(slideId: string, source?: NgbSlideEventSource) {\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\n }\n\n /**\n * Navigates to the previous slide.\n */\n prev(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\n }\n\n /**\n * Navigates to the next slide.\n */\n next(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\n }\n\n /**\n * Pauses cycling through the slides.\n */\n pause() { this._pause$.next(true); }\n\n /**\n * Restarts cycling through the slides from left to right.\n */\n cycle() { this._pause$.next(false); }\n\n private _cycleToSelected(slideIdx: string, direction: NgbSlideEventDirection, source?: NgbSlideEventSource) {\n let selectedSlide = this._getSlideById(slideIdx);\n if (selectedSlide && selectedSlide.id !== this.activeId) {\n this.slide.emit(\n {prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source});\n this.activeId = selectedSlide.id;\n }\n\n // we get here after the interval fires or any external API call like next(), prev() or select()\n this._cd.markForCheck();\n }\n\n private _getSlideEventDirection(currentActiveSlideId: string, nextActiveSlideId: string): NgbSlideEventDirection {\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\n\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\n }\n\n private _getSlideById(slideId: string): NgbSlide { return this.slides.find(slide => slide.id === slideId); }\n\n private _getSlideIdxById(slideId: string): number {\n return this.slides.toArray().indexOf(this._getSlideById(slideId));\n }\n\n private _getNextSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\n\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\n slideArr[currentSlideIdx + 1].id;\n }\n\n private _getPrevSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isFirstSlide = currentSlideIdx === 0;\n\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\n slideArr[currentSlideIdx - 1].id;\n }\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n */\nexport interface NgbSlideEvent {\n /**\n * The previous slide id.\n */\n prev: string;\n\n /**\n * The current slide id.\n */\n current: string;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Whether the pause() method was called (and no cycle() call was done afterwards).\n *\n * @since 5.1.0\n */\n paused: boolean;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n * @since 5.1.0\n */\n source?: NgbSlideEventSource;\n}\n\n/**\n * Defines the carousel slide transition direction.\n */\nexport enum NgbSlideEventDirection {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\nexport enum NgbSlideEventSource {\n TIMER = 'timer',\n ARROW_LEFT = 'arrowLeft',\n ARROW_RIGHT = 'arrowRight',\n INDICATOR = 'indicator'\n}\n\nexport const NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NGB_CAROUSEL_DIRECTIVES} from './carousel';\n\nexport {NgbCarousel, NgbSlide, NgbSlideEvent, NgbSlideEventDirection, NgbSlideEventSource} from './carousel';\nexport {NgbCarouselConfig} from './carousel-config';\n\n@NgModule({declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule]})\nexport class NgbCarouselModule {\n}\n","import {Directive, Input} from '@angular/core';\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the page.\n */\n@Directive({\n selector: '[ngbCollapse]',\n exportAs: 'ngbCollapse',\n host: {'[class.collapse]': 'true', '[class.show]': '!collapsed'}\n})\nexport class NgbCollapse {\n /**\n * If `true`, will collapse the element or show it otherwise.\n */\n @Input('ngbCollapse') collapsed = false;\n}\n","import {NgModule} from '@angular/core';\nimport {NgbCollapse} from './collapse';\n\nexport {NgbCollapse} from './collapse';\n\n@NgModule({declarations: [NgbCollapse], exports: [NgbCollapse]})\nexport class NgbCollapseModule {\n}\n","import {NgbDateStruct} from './ngb-date-struct';\nimport {isInteger} from '../util/util';\n\n/**\n * A simple class that represents a date that datepicker also uses internally.\n *\n * It is the implementation of the `NgbDateStruct` interface that adds some convenience methods,\n * like `.equals()`, `.before()`, etc.\n *\n * All datepicker APIs consume `NgbDateStruct`, but return `NgbDate`.\n *\n * In many cases it is simpler to manipulate these objects together with\n * [`NgbCalendar`](#/components/datepicker/api#NgbCalendar) than native JS Dates.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n *\n * @since 3.0.0\n */\nexport class NgbDate implements NgbDateStruct {\n /**\n * The year, for example 2016\n */\n year: number;\n\n /**\n * The month, for example 1=Jan ... 12=Dec as in ISO 8601\n */\n month: number;\n\n /**\n * The day of month, starting with 1\n */\n day: number;\n\n /**\n * A **static method** that creates a new date object from the `NgbDateStruct`,\n *\n * ex. `NgbDate.from({year: 2000, month: 5, day: 1})`.\n *\n * If the `date` is already of `NgbDate` type, the method will return the same object.\n */\n static from(date: NgbDateStruct): NgbDate {\n if (date instanceof NgbDate) {\n return date;\n }\n return date ? new NgbDate(date.year, date.month, date.day) : null;\n }\n\n constructor(year: number, month: number, day: number) {\n this.year = isInteger(year) ? year : null;\n this.month = isInteger(month) ? month : null;\n this.day = isInteger(day) ? day : null;\n }\n\n /**\n * Checks if the current date is equal to another date.\n */\n equals(other: NgbDateStruct): boolean {\n return other && this.year === other.year && this.month === other.month && this.day === other.day;\n }\n\n /**\n * Checks if the current date is before another date.\n */\n before(other: NgbDateStruct): boolean {\n if (!other) {\n return false;\n }\n\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day < other.day;\n } else {\n return this.month < other.month;\n }\n } else {\n return this.year < other.year;\n }\n }\n\n /**\n * Checks if the current date is after another date.\n */\n after(other: NgbDateStruct): boolean {\n if (!other) {\n return false;\n }\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day > other.day;\n } else {\n return this.month > other.month;\n }\n } else {\n return this.year > other.year;\n }\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {Injectable} from '@angular/core';\nimport {isInteger} from '../util/util';\n\nexport function fromJSDate(jsDate: Date) {\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\n}\nexport function toJSDate(date: NgbDate) {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // this is done avoid 30 -> 1930 conversion\n if (!isNaN(jsDate.getTime())) {\n jsDate.setFullYear(date.year);\n }\n return jsDate;\n}\n\nexport type NgbPeriod = 'y' | 'm' | 'd';\n\nexport function NGB_DATEPICKER_CALENDAR_FACTORY() {\n return new NgbCalendarGregorian();\n}\n\n/**\n * A service that represents the calendar used by the datepicker.\n *\n * The default implementation uses the Gregorian calendar. You can inject it in your own\n * implementations if necessary to simplify `NgbDate` calculations.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY})\nexport abstract class NgbCalendar {\n /**\n * Returns the number of days per week.\n */\n abstract getDaysPerWeek(): number;\n\n /**\n * Returns an array of months per year.\n *\n * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\n */\n abstract getMonths(year?: number): number[];\n\n /**\n * Returns the number of weeks per month.\n */\n abstract getWeeksPerMonth(): number;\n\n /**\n * Returns the weekday number for a given day.\n *\n * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\n */\n abstract getWeekday(date: NgbDate): number;\n\n /**\n * Adds a number of years, months or days to a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Subtracts a number of years, months or days from a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Returns the week number for a given week.\n */\n abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;\n\n /**\n * Returns the today's date.\n */\n abstract getToday(): NgbDate;\n\n /**\n * Checks if a date is valid in the current calendar.\n */\n abstract isValid(date: NgbDate): boolean;\n}\n\n@Injectable()\nexport class NgbCalendarGregorian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n let jsDate = toJSDate(date);\n let checkMonth = true;\n let expectedMonth = jsDate.getMonth();\n\n switch (period) {\n case 'y':\n jsDate.setFullYear(jsDate.getFullYear() + number);\n break;\n case 'm':\n expectedMonth += number;\n jsDate.setMonth(expectedMonth);\n expectedMonth = expectedMonth % 12;\n if (expectedMonth < 0) {\n expectedMonth = expectedMonth + 12;\n }\n break;\n case 'd':\n jsDate.setDate(jsDate.getDate() + number);\n checkMonth = false;\n break;\n default:\n return date;\n }\n\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\n // this means the destination month has less days than the initial month\n // let's go back to the end of the previous month:\n jsDate.setDate(0);\n }\n\n return fromJSDate(jsDate);\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n let jsDate = toJSDate(date);\n let day = jsDate.getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n let date = week[thursdayIndex];\n\n const jsDate = toJSDate(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n jsDate.setMonth(0); // Compare with Jan 1\n jsDate.setDate(1);\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromJSDate(new Date()); }\n\n isValid(date: NgbDate): boolean {\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\n return false;\n }\n\n // year 0 doesn't exist in Gregorian calendar\n if (date.year === 0) {\n return false;\n }\n\n const jsDate = toJSDate(date);\n\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\n jsDate.getDate() === date.day;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {DatepickerViewModel, DayViewModel, MonthViewModel} from './datepicker-view-model';\nimport {NgbCalendar} from './ngb-calendar';\nimport {isDefined} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport function isChangedDate(prev: NgbDate, next: NgbDate) {\n return !dateComparator(prev, next);\n}\n\nexport function isChangedMonth(prev: NgbDate, next: NgbDate) {\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\n}\n\nexport function dateComparator(prev: NgbDate, next: NgbDate) {\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\n}\n\nexport function checkMinBeforeMax(minDate: NgbDate, maxDate: NgbDate) {\n if (maxDate && minDate && maxDate.before(minDate)) {\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\n }\n}\n\nexport function checkDateInRange(date: NgbDate, minDate: NgbDate, maxDate: NgbDate): NgbDate {\n if (date && minDate && date.before(minDate)) {\n return minDate;\n }\n if (date && maxDate && date.after(maxDate)) {\n return maxDate;\n }\n\n return date;\n}\n\nexport function isDateSelectable(date: NgbDate, state: DatepickerViewModel) {\n const {minDate, maxDate, disabled, markDisabled} = state;\n // clang-format off\n return !(\n !isDefined(date) ||\n disabled ||\n (markDisabled && markDisabled(date, {year: date.year, month: date.month})) ||\n (minDate && date.before(minDate)) ||\n (maxDate && date.after(maxDate))\n );\n // clang-format on\n}\n\nexport function generateSelectBoxMonths(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate, maxDate: NgbDate) {\n if (!date) {\n return [];\n }\n\n let months = calendar.getMonths(date.year);\n\n if (minDate && date.year === minDate.year) {\n const index = months.findIndex(month => month === minDate.month);\n months = months.slice(index);\n }\n\n if (maxDate && date.year === maxDate.year) {\n const index = months.findIndex(month => month === maxDate.month);\n months = months.slice(0, index + 1);\n }\n\n return months;\n}\n\nexport function generateSelectBoxYears(date: NgbDate, minDate: NgbDate, maxDate: NgbDate) {\n if (!date) {\n return [];\n }\n\n const start = minDate ? Math.max(minDate.year, date.year - 500) : date.year - 10;\n const end = maxDate ? Math.min(maxDate.year, date.year + 500) : date.year + 10;\n\n const length = end - start + 1;\n const numbers = Array(length);\n for (let i = 0; i < length; i++) {\n numbers[i] = start + i;\n }\n\n return numbers;\n}\n\nexport function nextMonthDisabled(calendar: NgbCalendar, date: NgbDate, maxDate: NgbDate) {\n const nextDate = Object.assign(calendar.getNext(date, 'm'), {day: 1});\n return maxDate && nextDate.after(maxDate);\n}\n\nexport function prevMonthDisabled(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate) {\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), {day: 1});\n return minDate && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\n prevDate.year < minDate.year && minDate.month === 1);\n}\n\nexport function buildMonths(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n force: boolean): MonthViewModel[] {\n const {displayMonths, months} = state;\n // move old months to a temporary array\n const monthsToReuse = months.splice(0, months.length);\n\n // generate new first dates, nullify or reuse months\n const firstDates = Array.from({length: displayMonths}, (_, i) => {\n const firstDate = Object.assign(calendar.getNext(date, 'm', i), {day: 1});\n months[i] = null;\n\n if (!force) {\n const reusedIndex = monthsToReuse.findIndex(month => month.firstDate.equals(firstDate));\n // move reused month back to months\n if (reusedIndex !== -1) {\n months[i] = monthsToReuse.splice(reusedIndex, 1)[0];\n }\n }\n\n return firstDate;\n });\n\n // rebuild nullified months\n firstDates.forEach((firstDate, i) => {\n if (months[i] === null) {\n months[i] = buildMonth(calendar, firstDate, state, i18n, monthsToReuse.shift() || {} as MonthViewModel);\n }\n });\n\n return months;\n}\n\nexport function buildMonth(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n month: MonthViewModel = {} as MonthViewModel): MonthViewModel {\n const {dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays} = state;\n const calendarToday = calendar.getToday();\n\n month.firstDate = null;\n month.lastDate = null;\n month.number = date.month;\n month.year = date.year;\n month.weeks = month.weeks || [];\n month.weekdays = month.weekdays || [];\n\n date = getFirstViewDate(calendar, date, firstDayOfWeek);\n\n // month has weeks\n for (let week = 0; week < calendar.getWeeksPerMonth(); week++) {\n let weekObject = month.weeks[week];\n if (!weekObject) {\n weekObject = month.weeks[week] = {number: 0, days: [], collapsed: true};\n }\n const days = weekObject.days;\n\n // week has days\n for (let day = 0; day < calendar.getDaysPerWeek(); day++) {\n if (week === 0) {\n month.weekdays[day] = calendar.getWeekday(date);\n }\n\n const newDate = new NgbDate(date.year, date.month, date.day);\n const nextDate = calendar.getNext(newDate);\n\n const ariaLabel = i18n.getDayAriaLabel(newDate);\n\n // marking date as disabled\n let disabled = !!((minDate && newDate.before(minDate)) || (maxDate && newDate.after(maxDate)));\n if (!disabled && markDisabled) {\n disabled = markDisabled(newDate, {month: month.number, year: month.year});\n }\n\n // today\n let today = newDate.equals(calendarToday);\n\n // adding user-provided data to the context\n let contextUserData =\n dayTemplateData ? dayTemplateData(newDate, {month: month.number, year: month.year}) : undefined;\n\n // saving first date of the month\n if (month.firstDate === null && newDate.month === month.number) {\n month.firstDate = newDate;\n }\n\n // saving last date of the month\n if (newDate.month === month.number && nextDate.month !== month.number) {\n month.lastDate = newDate;\n }\n\n let dayObject = days[day];\n if (!dayObject) {\n dayObject = days[day] = {} as DayViewModel;\n }\n dayObject.date = newDate;\n dayObject.context = Object.assign(dayObject.context || {}, {\n $implicit: newDate,\n date: newDate,\n data: contextUserData,\n currentMonth: month.number,\n currentYear: month.year, disabled,\n focused: false,\n selected: false, today\n });\n dayObject.tabindex = -1;\n dayObject.ariaLabel = ariaLabel;\n dayObject.hidden = false;\n\n date = nextDate;\n }\n\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\n\n // marking week as collapsed\n weekObject.collapsed = outsideDays === 'collapsed' && days[0].date.month !== month.number &&\n days[days.length - 1].date.month !== month.number;\n }\n\n return month;\n}\n\nexport function getFirstViewDate(calendar: NgbCalendar, date: NgbDate, firstDayOfWeek: number): NgbDate {\n const daysPerWeek = calendar.getDaysPerWeek();\n const firstMonthDate = new NgbDate(date.year, date.month, 1);\n const dayOfWeek = calendar.getWeekday(firstMonthDate) % daysPerWeek;\n return calendar.getPrev(firstMonthDate, 'd', (daysPerWeek + dayOfWeek - firstDayOfWeek) % daysPerWeek);\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayNames, getLocaleMonthNames, TranslationWidth, formatDate} from '@angular/common';\nimport {NgbDateStruct} from './ngb-date-struct';\n\nexport function NGB_DATEPICKER_18N_FACTORY(locale) {\n return new NgbDatepickerI18nDefault(locale);\n}\n\n/**\n * A service supplying i18n data to the datepicker component.\n *\n * The default implementation of this service uses the Angular locale and registered locale data for\n * weekdays and month names (as explained in the Angular i18n guide).\n *\n * It also provides a way to i18n data that depends on calendar calculations, like aria labels, day, week and year\n * numerals. For other static labels the datepicker uses the default Angular i18n.\n *\n * See the [i18n demo](#/components/datepicker/examples#i18n) and\n * [Hebrew calendar demo](#/components/datepicker/calendars#hebrew) on how to extend this class and define\n * a custom provider for i18n.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbDatepickerI18n {\n /**\n * Returns the short weekday name to display in the heading of the month view.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n abstract getWeekdayShortName(weekday: number): string;\n\n /**\n * Returns the short month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthShortName(month: number, year?: number): string;\n\n /**\n * Returns the full month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthFullName(month: number, year?: number): string;\n\n /**\n * Returns the value of the `aria-label` attribute for a specific date.\n *\n * @since 2.0.0\n */\n abstract getDayAriaLabel(date: NgbDateStruct): string;\n\n /**\n * Returns the textual representation of a day that is rendered in a day cell.\n *\n * @since 3.0.0\n */\n getDayNumerals(date: NgbDateStruct): string { return `${date.day}`; }\n\n /**\n * Returns the textual representation of a week number rendered by datepicker.\n *\n * @since 3.0.0\n */\n getWeekNumerals(weekNumber: number): string { return `${weekNumber}`; }\n\n /**\n * Returns the textual representation of a year that is rendered in the datepicker year select box.\n *\n * @since 3.0.0\n */\n getYearNumerals(year: number): string { return `${year}`; }\n}\n\n@Injectable()\nexport class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\n private _weekdaysShort: Array;\n private _monthsShort: Array;\n private _monthsFull: Array;\n\n constructor(@Inject(LOCALE_ID) private _locale: string) {\n super();\n\n const weekdaysStartingOnSunday = getLocaleDayNames(_locale, FormStyle.Standalone, TranslationWidth.Short);\n this._weekdaysShort = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\n\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\n }\n\n getWeekdayShortName(weekday: number): string { return this._weekdaysShort[weekday - 1]; }\n\n getMonthShortName(month: number): string { return this._monthsShort[month - 1]; }\n\n getMonthFullName(month: number): string { return this._monthsFull[month - 1]; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n return formatDate(jsDate, 'fullDate', this._locale);\n }\n}\n","import {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DatepickerViewModel, NgbDayTemplateData, NgbMarkDisabled} from './datepicker-view-model';\nimport {Injectable} from '@angular/core';\nimport {isInteger, toInteger} from '../util/util';\nimport {Observable, Subject} from 'rxjs';\nimport {\n buildMonths,\n checkDateInRange,\n checkMinBeforeMax,\n isChangedDate,\n isChangedMonth,\n isDateSelectable,\n generateSelectBoxYears,\n generateSelectBoxMonths,\n prevMonthDisabled,\n nextMonthDisabled\n} from './datepicker-tools';\n\nimport {filter} from 'rxjs/operators';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport interface DatepickerServiceInputs extends\n Partial> {}\n\n@Injectable()\nexport class NgbDatepickerService {\n private _VALIDATORS:\n {[K in keyof DatepickerServiceInputs]: (v: DatepickerServiceInputs[K]) => Partial} = {\n dayTemplateData: (dayTemplateData: NgbDayTemplateData) => {\n if (this._state.dayTemplateData !== dayTemplateData) {\n return {dayTemplateData};\n }\n },\n displayMonths: (displayMonths: number) => {\n displayMonths = toInteger(displayMonths);\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\n return {displayMonths};\n }\n },\n disabled: (disabled: boolean) => {\n if (this._state.disabled !== disabled) {\n return {disabled};\n }\n },\n firstDayOfWeek: (firstDayOfWeek: number) => {\n firstDayOfWeek = toInteger(firstDayOfWeek);\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\n return {firstDayOfWeek};\n }\n },\n focusVisible: (focusVisible: boolean) => {\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\n return {focusVisible};\n }\n },\n markDisabled: (markDisabled: NgbMarkDisabled) => {\n if (this._state.markDisabled !== markDisabled) {\n return {markDisabled};\n }\n },\n maxDate: (date: NgbDate) => {\n const maxDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.maxDate, maxDate)) {\n return {maxDate};\n }\n },\n minDate: (date: NgbDate) => {\n const minDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.minDate, minDate)) {\n return {minDate};\n }\n },\n navigation: (navigation: 'select' | 'arrows' | 'none') => {\n if (this._state.navigation !== navigation) {\n return {navigation};\n }\n },\n outsideDays: (outsideDays: 'visible' | 'collapsed' | 'hidden') => {\n if (this._state.outsideDays !== outsideDays) {\n return {outsideDays};\n }\n }\n };\n\n private _model$ = new Subject();\n\n private _dateSelect$ = new Subject();\n\n private _state: DatepickerViewModel = {\n disabled: false,\n displayMonths: 1,\n firstDayOfWeek: 1,\n focusVisible: false,\n months: [],\n navigation: 'select',\n outsideDays: 'visible',\n prevDisabled: false,\n nextDisabled: false,\n selectBoxes: {years: [], months: []},\n selectedDate: null\n };\n\n get model$(): Observable { return this._model$.pipe(filter(model => model.months.length > 0)); }\n\n get dateSelect$(): Observable { return this._dateSelect$.pipe(filter(date => date !== null)); }\n\n set(options: DatepickerServiceInputs) {\n let patch = Object.keys(options)\n .map(key => this._VALIDATORS[key](options[key]))\n .reduce((obj, part) => ({...obj, ...part}), {});\n\n if (Object.keys(patch).length > 0) {\n this._nextState(patch);\n }\n }\n\n constructor(private _calendar: NgbCalendar, private _i18n: NgbDatepickerI18n) {}\n\n focus(date: NgbDate) {\n if (!this._state.disabled && this._calendar.isValid(date) && isChangedDate(this._state.focusDate, date)) {\n this._nextState({focusDate: date});\n }\n }\n\n focusSelect() {\n if (isDateSelectable(this._state.focusDate, this._state)) {\n this.select(this._state.focusDate, {emitEvent: true});\n }\n }\n\n open(date: NgbDate) {\n const firstDate = this.toValidDate(date, this._calendar.getToday());\n if (!this._state.disabled && (!this._state.firstDate || isChangedMonth(this._state.firstDate, date))) {\n this._nextState({firstDate});\n }\n }\n\n select(date: NgbDate, options: {emitEvent?: boolean} = {}) {\n const selectedDate = this.toValidDate(date, null);\n if (!this._state.disabled) {\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\n this._nextState({selectedDate});\n }\n\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\n this._dateSelect$.next(selectedDate);\n }\n }\n }\n\n toValidDate(date: NgbDateStruct, defaultValue?: NgbDate): NgbDate {\n const ngbDate = NgbDate.from(date);\n if (defaultValue === undefined) {\n defaultValue = this._calendar.getToday();\n }\n return this._calendar.isValid(ngbDate) ? ngbDate : defaultValue;\n }\n\n getMonth(struct: NgbDateStruct) {\n for (let month of this._state.months) {\n if (struct.month === month.number && struct.year === month.year) {\n return month;\n }\n }\n throw new Error(`month ${struct.month} of year ${struct.year} not found`);\n }\n\n private _nextState(patch: Partial) {\n const newState = this._updateState(patch);\n this._patchContexts(newState);\n this._state = newState;\n this._model$.next(this._state);\n }\n\n private _patchContexts(state: DatepickerViewModel) {\n const {months, displayMonths, selectedDate, focusDate, focusVisible, disabled, outsideDays} = state;\n state.months.forEach(month => {\n month.weeks.forEach(week => {\n week.days.forEach(day => {\n\n // patch focus flag\n if (focusDate) {\n day.context.focused = focusDate.equals(day.date) && focusVisible;\n }\n\n // calculating tabindex\n day.tabindex = !disabled && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\n\n // override context disabled\n if (disabled === true) {\n day.context.disabled = true;\n }\n\n // patch selection flag\n if (selectedDate !== undefined) {\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\n }\n\n // visibility\n if (month.number !== day.date.month) {\n day.hidden = outsideDays === 'hidden' || outsideDays === 'collapsed' ||\n (displayMonths > 1 && day.date.after(months[0].firstDate) &&\n day.date.before(months[displayMonths - 1].lastDate));\n }\n });\n });\n });\n }\n\n private _updateState(patch: Partial): DatepickerViewModel {\n // patching fields\n const state = Object.assign({}, this._state, patch);\n\n let startDate = state.firstDate;\n\n // min/max dates changed\n if ('minDate' in patch || 'maxDate' in patch) {\n checkMinBeforeMax(state.minDate, state.maxDate);\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n }\n\n // disabled\n if ('disabled' in patch) {\n state.focusVisible = false;\n }\n\n // initial rebuild via 'select()'\n if ('selectedDate' in patch && this._state.months.length === 0) {\n startDate = state.selectedDate;\n }\n\n // terminate early if only focus visibility was changed\n if ('focusVisible' in patch) {\n return state;\n }\n\n // focus date changed\n if ('focusDate' in patch) {\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n\n // nothing to rebuild if only focus changed and it is still visible\n if (state.months.length !== 0 && !state.focusDate.before(state.firstDate) &&\n !state.focusDate.after(state.lastDate)) {\n return state;\n }\n }\n\n // first date changed\n if ('firstDate' in patch) {\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.firstDate;\n }\n\n // rebuilding months\n if (startDate) {\n const forceRebuild = 'dayTemplateData' in patch || 'firstDayOfWeek' in patch || 'markDisabled' in patch ||\n 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch || 'outsideDays' in patch;\n\n const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\n\n // updating months and boundary dates\n state.months = months;\n state.firstDate = months.length > 0 ? months[0].firstDate : undefined;\n state.lastDate = months.length > 0 ? months[months.length - 1].lastDate : undefined;\n\n // reset selected date if 'markDisabled' returns true\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\n state.selectedDate = null;\n }\n\n // adjusting focus after months were built\n if ('firstDate' in patch) {\n if (state.focusDate === undefined || state.focusDate.before(state.firstDate) ||\n state.focusDate.after(state.lastDate)) {\n state.focusDate = startDate;\n }\n }\n\n // adjusting months/years for the select box navigation\n const yearChanged = !this._state.firstDate || this._state.firstDate.year !== state.firstDate.year;\n const monthChanged = !this._state.firstDate || this._state.firstDate.month !== state.firstDate.month;\n if (state.navigation === 'select') {\n // years -> boundaries (min/max were changed)\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.years.length === 0 || yearChanged) {\n state.selectBoxes.years = generateSelectBoxYears(state.firstDate, state.minDate, state.maxDate);\n }\n\n // months -> when current year or boundaries change\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.months.length === 0 || yearChanged) {\n state.selectBoxes.months =\n generateSelectBoxMonths(this._calendar, state.firstDate, state.minDate, state.maxDate);\n }\n } else {\n state.selectBoxes = {years: [], months: []};\n }\n\n // updating navigation arrows -> boundaries change (min/max) or month/year changes\n if ((state.navigation === 'arrows' || state.navigation === 'select') &&\n (monthChanged || yearChanged || 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch)) {\n state.prevDisabled = state.disabled || prevMonthDisabled(this._calendar, state.firstDate, state.minDate);\n state.nextDisabled = state.disabled || nextMonthDisabled(this._calendar, state.lastDate, state.maxDate);\n }\n }\n\n return state;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DayTemplateContext} from './datepicker-day-template-context';\n\nexport type NgbMarkDisabled = (date: NgbDateStruct, current: {year: number, month: number}) => boolean;\nexport type NgbDayTemplateData = (date: NgbDateStruct, current: {year: number, month: number}) => any;\n\nexport type DayViewModel = {\n date: NgbDate,\n context: DayTemplateContext,\n tabindex: number,\n ariaLabel: string,\n hidden: boolean\n};\n\nexport type WeekViewModel = {\n number: number,\n days: DayViewModel[],\n collapsed: boolean\n};\n\nexport type MonthViewModel = {\n firstDate: NgbDate,\n lastDate: NgbDate,\n number: number,\n year: number,\n weeks: WeekViewModel[],\n weekdays: number[]\n};\n\n// clang-format off\nexport type DatepickerViewModel = {\n dayTemplateData?: NgbDayTemplateData,\n disabled: boolean,\n displayMonths: number,\n firstDate?: NgbDate,\n firstDayOfWeek: number,\n focusDate?: NgbDate,\n focusVisible: boolean,\n lastDate?: NgbDate,\n markDisabled?: NgbMarkDisabled,\n maxDate?: NgbDate,\n minDate?: NgbDate,\n months: MonthViewModel[],\n navigation: 'select' | 'arrows' | 'none',\n outsideDays: 'visible' | 'collapsed' | 'hidden',\n prevDisabled: boolean,\n nextDisabled: boolean,\n selectBoxes: {\n years: number[],\n months: number[]\n },\n selectedDate: NgbDate\n};\n// clang-format on\n\nexport enum NavigationEvent {\n PREV,\n NEXT\n}\n","import {Injectable, TemplateRef} from '@angular/core';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A configuration service for the [`NgbDatepicker`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerConfig {\n dayTemplate: TemplateRef;\n dayTemplateData: (date: NgbDateStruct, current: {year: number, month: number}) => any;\n footerTemplate: TemplateRef;\n displayMonths = 1;\n firstDayOfWeek = 1;\n markDisabled: (date: NgbDateStruct, current: {year: number, month: number}) => boolean;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n navigation: 'select' | 'arrows' | 'none' = 'select';\n outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';\n showWeekdays = true;\n showWeekNumbers = false;\n startDate: {year: number, month: number};\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\nexport function NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\n return new NgbDateStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal datepicker `NgbDateStruct` model and\n * any provided user date model `D`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding datepicker to a form control,\n * ex. `[(ngModel)]=\"userDateModel\"`. Here `userDateModel` can be of any type.\n *\n * The default datepicker implementation assumes we use `NgbDateStruct` as a user model.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details\n * and the [custom adapter demo](#/components/datepicker/examples#adapter) for an example.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY})\nexport abstract class NgbDateAdapter {\n /**\n * Converts a user-model date of type `D` to an `NgbDateStruct` for internal use.\n */\n abstract fromModel(value: D): NgbDateStruct;\n\n /**\n * Converts an internal `NgbDateStruct` date to a user-model date of type `D`.\n */\n abstract toModel(date: NgbDateStruct): D;\n}\n\n@Injectable()\nexport class NgbDateStructAdapter extends NgbDateAdapter {\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n fromModel(date: NgbDateStruct): NgbDateStruct {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n toModel(date: NgbDateStruct): NgbDateStruct {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n}\n","import {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, take, takeUntil} from 'rxjs/operators';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {DatepickerServiceInputs, NgbDatepickerService} from './datepicker-service';\nimport {DatepickerViewModel, NavigationEvent} from './datepicker-view-model';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {isChangedDate, isChangedMonth} from './datepicker-tools';\nimport {hasClassName} from '../util/util';\n\nexport const NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbDatepicker),\n multi: true\n};\n\n/**\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\n */\nexport interface NgbDatepickerNavigateEvent {\n /**\n * The currently displayed month.\n */\n current: {year: number, month: number};\n\n /**\n * The month we're navigating to.\n */\n next: {year: number, month: number};\n\n /**\n * Calling this function will prevent navigation from happening.\n *\n * @since 4.1.0\n */\n preventDefault: () => void;\n}\n\n/**\n * An interface that represents the readonly public state of the datepicker.\n *\n * Accessible via the `datepicker.state` getter\n *\n * @since 5.2.0\n */\nexport interface NgbDatepickerState {\n /**\n * The earliest date that can be displayed or selected\n */\n readonly minDate: NgbDate;\n\n /**\n * The latest date that can be displayed or selected\n */\n readonly maxDate: NgbDate;\n\n /**\n * The first visible date of currently displayed months\n */\n readonly firstDate: NgbDate;\n\n /**\n * The last visible date of currently displayed months\n */\n readonly lastDate: NgbDate;\n\n /**\n * The date currently focused by the datepicker\n */\n readonly focusedDate: NgbDate;\n\n /**\n * First dates of months currently displayed by the datepicker\n *\n * @since 5.3.0\n */\n readonly months: NgbDate[];\n}\n\n/**\n * A directive that marks the content template that customizes the way datepicker months are displayed\n *\n * @since 5.3.0\n */\n@Directive({selector: 'ng-template[ngbDatepickerContent]'})\nexport class NgbDatepickerContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A highly configurable component that helps you with selecting calendar dates.\n *\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\n */\n@Component({\n exportAs: 'ngbDatepicker',\n selector: 'ngb-datepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker.scss'],\n template: `\n \n
\n
\n
\n\n \n
\n
1 && navigation === 'select')\" class=\"ngb-dp-month-name\">\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n\n \n `,\n providers: [NGB_DATEPICKER_VALUE_ACCESSOR, NgbDatepickerService]\n})\nexport class NgbDatepicker implements OnDestroy,\n OnChanges, OnInit, ControlValueAccessor {\n model: DatepickerViewModel;\n\n @ViewChild('defaultDayTemplate', {static: true}) private _defaultDayTemplate: TemplateRef;\n @ViewChild('content', {static: true}) private _contentEl: ElementRef;\n @ContentChild(NgbDatepickerContent, {static: true}) contentTemplate: NgbDatepickerContent;\n\n private _controlValue: NgbDate;\n private _destroyed$ = new Subject();\n private _publicState: NgbDatepickerState = {};\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current: {year: number, month: number}) => boolean;\n\n /**\n * The latest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * The earliest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * An event emitted right before the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 5.2.0\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @deprecated 6.0.0 Please use 'dateSelect' output instead due to collision with native\n * 'select' event.\n */\n @Output() select = this.dateSelect;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(\n private _service: NgbDatepickerService, private _calendar: NgbCalendar, public i18n: NgbDatepickerI18n,\n config: NgbDatepickerConfig, cd: ChangeDetectorRef, private _elementRef: ElementRef,\n private _ngbDateAdapter: NgbDateAdapter, private _ngZone: NgZone) {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate']\n .forEach(input => this[input] = config[input]);\n\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\n\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\n const newDate = model.firstDate;\n const oldDate = this.model ? this.model.firstDate : null;\n\n // update public state\n this._publicState = {\n maxDate: model.maxDate,\n minDate: model.minDate,\n firstDate: model.firstDate,\n lastDate: model.lastDate,\n focusedDate: model.focusDate,\n months: model.months.map(viewModel => viewModel.firstDate)\n };\n\n let navigationPrevented = false;\n // emitting navigation event if the first month changes\n if (!newDate.equals(oldDate)) {\n this.navigate.emit({\n current: oldDate ? {year: oldDate.year, month: oldDate.month} : null,\n next: {year: newDate.year, month: newDate.month},\n preventDefault: () => navigationPrevented = true\n });\n\n // can't prevent the very first navigation\n if (navigationPrevented && oldDate !== null) {\n this._service.open(oldDate);\n return;\n }\n }\n\n const newSelectedDate = model.selectedDate;\n const newFocusedDate = model.focusDate;\n const oldFocusedDate = this.model ? this.model.focusDate : null;\n\n this.model = model;\n\n // handling selection change\n if (isChangedDate(newSelectedDate, this._controlValue)) {\n this._controlValue = newSelectedDate;\n this.onTouched();\n this.onChange(this._ngbDateAdapter.toModel(newSelectedDate));\n }\n\n // handling focus change\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\n this.focus();\n }\n\n cd.markForCheck();\n });\n }\n\n /**\n * Returns the readonly public state of the datepicker\n *\n * @since 5.2.0\n */\n get state(): NgbDatepickerState { return this._publicState; }\n\n /**\n * Returns the calendar service used in the specific datepicker instance.\n *\n * @since 5.3.0\n */\n get calendar(): NgbCalendar { return this._calendar; }\n\n /**\n * Focuses on given date.\n */\n focusDate(date: NgbDateStruct): void { this._service.focus(NgbDate.from(date)); }\n\n /**\n * Selects focused date.\n */\n focusSelect(): void { this._service.focusSelect(); }\n\n focus() {\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n const elementToFocus =\n this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\n if (elementToFocus) {\n elementToFocus.focus();\n }\n });\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n this._service.open(NgbDate.from(date ? date.day ? date as NgbDateStruct : {...date, day: 1} : null));\n }\n\n ngAfterViewInit() {\n this._ngZone.runOutsideAngular(() => {\n const focusIns$ = fromEvent(this._contentEl.nativeElement, 'focusin');\n const focusOuts$ = fromEvent(this._contentEl.nativeElement, 'focusout');\n const {nativeElement} = this._elementRef;\n\n // we're changing 'focusVisible' only when entering or leaving months view\n // and ignoring all focus events where both 'target' and 'related' target are day cells\n merge(focusIns$, focusOuts$)\n .pipe(\n filter(\n ({target, relatedTarget}) =>\n !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\n nativeElement.contains(target as Node) && nativeElement.contains(relatedTarget as Node))),\n takeUntil(this._destroyed$))\n .subscribe(({type}) => this._ngZone.run(() => this._service.set({focusVisible: type === 'focusin'})));\n });\n }\n\n ngOnDestroy() { this._destroyed$.next(); }\n\n ngOnInit() {\n if (this.model === undefined) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n this.navigateTo(this.startDate);\n }\n if (!this.dayTemplate) {\n this.dayTemplate = this._defaultDayTemplate;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .filter(name => name in changes)\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n if ('startDate' in changes) {\n const {currentValue, previousValue} = changes.startDate;\n if (isChangedMonth(previousValue, currentValue)) {\n this.navigateTo(this.startDate);\n }\n }\n }\n\n onDateSelect(date: NgbDate) {\n this._service.focus(date);\n this._service.select(date, {emitEvent: true});\n }\n\n onNavigateDateSelect(date: NgbDate) { this._service.open(date); }\n\n onNavigateEvent(event: NavigationEvent) {\n switch (event) {\n case NavigationEvent.PREV:\n this._service.open(this._calendar.getPrev(this.model.firstDate, 'm', 1));\n break;\n case NavigationEvent.NEXT:\n this._service.open(this._calendar.getNext(this.model.firstDate, 'm', 1));\n break;\n }\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(disabled: boolean) { this._service.set({disabled}); }\n\n writeValue(value) {\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\n this._service.select(this._controlValue);\n }\n}\n","export enum Key {\n Tab = 9,\n Enter = 13,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n ArrowLeft = 37,\n ArrowUp = 38,\n ArrowRight = 39,\n ArrowDown = 40\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {Key} from '../util/key';\n\n/**\n * A service that represents the keyboard navigation.\n *\n * Default keyboard shortcuts [are documented in the overview](#/components/datepicker/overview#keyboard-shortcuts)\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerKeyboardService {\n /**\n * Processes a keyboard event.\n */\n processKey(event: KeyboardEvent, datepicker: NgbDatepicker) {\n const {state, calendar} = datepicker;\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.PageUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.PageDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.End:\n datepicker.focusDate(event.shiftKey ? state.maxDate : state.lastDate);\n break;\n case Key.Home:\n datepicker.focusDate(event.shiftKey ? state.minDate : state.firstDate);\n break;\n case Key.ArrowLeft:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.ArrowRight:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.Enter:\n case Key.Space:\n datepicker.focusSelect();\n break;\n default:\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\nimport {NgbDatepickerService} from './datepicker-service';\nimport {MonthViewModel, DayViewModel} from './datepicker-view-model';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A component that renders one month including all the days, weekdays and week numbers. Can be used inside\n * the `` when you want to customize months layout.\n *\n * For a usage example, see [custom month layout demo](#/components/datepicker/examples#custommonth)\n *\n * @since 5.3.0\n */\n@Component({\n selector: 'ngb-datepicker-month',\n host: {'role': 'grid', '(keydown)': 'onKeyDown($event)'},\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-month.scss'],\n template: `\n
\n
\n
\n {{ i18n.getWeekdayShortName(w) }}\n
\n
\n \n
\n
{{ i18n.getWeekNumerals(week.number) }}
\n
\n \n \n \n
\n
\n
\n `\n})\nexport class NgbDatepickerMonth {\n /**\n * The first date of month to be rendered.\n *\n * This month must one of the months present in the\n * [datepicker state](#/components/datepicker/api#NgbDatepickerState).\n */\n @Input()\n set month(month: NgbDateStruct) {\n this.viewModel = this._service.getMonth(month);\n }\n\n viewModel: MonthViewModel;\n\n constructor(\n public i18n: NgbDatepickerI18n, public datepicker: NgbDatepicker,\n private _keyboardService: NgbDatepickerKeyboardService, private _service: NgbDatepickerService) {}\n\n onKeyDown(event: KeyboardEvent) { this._keyboardService.processKey(event, this.datepicker); }\n\n doSelect(day: DayViewModel) {\n if (!day.context.disabled && !day.hidden) {\n this.datepicker.onDateSelect(day.date);\n }\n }\n}\n","import {Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {NavigationEvent, MonthViewModel} from './datepicker-view-model';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation.scss'],\n template: `\n
\n \n
\n \n \n\n \n
0\">
\n
\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n
\n
\n
\n \n
\n `\n})\nexport class NgbDatepickerNavigation {\n navigation = NavigationEvent;\n\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: MonthViewModel[] = [];\n @Input() showSelect: boolean;\n @Input() prevDisabled: boolean;\n @Input() nextDisabled: boolean;\n @Input() selectBoxes: {years: number[], months: number[]};\n\n @Output() navigate = new EventEmitter();\n @Output() select = new EventEmitter();\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n onClickPrev(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.PREV);\n }\n\n onClickNext(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.NEXT);\n }\n}\n","import {NgZone} from '@angular/core';\nimport {fromEvent, Observable, race} from 'rxjs';\nimport {delay, filter, map, takeUntil, tap, withLatestFrom} from 'rxjs/operators';\nimport {Key} from './key';\nimport {closest} from './util';\n\nconst isContainedIn = (element: HTMLElement, array?: HTMLElement[]) =>\n array ? array.some(item => item.contains(element)) : false;\n\nconst matchesSelectorIfAny = (element: HTMLElement, selector?: string) =>\n !selector || closest(element, selector) != null;\n\n// we have to add a more significant delay to avoid re-opening when handling (click) on a toggling element\n// TODO: use proper Angular platform detection when NgbAutoClose becomes a service and we can inject PLATFORM_ID\nconst isMobile = (() => {\n const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) ||\n (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2);\n const isAndroid = () => /Android/.test(navigator.userAgent);\n\n return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\n})();\n\n// setting 'ngbAutoClose' synchronously on mobile results in immediate popup closing\n// when tapping on the triggering element\nconst wrapAsyncForMobile = fn => isMobile ? () => setTimeout(() => fn(), 100) : fn;\n\nexport function ngbAutoClose(\n zone: NgZone, document: any, type: boolean | 'inside' | 'outside', close: () => void, closed$: Observable,\n insideElements: HTMLElement[], ignoreElements?: HTMLElement[], insideSelector?: string) {\n // closing on ESC and outside clicks\n if (type) {\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\n\n const shouldCloseOnClick = (event: MouseEvent) => {\n const element = event.target as HTMLElement;\n if (event.button === 2 || isContainedIn(element, ignoreElements)) {\n return false;\n }\n if (type === 'inside') {\n return isContainedIn(element, insideElements) && matchesSelectorIfAny(element, insideSelector);\n } else if (type === 'outside') {\n return !isContainedIn(element, insideElements);\n } else /* if (type === true) */ {\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\n }\n };\n\n const escapes$ = fromEvent(document, 'keydown')\n .pipe(\n takeUntil(closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\n\n\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\n // because on 'mouseup' DOM nodes might be detached\n const mouseDowns$ =\n fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\n\n const closeableClicks$ = fromEvent(document, 'mouseup')\n .pipe(\n withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0),\n takeUntil(closed$)) as Observable;\n\n\n race([escapes$, closeableClicks$]).subscribe(() => zone.run(close));\n }));\n }\n}\n","import {NgZone} from '@angular/core';\n\nimport {fromEvent, Observable} from 'rxjs';\nimport {filter, map, takeUntil, withLatestFrom} from 'rxjs/operators';\n\nimport {Key} from './key';\n\n\nconst FOCUSABLE_ELEMENTS_SELECTOR = [\n 'a[href]', 'button:not([disabled])', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])',\n 'textarea:not([disabled])', '[contenteditable]', '[tabindex]:not([tabindex=\"-1\"])'\n].join(', ');\n\n/**\n * Returns first and last focusable elements inside of a given element based on specific CSS selector\n */\nexport function getFocusableBoundaryElements(element: HTMLElement): HTMLElement[] {\n const list: HTMLElement[] =\n Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR) as NodeListOf)\n .filter(el => el.tabIndex !== -1);\n return [list[0], list[list.length - 1]];\n}\n\n/**\n * Function that enforces browser focus to be trapped inside a DOM element.\n *\n * Works only for clicks inside the element and navigation with 'Tab', ignoring clicks outside of the element\n *\n * @param zone Angular zone\n * @param element The element around which focus will be trapped inside\n * @param stopFocusTrap$ The observable stream. When completed the focus trap will clean up listeners\n * and free internal resources\n * @param refocusOnClick Put the focus back to the last focused element whenever a click occurs on element (default to\n * false)\n */\nexport const ngbFocusTrap =\n (zone: NgZone, element: HTMLElement, stopFocusTrap$: Observable, refocusOnClick = false) => {\n zone.runOutsideAngular(() => {\n // last focused element\n const lastFocusedElement$ =\n fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\n\n // 'tab' / 'shift+tab' stream\n fromEvent(element, 'keydown')\n .pipe(\n takeUntil(stopFocusTrap$),\n // tslint:disable:deprecation\n filter(e => e.which === Key.Tab),\n // tslint:enable:deprecation\n withLatestFrom(lastFocusedElement$))\n .subscribe(([tabEvent, focusedElement]) => {\n const[first, last] = getFocusableBoundaryElements(element);\n\n if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\n last.focus();\n tabEvent.preventDefault();\n }\n\n if (focusedElement === last && !tabEvent.shiftKey) {\n first.focus();\n tabEvent.preventDefault();\n }\n });\n\n // inside click\n if (refocusOnClick) {\n fromEvent(element, 'click')\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1] as HTMLElement))\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\n }\n });\n };\n","// previous version:\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\nexport class Positioning {\n private getAllStyles(element: HTMLElement) { return window.getComputedStyle(element); }\n\n private getStyle(element: HTMLElement, prop: string): string { return this.getAllStyles(element)[prop]; }\n\n private isStaticPositioned(element: HTMLElement): boolean {\n return (this.getStyle(element, 'position') || 'static') === 'static';\n }\n\n private offsetParent(element: HTMLElement): HTMLElement {\n let offsetParentEl = element.offsetParent || document.documentElement;\n\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\n offsetParentEl = offsetParentEl.offsetParent;\n }\n\n return offsetParentEl || document.documentElement;\n }\n\n position(element: HTMLElement, round = true): ClientRect {\n let elPosition: ClientRect;\n let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0};\n\n if (this.getStyle(element, 'position') === 'fixed') {\n elPosition = element.getBoundingClientRect();\n elPosition = {\n top: elPosition.top,\n bottom: elPosition.bottom,\n left: elPosition.left,\n right: elPosition.right,\n height: elPosition.height,\n width: elPosition.width\n };\n } else {\n const offsetParentEl = this.offsetParent(element);\n\n elPosition = this.offset(element, false);\n\n if (offsetParentEl !== document.documentElement) {\n parentOffset = this.offset(offsetParentEl, false);\n }\n\n parentOffset.top += offsetParentEl.clientTop;\n parentOffset.left += offsetParentEl.clientLeft;\n }\n\n elPosition.top -= parentOffset.top;\n elPosition.bottom -= parentOffset.top;\n elPosition.left -= parentOffset.left;\n elPosition.right -= parentOffset.left;\n\n if (round) {\n elPosition.top = Math.round(elPosition.top);\n elPosition.bottom = Math.round(elPosition.bottom);\n elPosition.left = Math.round(elPosition.left);\n elPosition.right = Math.round(elPosition.right);\n }\n\n return elPosition;\n }\n\n offset(element: HTMLElement, round = true): ClientRect {\n const elBcr = element.getBoundingClientRect();\n const viewportOffset = {\n top: window.pageYOffset - document.documentElement.clientTop,\n left: window.pageXOffset - document.documentElement.clientLeft\n };\n\n let elOffset = {\n height: elBcr.height || element.offsetHeight,\n width: elBcr.width || element.offsetWidth,\n top: elBcr.top + viewportOffset.top,\n bottom: elBcr.bottom + viewportOffset.top,\n left: elBcr.left + viewportOffset.left,\n right: elBcr.right + viewportOffset.left\n };\n\n if (round) {\n elOffset.height = Math.round(elOffset.height);\n elOffset.width = Math.round(elOffset.width);\n elOffset.top = Math.round(elOffset.top);\n elOffset.bottom = Math.round(elOffset.bottom);\n elOffset.left = Math.round(elOffset.left);\n elOffset.right = Math.round(elOffset.right);\n }\n\n return elOffset;\n }\n\n /*\n Return false if the element to position is outside the viewport\n */\n positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean):\n boolean {\n const[placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\n\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\n const targetElStyles = this.getAllStyles(targetElement);\n\n const marginTop = parseFloat(targetElStyles.marginTop);\n const marginBottom = parseFloat(targetElStyles.marginBottom);\n const marginLeft = parseFloat(targetElStyles.marginLeft);\n const marginRight = parseFloat(targetElStyles.marginRight);\n\n let topPosition = 0;\n let leftPosition = 0;\n\n switch (placementPrimary) {\n case 'top':\n topPosition = (hostElPosition.top - (targetElement.offsetHeight + marginTop + marginBottom));\n break;\n case 'bottom':\n topPosition = (hostElPosition.top + hostElPosition.height);\n break;\n case 'left':\n leftPosition = (hostElPosition.left - (targetElement.offsetWidth + marginLeft + marginRight));\n break;\n case 'right':\n leftPosition = (hostElPosition.left + hostElPosition.width);\n break;\n }\n\n switch (placementSecondary) {\n case 'top':\n topPosition = hostElPosition.top;\n break;\n case 'bottom':\n topPosition = hostElPosition.top + hostElPosition.height - targetElement.offsetHeight;\n break;\n case 'left':\n leftPosition = hostElPosition.left;\n break;\n case 'right':\n leftPosition = hostElPosition.left + hostElPosition.width - targetElement.offsetWidth;\n break;\n case 'center':\n if (placementPrimary === 'top' || placementPrimary === 'bottom') {\n leftPosition = (hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2);\n } else {\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\n }\n break;\n }\n\n /// The translate3d/gpu acceleration render a blurry text on chrome, the next line is commented until a browser fix\n // targetElement.style.transform = `translate3d(${Math.round(leftPosition)}px, ${Math.floor(topPosition)}px, 0px)`;\n targetElement.style.transform = `translate(${Math.round(leftPosition)}px, ${Math.round(topPosition)}px)`;\n\n // Check if the targetElement is inside the viewport\n const targetElBCR = targetElement.getBoundingClientRect();\n const html = document.documentElement;\n const windowHeight = window.innerHeight || html.clientHeight;\n const windowWidth = window.innerWidth || html.clientWidth;\n\n return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\n targetElBCR.bottom <= windowHeight;\n }\n}\n\nconst placementSeparator = /\\s+/;\nexport const positionService = new Positioning();\n\n/*\n * Accept the placement array and applies the appropriate placement dependent on the viewport.\n * Returns the applied placement.\n * In case of auto placement, placements are selected in order\n * 'top', 'bottom', 'left', 'right',\n * 'top-left', 'top-right',\n * 'bottom-left', 'bottom-right',\n * 'left-top', 'left-bottom',\n * 'right-top', 'right-bottom'.\n * */\nexport function positionElements(\n hostElement: HTMLElement, targetElement: HTMLElement, placement: string | Placement | PlacementArray,\n appendToBody?: boolean, baseClass?: string): Placement {\n let placementVals: Array =\n Array.isArray(placement) ? placement : placement.split(placementSeparator) as Array;\n\n const allowedPlacements = [\n 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom',\n 'right-top', 'right-bottom'\n ];\n\n const classList = targetElement.classList;\n const addClassesToTarget = (targetPlacement: Placement): Array => {\n const[primary, secondary] = targetPlacement.split('-');\n const classes = [];\n if (baseClass) {\n classes.push(`${baseClass}-${primary}`);\n if (secondary) {\n classes.push(`${baseClass}-${primary}-${secondary}`);\n }\n\n classes.forEach((classname) => { classList.add(classname); });\n }\n return classes;\n };\n\n // Remove old placement classes to avoid issues\n if (baseClass) {\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\n }\n\n // replace auto placement with other placements\n let hasAuto = placementVals.findIndex(val => val === 'auto');\n if (hasAuto >= 0) {\n allowedPlacements.forEach(function(obj) {\n if (placementVals.find(val => val.search('^' + obj) !== -1) == null) {\n placementVals.splice(hasAuto++, 1, obj as Placement);\n }\n });\n }\n\n // coordinates where to position\n\n // Required for transform:\n const style = targetElement.style;\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style['will-change'] = 'transform';\n\n let testPlacement: Placement;\n let isInViewport = false;\n for (testPlacement of placementVals) {\n let addedClasses = addClassesToTarget(testPlacement);\n\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\n isInViewport = true;\n break;\n }\n\n // Remove the baseClasses for further calculation\n if (baseClass) {\n addedClasses.forEach((classname) => { classList.remove(classname); });\n }\n }\n\n if (!isInViewport) {\n // If nothing match, the first placement is the default one\n testPlacement = placementVals[0];\n addClassesToTarget(testPlacement);\n positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody);\n }\n\n return testPlacement;\n}\n\nexport type Placement = 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' |\n 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\n\nexport type PlacementArray = Placement | Array| string;\n","import {padNumber, toInteger, isNumber} from '../util/util';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {Injectable} from '@angular/core';\n\nexport function NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\n return new NgbDateISOParserFormatter();\n}\n\n/**\n * An abstract service for parsing and formatting dates for the\n * [`NgbInputDatepicker`](#/components/datepicker/api#NgbInputDatepicker) directive.\n * Converts between the internal `NgbDateStruct` model presentation and a `string` that is displayed in the\n * input element.\n *\n * When user types something in the input this service attempts to parse it into a `NgbDateStruct` object.\n * And vice versa, when users selects a date in the calendar with the mouse, it must be displayed as a `string`\n * in the input.\n *\n * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI\n * to use an alternative string format or a custom parsing logic.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY})\nexport abstract class NgbDateParserFormatter {\n /**\n * Parses the given `string` to an `NgbDateStruct`.\n *\n * Implementations should try their best to provide a result, even\n * partial. They must return `null` if the value can't be parsed.\n */\n abstract parse(value: string): NgbDateStruct;\n\n /**\n * Formats the given `NgbDateStruct` to a `string`.\n *\n * Implementations should return an empty string if the given date is `null`,\n * and try their best to provide a partial result if the given date is incomplete or invalid.\n */\n abstract format(date: NgbDateStruct): string;\n}\n\n@Injectable()\nexport class NgbDateISOParserFormatter extends NgbDateParserFormatter {\n parse(value: string): NgbDateStruct {\n if (value) {\n const dateParts = value.trim().split('-');\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\n return {year: toInteger(dateParts[0]), month: null, day: null};\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: null};\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: toInteger(dateParts[2])};\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct): string {\n return date ?\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\n '';\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDatepickerInput`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepicker inputs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbInputDatepickerConfig extends NgbDatepickerConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n container: null | 'body';\n positionTarget: string | HTMLElement;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n restoreFocus: true | HTMLElement | string = true;\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator} from '@angular/forms';\n\nimport {ngbAutoClose} from '../util/autoclose';\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {PlacementArray, positionElements} from '../util/positioning';\n\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDatepicker, NgbDatepickerNavigateEvent} from './datepicker';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbInputDatepickerConfig} from './datepicker-input-config';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {isString} from '../util/util';\n\nconst NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\n\nconst NGB_DATEPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\n\n/**\n * A directive that allows to stick a datepicker popup to an input field.\n *\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\n */\n@Directive({\n selector: 'input[ngbDatepicker]',\n exportAs: 'ngbDatepicker',\n host: {\n '(input)': 'manualDateChange($event.target.value)',\n '(change)': 'manualDateChange($event.target.value, true)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '[disabled]': 'disabled'\n },\n providers: [\n NGB_DATEPICKER_VALUE_ACCESSOR, NGB_DATEPICKER_VALIDATOR,\n {provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig}\n ],\n})\nexport class NgbInputDatepicker implements OnChanges,\n OnDestroy, ControlValueAccessor, Validator {\n private _cRef: ComponentRef = null;\n private _disabled = false;\n private _elWithFocus = null;\n private _model: NgbDate;\n private _inputValue: string;\n private _zoneSubscription: any;\n\n /**\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\n *\n * * `true` - the popup will close on both date selection and outside click.\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current: {year: number, month: number}) => boolean;\n\n /**\n * The earliest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * The latest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * The preferred placement of the datepicker popup.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\n *\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\n * we'll fallback to focus document body.\n *\n * @since 5.2.0\n */\n @Input() restoreFocus: true | string | HTMLElement;\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * A selector specifying the element the datepicker popup should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\n *\n * By default the input is used as a target.\n *\n * @since 4.2.0\n */\n @Input() positionTarget: string | HTMLElement;\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 1.1.1\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * Event emitted right after the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n @Output() closed = new EventEmitter();\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value === '' || (value && value !== 'false');\n\n if (this.isOpen()) {\n this._cRef.instance.setDisabledState(this._disabled);\n }\n }\n\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n private _validatorChange = () => {};\n\n\n constructor(\n private _parserFormatter: NgbDateParserFormatter, private _elRef: ElementRef,\n private _vcRef: ViewContainerRef, private _renderer: Renderer2, private _cfr: ComponentFactoryResolver,\n private _ngZone: NgZone, private _calendar: NgbCalendar, private _dateAdapter: NgbDateAdapter,\n @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n config: NgbInputDatepickerConfig) {\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n registerOnValidatorChange(fn: () => void): void { this._validatorChange = fn; }\n\n setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\n\n validate(c: AbstractControl): {[key: string]: any} {\n const {value} = c;\n\n if (value === null || value === undefined) {\n return null;\n }\n\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\n\n if (!this._calendar.isValid(ngbDate)) {\n return {'ngbDate': {invalid: value}};\n }\n\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\n return {'ngbDate': {minDate: {minDate: this.minDate, actual: value}}};\n }\n\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\n return {'ngbDate': {maxDate: {maxDate: this.maxDate, actual: value}}};\n }\n }\n\n writeValue(value) {\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\n this._writeModelValue(this._model);\n }\n\n manualDateChange(value: string, updateView = false) {\n const inputValueChanged = value !== this._inputValue;\n if (inputValueChanged) {\n this._inputValue = value;\n this._model = this._fromDateStruct(this._parserFormatter.parse(value));\n }\n if (inputValueChanged || !updateView) {\n this._onChange(this._model ? this._dateAdapter.toModel(this._model) : (value === '' ? null : value));\n }\n if (updateView && this._model) {\n this._writeModelValue(this._model);\n }\n }\n\n isOpen() { return !!this._cRef; }\n\n /**\n * Opens the datepicker popup.\n *\n * If the related form control contains a valid date, the corresponding month will be opened.\n */\n open() {\n if (!this.isOpen()) {\n const cf = this._cfr.resolveComponentFactory(NgbDatepicker);\n this._cRef = this._vcRef.createComponent(cf);\n\n this._applyPopupStyling(this._cRef.location.nativeElement);\n this._applyDatepickerInputs(this._cRef.instance);\n this._subscribeForDatepickerOutputs(this._cRef.instance);\n this._cRef.instance.ngOnInit();\n this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model));\n\n // date selection event handling\n this._cRef.instance.registerOnChange((selectedDate) => {\n this.writeValue(selectedDate);\n this._onChange(selectedDate);\n this._onTouched();\n });\n\n this._cRef.changeDetectorRef.detectChanges();\n\n this._cRef.instance.setDisabledState(this.disabled);\n\n if (this.container === 'body') {\n window.document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\n }\n\n // focus handling\n this._elWithFocus = this._document.activeElement;\n ngbFocusTrap(this._ngZone, this._cRef.location.nativeElement, this.closed, true);\n this._cRef.instance.focus();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [],\n [this._elRef.nativeElement, this._cRef.location.nativeElement]);\n }\n }\n\n /**\n * Closes the datepicker popup.\n */\n close() {\n if (this.isOpen()) {\n this._vcRef.remove(this._vcRef.indexOf(this._cRef.hostView));\n this._cRef = null;\n this.closed.emit();\n this._changeDetector.markForCheck();\n\n // restore focus\n let elementToFocus = this._elWithFocus;\n if (isString(this.restoreFocus)) {\n elementToFocus = this._document.querySelector(this.restoreFocus);\n } else if (this.restoreFocus !== undefined) {\n elementToFocus = this.restoreFocus;\n }\n\n // in IE document.activeElement can contain an object without 'focus()' sometimes\n if (elementToFocus && elementToFocus['focus']) {\n elementToFocus.focus();\n } else {\n this._document.body.focus();\n }\n }\n }\n\n /**\n * Toggles the datepicker popup.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n if (this.isOpen()) {\n this._cRef.instance.navigateTo(date);\n }\n }\n\n onBlur() { this._onTouched(); }\n\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['minDate'] || changes['maxDate']) {\n this._validatorChange();\n\n if (this.isOpen()) {\n if (changes['minDate']) {\n this._cRef.instance.minDate = this._dateAdapter.toModel(changes.minDate.currentValue);\n }\n if (changes['maxDate']) {\n this._cRef.instance.maxDate = this._dateAdapter.toModel(changes.maxDate.currentValue);\n }\n this._cRef.instance.ngOnChanges(changes);\n }\n }\n }\n\n ngOnDestroy() {\n this.close();\n this._zoneSubscription.unsubscribe();\n }\n\n private _applyDatepickerInputs(datepickerInstance: NgbDatepicker): void {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekdays', 'showWeekNumbers']\n .forEach((optionName: string) => {\n if (this[optionName] !== undefined) {\n datepickerInstance[optionName] = this[optionName];\n }\n });\n datepickerInstance.startDate = this.startDate || this._model;\n }\n\n private _applyPopupStyling(nativeElement: any) {\n this._renderer.addClass(nativeElement, 'dropdown-menu');\n this._renderer.addClass(nativeElement, 'show');\n\n if (this.container === 'body') {\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\n }\n }\n\n private _subscribeForDatepickerOutputs(datepickerInstance: NgbDatepicker) {\n datepickerInstance.navigate.subscribe(navigateEvent => this.navigate.emit(navigateEvent));\n datepickerInstance.dateSelect.subscribe(date => {\n this.dateSelect.emit(date);\n if (this.autoClose === true || this.autoClose === 'inside') {\n this.close();\n }\n });\n }\n\n private _writeModelValue(model: NgbDate) {\n const value = this._parserFormatter.format(model);\n this._inputValue = value;\n this._renderer.setProperty(this._elRef.nativeElement, 'value', value);\n if (this.isOpen()) {\n this._cRef.instance.writeValue(this._dateAdapter.toModel(model));\n this._onTouched();\n }\n }\n\n private _fromDateStruct(date: NgbDateStruct): NgbDate {\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\n }\n\n private _updatePopupPosition() {\n if (!this._cRef) {\n return;\n }\n\n let hostElement: HTMLElement;\n if (isString(this.positionTarget)) {\n hostElement = this._document.querySelector(this.positionTarget);\n } else if (this.positionTarget instanceof HTMLElement) {\n hostElement = this.positionTarget;\n } else {\n hostElement = this._elRef.nativeElement;\n }\n\n if (this.positionTarget && !hostElement) {\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\n }\n\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: '[ngbDatepickerDayView]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-day-view.scss'],\n host: {\n 'class': 'btn-light',\n '[class.bg-primary]': 'selected',\n '[class.text-white]': 'selected',\n '[class.text-muted]': 'isMuted()',\n '[class.outside]': 'isMuted()',\n '[class.active]': 'focused'\n },\n template: `{{ i18n.getDayNumerals(date) }}`\n})\nexport class NgbDatepickerDayView {\n @Input() currentMonth: number;\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() focused: boolean;\n @Input() selected: boolean;\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterViewChecked,\n ViewChild,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {toInteger} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation-select.scss'],\n template: `\n \n `\n})\nexport class NgbDatepickerNavigationSelect implements AfterViewChecked {\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: number[];\n @Input() years: number[];\n\n @Output() select = new EventEmitter();\n\n @ViewChild('month', {static: true, read: ElementRef}) monthSelect: ElementRef;\n @ViewChild('year', {static: true, read: ElementRef}) yearSelect: ElementRef;\n\n private _month = -1;\n private _year = -1;\n\n constructor(public i18n: NgbDatepickerI18n, private _renderer: Renderer2) {}\n\n changeMonth(month: string) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\n\n changeYear(year: string) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\n\n ngAfterViewChecked() {\n if (this.date) {\n if (this.date.month !== this._month) {\n this._month = this.date.month;\n this._renderer.setProperty(this.monthSelect.nativeElement, 'value', this._month);\n }\n if (this.date.year !== this._year) {\n this._year = this.date.year;\n this._renderer.setProperty(this.yearSelect.nativeElement, 'value', this._year);\n }\n }\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbPeriod, NgbCalendar} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\n\n@Injectable()\nexport abstract class NgbCalendarHijri extends NgbCalendar {\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n abstract getDaysPerMonth(month: number, year: number): number;\n\n /**\n * Returns the equivalent Hijri date value for a give input Gregorian date.\n * `gDate` is s JS Date to be converted to Hijri.\n */\n abstract fromGregorian(gDate: Date): NgbDate;\n\n /**\n * Converts the current Hijri date to Gregorian.\n */\n abstract toGregorian(hDate: NgbDate): Date;\n\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = this._setYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = this._setMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return this._setDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = this.toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = this.toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const MuhDate = this.toGregorian(new NgbDate(date.year, 1, 1)); // Compare with Muharram 1\n return Math.floor(Math.round((time - MuhDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return this.fromGregorian(new Date()); }\n\n\n isValid(date: NgbDate): boolean {\n return date && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\n !isNaN(this.toGregorian(date).getTime());\n }\n\n private _setDay(date: NgbDate, day: number): NgbDate {\n day = +day;\n let mDays = this.getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = this._setMonth(date, date.month - 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = this._setMonth(date, date.month + 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n }\n\n private _setMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n }\n\n private _setYear(date: NgbDate, year: number): NgbDate {\n date.year = +year;\n return date;\n }\n}\n","import {NgbCalendarHijri} from './ngb-calendar-hijri';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Checks if islamic year is a leap year\n */\nfunction isIslamicLeapYear(hYear: number): boolean {\n return (14 + 11 * hYear) % 30 < 11;\n}\n\n/**\n * Checks if gregorian years is a leap year\n */\nfunction isGregorianLeapYear(gDate: Date): boolean {\n const year = gDate.getFullYear();\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\n/**\n * Returns the start of Hijri Month.\n * `hMonth` is 0 for Muharram, 1 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\nfunction getIslamicMonthStart(hYear: number, hMonth: number): number {\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\n}\n\n/**\n * Returns the start of Hijri year.\n * `year` is any Hijri year.\n */\nfunction getIslamicYearStart(year: number): number {\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\n/**\n * The civil calendar is one type of Hijri calendars used in islamic countries.\n * Uses a fixed cycle of alternating 29- and 30-day months,\n * with a leap day added to the last month of 11 out of every 30 years.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n * All the calculations here are based on the equations from \"Calendrical Calculations\" By Edward M. Reingold, Nachum\n * Dershowitz.\n */\n\nconst GREGORIAN_EPOCH = 1721425.5;\nconst ISLAMIC_EPOCH = 1948439.5;\n\n@Injectable()\nexport class NgbCalendarIslamicCivil extends NgbCalendarHijri {\n /**\n * Returns the equivalent islamic(civil) date value for a give input Gregorian date.\n * `gDate` is a JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.getDate();\n\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) +\n -Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor(\n (367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gDate) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay) + 0.5;\n\n const days = julianDay - ISLAMIC_EPOCH;\n const hYear = Math.floor((30 * days + 10646) / 10631.0);\n let hMonth = Math.ceil((days - 29 - getIslamicYearStart(hYear)) / 29.5);\n hMonth = Math.min(hMonth, 11);\n const hDay = Math.ceil(days - getIslamicMonthStart(hYear, hMonth)) + 1;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n\n /**\n * Returns the equivalent JS date value for a give input islamic(civil) date.\n * `hDate` is an islamic(civil) date to be converted to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n const julianDay =\n hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\n\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH,\n quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524),\n dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461),\n yindex = Math.floor(dquad / 365);\n let year = quadricent * 400 + cent * 100 + quad * 4 + yindex;\n if (!(cent === 4 || yindex === 4)) {\n year++;\n }\n\n const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400);\n\n const yearday = wjd - gYearStart;\n\n const tjd = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) + Math.floor(739 / 12 + (isGregorianLeapYear(new Date(year, 3, 1)) ? -1 : -2) + 1);\n\n const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\n\n const month = Math.floor(((yearday + leapadj) * 12 + 373) / 367);\n const tjd2 = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) +\n Math.floor(\n (367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\n 1);\n\n const day = wjd - tjd2 + 1;\n\n return new Date(year, month - 1, day);\n }\n\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n getDaysPerMonth(month: number, year: number): number {\n year = year + Math.floor(month / 13);\n month = ((month - 1) % 12) + 1;\n let length = 29 + month % 2;\n if (month === 12 && isIslamicLeapYear(year)) {\n length++;\n }\n return length;\n }\n}\n","import {NgbCalendarIslamicCivil} from './ngb-calendar-islamic-civil';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Umalqura calendar is one type of Hijri calendars used in islamic countries.\n * This Calendar is used by Saudi Arabia for administrative purpose.\n * Unlike tabular calendars, the algorithm involves astronomical calculation, but it's still deterministic.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n */\n\nconst GREGORIAN_FIRST_DATE = new Date(1882, 10, 12);\nconst GREGORIAN_LAST_DATE = new Date(2174, 10, 25);\nconst HIJRI_BEGIN = 1300;\nconst HIJRI_END = 1600;\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nconst MONTH_LENGTH = [\n // 1300-1304\n '101010101010', '110101010100', '111011001001', '011011010100', '011011101010',\n // 1305-1309\n '001101101100', '101010101101', '010101010101', '011010101001', '011110010010',\n // 1310-1314\n '101110101001', '010111010100', '101011011010', '010101011100', '110100101101',\n // 1315-1319\n '011010010101', '011101001010', '101101010100', '101101101010', '010110101101',\n // 1320-1324\n '010010101110', '101001001111', '010100010111', '011010001011', '011010100101',\n // 1325-1329\n '101011010101', '001011010110', '100101011011', '010010011101', '101001001101',\n // 1330-1334\n '110100100110', '110110010101', '010110101100', '100110110110', '001010111010',\n // 1335-1339\n '101001011011', '010100101011', '101010010101', '011011001010', '101011101001',\n // 1340-1344\n '001011110100', '100101110110', '001010110110', '100101010110', '101011001010',\n // 1345-1349\n '101110100100', '101111010010', '010111011001', '001011011100', '100101101101',\n // 1350-1354\n '010101001101', '101010100101', '101101010010', '101110100101', '010110110100',\n // 1355-1359\n '100110110110', '010101010111', '001010010111', '010101001011', '011010100011',\n // 1360-1364\n '011101010010', '101101100101', '010101101010', '101010101011', '010100101011',\n // 1365-1369\n '110010010101', '110101001010', '110110100101', '010111001010', '101011010110',\n // 1370-1374\n '100101010111', '010010101011', '100101001011', '101010100101', '101101010010',\n // 1375-1379\n '101101101010', '010101110101', '001001110110', '100010110111', '010001011011',\n // 1380-1384\n '010101010101', '010110101001', '010110110100', '100111011010', '010011011101',\n // 1385-1389\n '001001101110', '100100110110', '101010101010', '110101010100', '110110110010',\n // 1390-1394\n '010111010101', '001011011010', '100101011011', '010010101011', '101001010101',\n // 1395-1399\n '101101001001', '101101100100', '101101110001', '010110110100', '101010110101',\n // 1400-1404\n '101001010101', '110100100101', '111010010010', '111011001001', '011011010100',\n // 1405-1409\n '101011101001', '100101101011', '010010101011', '101010010011', '110101001001',\n // 1410-1414\n '110110100100', '110110110010', '101010111001', '010010111010', '101001011011',\n // 1415-1419\n '010100101011', '101010010101', '101100101010', '101101010101', '010101011100',\n // 1420-1424\n '010010111101', '001000111101', '100100011101', '101010010101', '101101001010',\n // 1425-1429\n '101101011010', '010101101101', '001010110110', '100100111011', '010010011011',\n // 1430-1434\n '011001010101', '011010101001', '011101010100', '101101101010', '010101101100',\n // 1435-1439\n '101010101101', '010101010101', '101100101001', '101110010010', '101110101001',\n // 1440-1444\n '010111010100', '101011011010', '010101011010', '101010101011', '010110010101',\n // 1445-1449\n '011101001001', '011101100100', '101110101010', '010110110101', '001010110110',\n // 1450-1454\n '101001010110', '111001001101', '101100100101', '101101010010', '101101101010',\n // 1455-1459\n '010110101101', '001010101110', '100100101111', '010010010111', '011001001011',\n // 1460-1464\n '011010100101', '011010101100', '101011010110', '010101011101', '010010011101',\n // 1465-1469\n '101001001101', '110100010110', '110110010101', '010110101010', '010110110101',\n // 1470-1474\n '001011011010', '100101011011', '010010101101', '010110010101', '011011001010',\n // 1475-1479\n '011011100100', '101011101010', '010011110101', '001010110110', '100101010110',\n // 1480-1484\n '101010101010', '101101010100', '101111010010', '010111011001', '001011101010',\n // 1485-1489\n '100101101101', '010010101101', '101010010101', '101101001010', '101110100101',\n // 1490-1494\n '010110110010', '100110110101', '010011010110', '101010010111', '010101000111',\n // 1495-1499\n '011010010011', '011101001001', '101101010101', '010101101010', '101001101011',\n // 1500-1504\n '010100101011', '101010001011', '110101000110', '110110100011', '010111001010',\n // 1505-1509\n '101011010110', '010011011011', '001001101011', '100101001011', '101010100101',\n // 1510-1514\n '101101010010', '101101101001', '010101110101', '000101110110', '100010110111',\n // 1515-1519\n '001001011011', '010100101011', '010101100101', '010110110100', '100111011010',\n // 1520-1524\n '010011101101', '000101101101', '100010110110', '101010100110', '110101010010',\n // 1525-1529\n '110110101001', '010111010100', '101011011010', '100101011011', '010010101011',\n // 1530-1534\n '011001010011', '011100101001', '011101100010', '101110101001', '010110110010',\n // 1535-1539\n '101010110101', '010101010101', '101100100101', '110110010010', '111011001001',\n // 1540-1544\n '011011010010', '101011101001', '010101101011', '010010101011', '101001010101',\n // 1545-1549\n '110100101001', '110101010100', '110110101010', '100110110101', '010010111010',\n // 1550-1554\n '101000111011', '010010011011', '101001001101', '101010101010', '101011010101',\n // 1555-1559\n '001011011010', '100101011101', '010001011110', '101000101110', '110010011010',\n // 1560-1564\n '110101010101', '011010110010', '011010111001', '010010111010', '101001011101',\n // 1565-1569\n '010100101101', '101010010101', '101101010010', '101110101000', '101110110100',\n // 1570-1574\n '010110111001', '001011011010', '100101011010', '101101001010', '110110100100',\n // 1575-1579\n '111011010001', '011011101000', '101101101010', '010101101101', '010100110101',\n // 1580-1584\n '011010010101', '110101001010', '110110101000', '110111010100', '011011011010',\n // 1585-1589\n '010101011011', '001010011101', '011000101011', '101100010101', '101101001010',\n // 1590-1594\n '101110010101', '010110101010', '101010101110', '100100101110', '110010001111',\n // 1595-1599\n '010100100111', '011010010101', '011010101010', '101011010110', '010101011101',\n // 1600\n '001010011101'\n];\n\nfunction getDaysDiff(date1: Date, date2: Date): number {\n // Ignores the time part in date1 and date2:\n const time1 = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());\n const time2 = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());\n const diff = Math.abs(time1 - time2);\n return Math.round(diff / ONE_DAY);\n}\n\n@Injectable()\nexport class NgbCalendarIslamicUmalqura extends NgbCalendarIslamicCivil {\n /**\n * Returns the equivalent islamic(Umalqura) date value for a give input Gregorian date.\n * `gdate` is s JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n let hDay = 1, hMonth = 0, hYear = 1300;\n let daysDiff = getDaysDiff(gDate, GREGORIAN_FIRST_DATE);\n if (gDate.getTime() - GREGORIAN_FIRST_DATE.getTime() >= 0 && gDate.getTime() - GREGORIAN_LAST_DATE.getTime() <= 0) {\n let year = 1300;\n for (let i = 0; i < MONTH_LENGTH.length; i++, year++) {\n for (let j = 0; j < 12; j++) {\n let numOfDays = +MONTH_LENGTH[i][j] + 29;\n if (daysDiff <= numOfDays) {\n hDay = daysDiff + 1;\n if (hDay > numOfDays) {\n hDay = 1;\n j++;\n }\n if (j > 11) {\n j = 0;\n year++;\n }\n hMonth = j;\n hYear = year;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n daysDiff = daysDiff - numOfDays;\n }\n }\n } else {\n return super.fromGregorian(gDate);\n }\n }\n /**\n * Converts the current Hijri date to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n let gDate = new Date(GREGORIAN_FIRST_DATE);\n let dayDiff = hDay - 1;\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n for (let y = 0; y < hYear - HIJRI_BEGIN; y++) {\n for (let m = 0; m < 12; m++) {\n dayDiff += +MONTH_LENGTH[y][m] + 29;\n }\n }\n for (let m = 0; m < hMonth; m++) {\n dayDiff += +MONTH_LENGTH[hYear - HIJRI_BEGIN][m] + 29;\n }\n gDate.setDate(GREGORIAN_FIRST_DATE.getDate() + dayDiff);\n } else {\n gDate = super.toGregorian(hDate);\n }\n return gDate;\n }\n /**\n * Returns the number of days in a specific Hijri hMonth.\n * `hMonth` is 1 for Muharram, 2 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\n getDaysPerMonth(hMonth: number, hYear: number): number {\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n const pos = hYear - HIJRI_BEGIN;\n return +MONTH_LENGTH[pos][hMonth - 1] + 29;\n }\n return super.getDaysPerMonth(hMonth, hYear);\n }\n}\n","import {NgbDate} from '../ngb-date';\n\n/**\n * Returns the equivalent JS date value for a give input Jalali date.\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\n */\nexport function toGregorian(jalaliDate: NgbDate): Date {\n let jdn = jalaliToJulian(jalaliDate.year, jalaliDate.month, jalaliDate.day);\n let date = julianToGregorian(jdn);\n date.setHours(6, 30, 3, 200);\n return date;\n}\n\n/**\n * Returns the equivalent jalali date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to jalali.\n * utc to local\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return julianToJalali(g2d);\n}\n\nexport function setJalaliYear(date: NgbDate, yearValue: number): NgbDate {\n date.year = +yearValue;\n return date;\n}\n\nexport function setJalaliMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n}\n\nexport function setJalaliDay(date: NgbDate, day: number): NgbDate {\n let mDays = getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = setJalaliMonth(date, date.month - 1);\n mDays = getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = setJalaliMonth(date, date.month + 1);\n mDays = getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\nfunction div(a: number, b: number) {\n return Math.trunc(a / b);\n}\n\n/*\n This function determines if the Jalali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalali year (jalaliYear).\n @param jalaliYear Jalali calendar year (-61 to 3177)\n @return\n leap: number of years since the last leap year (0 to 4)\n gYear: Gregorian year of the beginning of Jalali year\n march: the March day of Farvardin the 1st (1st day of jalaliYear)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n */\nfunction jalCal(jalaliYear: number) {\n // Jalali years starting the 33-year rule.\n let breaks =\n [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n const breaksLength = breaks.length;\n const gYear = jalaliYear + 621;\n let leapJ = -14;\n let jp = breaks[0];\n\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error('Invalid Jalali year ' + jalaliYear);\n }\n\n // Find the limiting years for the Jalali year jalaliYear.\n let jump;\n for (let i = 1; i < breaksLength; i += 1) {\n const jm = breaks[i];\n jump = jm - jp;\n if (jalaliYear < jm) {\n break;\n }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n let n = jalaliYear - jp;\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n }\n\n // And the same in the Gregorian calendar (until the year gYear).\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\n\n // Find how many years have passed since the last leap year.\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n let leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n\n return {leap: leap, gy: gYear, march: march};\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n @param jdn Julian Day number\n @return\n gYear: Calendar year (years BC numbered 0, -1, -2, ...)\n gMonth: Calendar month (1 to 12)\n gDay: Calendar day of the month M (1 to 28/29/30/31)\n */\nfunction julianToGregorian(julianDayNumber: number) {\n let j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod(j, 1461), 4) * 5 + 308;\n const gDay = div(mod(i, 153), 5) + 1;\n const gMonth = mod(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n\n return new Date(gYear, gMonth - 1, gDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction gregorianToJulian(gy: number, gm: number, gd: number) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n\n/*\n Converts the Julian Day number to a date in the Jalali calendar.\n @param julianDayNumber Julian Day number\n @return\n jalaliYear: Jalali year (1 to 3100)\n jalaliMonth: Jalali month (1 to 12)\n jalaliDay: Jalali day (1 to 29/31)\n */\nfunction julianToJalali(julianDayNumber: number) {\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\n ,\n jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay,\n jalaliMonth, numberOfDays;\n\n // Find number of days that passed since 1 Farvardin.\n numberOfDays = julianDayNumber - gregorianDay;\n if (numberOfDays >= 0) {\n if (numberOfDays <= 185) {\n // The first 6 months.\n jalaliMonth = 1 + div(numberOfDays, 31);\n jalaliDay = mod(numberOfDays, 31) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n } else {\n // The remaining months.\n numberOfDays -= 186;\n }\n } else {\n // Previous Jalali year.\n jalaliYear -= 1;\n numberOfDays += 179;\n if (r.leap === 1) {\n numberOfDays += 1;\n }\n }\n jalaliMonth = 7 + div(numberOfDays, 30);\n jalaliDay = mod(numberOfDays, 30) + 1;\n\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jYear Jalali year (1 to 3100)\n @param jMonth Jalali month (1 to 12)\n @param jDay Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction jalaliToJulian(jYear: number, jMonth: number, jDay: number) {\n let r = jalCal(jYear);\n return gregorianToJulian(r.gy, 3, r.march) + (jMonth - 1) * 31 - div(jMonth, 7) * (jMonth - 7) + jDay - 1;\n}\n\n/**\n * Returns the number of days in a specific jalali month.\n */\nfunction getDaysPerMonth(month: number, year: number): number {\n if (month <= 6) {\n return 31;\n }\n if (month <= 11) {\n return 30;\n }\n if (jalCal(year).leap === 0) {\n return 30;\n }\n return 29;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDate} from '../ngb-date';\nimport {NgbCalendar, NgbPeriod} from '../ngb-calendar';\nimport {isInteger} from '../../util/util';\n\nimport {fromGregorian, setJalaliDay, setJalaliMonth, setJalaliYear, toGregorian} from './jalali';\n\n@Injectable()\nexport class NgbCalendarPersian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = setJalaliYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setJalaliMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return setJalaliDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const startDate = toGregorian(new NgbDate(date.year, 1, 1));\n return Math.floor(Math.round((time - startDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n isValid(date: NgbDate): boolean {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\n !isNaN(toGregorian(date).getTime());\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbDateStruct} from '../ngb-date-struct';\n\nconst PARTS_PER_HOUR = 1080;\nconst PARTS_PER_DAY = 24 * PARTS_PER_HOUR;\nconst PARTS_FRACTIONAL_MONTH = 12 * PARTS_PER_HOUR + 793;\nconst PARTS_PER_MONTH = 29 * PARTS_PER_DAY + PARTS_FRACTIONAL_MONTH;\nconst BAHARAD = 11 * PARTS_PER_HOUR + 204;\nconst HEBREW_DAY_ON_JAN_1_1970 = 2092591;\nconst GREGORIAN_EPOCH = 1721425.5;\n\nfunction isGregorianLeapYear(year: number): boolean {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\nfunction numberOfFirstDayInYear(year: number): number {\n let monthsBeforeYear = Math.floor((235 * year - 234) / 19);\n let fractionalMonthsBeforeYear = monthsBeforeYear * PARTS_FRACTIONAL_MONTH + BAHARAD;\n let dayNumber = monthsBeforeYear * 29 + Math.floor(fractionalMonthsBeforeYear / PARTS_PER_DAY);\n let timeOfDay = fractionalMonthsBeforeYear % PARTS_PER_DAY;\n\n let dayOfWeek = dayNumber % 7; // 0 == Monday\n\n if (dayOfWeek === 2 || dayOfWeek === 4 || dayOfWeek === 6) {\n dayNumber++;\n dayOfWeek = dayNumber % 7;\n }\n if (dayOfWeek === 1 && timeOfDay > 15 * PARTS_PER_HOUR + 204 && !isHebrewLeapYear(year)) {\n dayNumber += 2;\n } else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\n dayNumber++;\n }\n return dayNumber;\n}\n\nfunction getDaysInGregorianMonth(month: number, year: number): number {\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n if (isGregorianLeapYear(year)) {\n days[1]++;\n }\n return days[month - 1];\n}\n\nfunction getHebrewMonths(year: number): number {\n return isHebrewLeapYear(year) ? 13 : 12;\n}\n\n/**\n * Returns the number of days in a specific Hebrew year.\n * `year` is any Hebrew year.\n */\nfunction getDaysInHebrewYear(year: number): number {\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n}\n\nexport function isHebrewLeapYear(year: number): boolean {\n let b = (year * 12 + 17) % 19;\n return b >= ((b < 0) ? -7 : 12);\n}\n\n/**\n * Returns the number of days in a specific Hebrew month.\n * `month` is 1 for Nisan, 2 for Iyar etc. Note: Hebrew leap year contains 13 months.\n * `year` is any Hebrew year.\n */\nexport function getDaysInHebrewMonth(month: number, year: number): number {\n let yearLength = numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n let yearType = (yearLength <= 380 ? yearLength : (yearLength - 30)) - 353;\n let leapYear = isHebrewLeapYear(year);\n let daysInMonth = leapYear ? [30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29] :\n [30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29];\n if (yearType > 0) {\n daysInMonth[2]++; // Kislev gets an extra day in normal or complete years.\n }\n if (yearType > 1) {\n daysInMonth[1]++; // Heshvan gets an extra day in complete years only.\n }\n return daysInMonth[month - 1];\n}\n\nexport function getDayNumberInHebrewYear(date: NgbDate): number {\n let numberOfDay = 0;\n for (let i = 1; i < date.month; i++) {\n numberOfDay += getDaysInHebrewMonth(i, date.year);\n }\n return numberOfDay + date.day;\n}\n\nexport function setHebrewMonth(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getHebrewMonths(date.year) - date.month) {\n val -= getHebrewMonths(date.year) - date.month + 1;\n date.year++;\n date.month = 1;\n } else {\n date.month += val;\n val = 0;\n }\n } else {\n if (val >= date.month) {\n date.year--;\n val -= date.month;\n date.month = getHebrewMonths(date.year);\n } else {\n date.month -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\nexport function setHebrewDay(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date)) {\n val -= getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date) + 1;\n date.year++;\n date.month = 1;\n date.day = 1;\n } else if (val > getDaysInHebrewMonth(date.month, date.year) - date.day) {\n val -= getDaysInHebrewMonth(date.month, date.year) - date.day + 1;\n date.month++;\n date.day = 1;\n } else {\n date.day += val;\n val = 0;\n }\n } else {\n if (val >= date.day) {\n val -= date.day;\n date.month--;\n if (date.month === 0) {\n date.year--;\n date.month = getHebrewMonths(date.year);\n }\n date.day = getDaysInHebrewMonth(date.month, date.year);\n } else {\n date.day -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\n/**\n * Returns the equivalent Hebrew date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to Hebrew date.\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n const date = new Date(gdate);\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) -\n Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor((367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gYear) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay + 0.5);\n let daysSinceHebEpoch = julianDay - 347997;\n let monthsSinceHebEpoch = Math.floor(daysSinceHebEpoch * PARTS_PER_DAY / PARTS_PER_MONTH);\n let hYear = Math.floor((monthsSinceHebEpoch * 19 + 234) / 235) + 1;\n let firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n let dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n while (dayOfYear < 1) {\n hYear--;\n firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n }\n let hMonth = 1;\n let hDay = dayOfYear;\n while (hDay > getDaysInHebrewMonth(hMonth, hYear)) {\n hDay -= getDaysInHebrewMonth(hMonth, hYear);\n hMonth++;\n }\n return new NgbDate(hYear, hMonth, hDay);\n}\n\n/**\n * Returns the equivalent JS date value for a given Hebrew date.\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\n */\nexport function toGregorian(hebrewDate: NgbDateStruct | NgbDate): Date {\n const hYear = hebrewDate.year;\n const hMonth = hebrewDate.month;\n const hDay = hebrewDate.day;\n let days = numberOfFirstDayInYear(hYear);\n for (let i = 1; i < hMonth; i++) {\n days += getDaysInHebrewMonth(i, hYear);\n }\n days += hDay;\n let diffDays = days - HEBREW_DAY_ON_JAN_1_1970;\n let after = diffDays >= 0;\n if (!after) {\n diffDays = -diffDays;\n }\n let gYear = 1970;\n let gMonth = 1;\n let gDay = 1;\n while (diffDays > 0) {\n if (after) {\n if (diffDays >= (isGregorianLeapYear(gYear) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear) ? 366 : 365;\n gYear++;\n } else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n gMonth++;\n } else {\n gDay += diffDays;\n diffDays = 0;\n }\n } else {\n if (diffDays >= (isGregorianLeapYear(gYear - 1) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear - 1) ? 366 : 365;\n gYear--;\n } else {\n if (gMonth > 1) {\n gMonth--;\n } else {\n gMonth = 12;\n gYear--;\n }\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n } else {\n gDay = getDaysInGregorianMonth(gMonth, gYear) - diffDays + 1;\n diffDays = 0;\n }\n }\n }\n }\n return new Date(gYear, gMonth - 1, gDay);\n}\n\nexport function hebrewNumerals(numerals: number): string {\n if (!numerals) {\n return '';\n }\n const hArray0_9 = ['', '\\u05d0', '\\u05d1', '\\u05d2', '\\u05d3', '\\u05d4', '\\u05d5', '\\u05d6', '\\u05d7', '\\u05d8'];\n const hArray10_19 = [\n '\\u05d9', '\\u05d9\\u05d0', '\\u05d9\\u05d1', '\\u05d9\\u05d2', '\\u05d9\\u05d3', '\\u05d8\\u05d5', '\\u05d8\\u05d6',\n '\\u05d9\\u05d6', '\\u05d9\\u05d7', '\\u05d9\\u05d8'\n ];\n const hArray20_90 = ['', '', '\\u05db', '\\u05dc', '\\u05de', '\\u05e0', '\\u05e1', '\\u05e2', '\\u05e4', '\\u05e6'];\n const hArray100_900 = [\n '', '\\u05e7', '\\u05e8', '\\u05e9', '\\u05ea', '\\u05ea\\u05e7', '\\u05ea\\u05e8', '\\u05ea\\u05e9', '\\u05ea\\u05ea',\n '\\u05ea\\u05ea\\u05e7'\n ];\n const hArray1000_9000 = [\n '', '\\u05d0', '\\u05d1', '\\u05d1\\u05d0', '\\u05d1\\u05d1', '\\u05d4', '\\u05d4\\u05d0', '\\u05d4\\u05d1',\n '\\u05d4\\u05d1\\u05d0', '\\u05d4\\u05d1\\u05d1'\n ];\n const geresh = '\\u05f3', gershaim = '\\u05f4';\n let mem = 0;\n let result = [];\n let step = 0;\n while (numerals > 0) {\n let m = numerals % 10;\n if (step === 0) {\n mem = m;\n } else if (step === 1) {\n if (m !== 1) {\n result.unshift(hArray20_90[m], hArray0_9[mem]);\n } else {\n result.unshift(hArray10_19[mem]);\n }\n } else if (step === 2) {\n result.unshift(hArray100_900[m]);\n } else {\n if (m !== 5) {\n result.unshift(hArray1000_9000[m], geresh, ' ');\n }\n break;\n }\n numerals = Math.floor(numerals / 10);\n if (step === 0 && numerals === 0) {\n result.unshift(hArray0_9[m]);\n }\n step++;\n }\n result = result.join('').split('');\n if (result.length === 1) {\n result.push(geresh);\n } else if (result.length > 1) {\n result.splice(result.length - 1, 0, gershaim);\n }\n return result.join('');\n}\n","import {NgbDate} from '../ngb-date';\nimport {fromJSDate, NgbCalendar, NgbPeriod, toJSDate} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\nimport {\n fromGregorian,\n getDayNumberInHebrewYear,\n getDaysInHebrewMonth,\n isHebrewLeapYear,\n toGregorian,\n setHebrewDay,\n setHebrewMonth\n} from './hebrew';\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbCalendarHebrew extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths(year?: number) {\n if (year && isHebrewLeapYear(year)) {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\n } else {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n }\n }\n\n getWeeksPerMonth() { return 6; }\n\n isValid(date: NgbDate): boolean {\n let b = date && isNumber(date.year) && isNumber(date.month) && isNumber(date.day);\n b = b && date.month > 0 && date.month <= (isHebrewLeapYear(date.year) ? 13 : 12);\n b = b && date.day > 0 && date.day <= getDaysInHebrewMonth(date.month, date.year);\n return b && !isNaN(toGregorian(date).getTime());\n }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date.year += number;\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setHebrewMonth(date, number);\n date.day = 1;\n return date;\n case 'd':\n return setHebrewDay(date, number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n const date = week[week.length - 1];\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n /**\n * @since 3.4.0\n */\n toGregorian(date: NgbDate): NgbDate { return fromJSDate(toGregorian(date)); }\n\n /**\n * @since 3.4.0\n */\n fromGregorian(date: NgbDate): NgbDate { return fromGregorian(toJSDate(date)); }\n}\n","import {NgbDatepickerI18n} from '../datepicker-i18n';\nimport {NgbDateStruct} from '../../index';\nimport {hebrewNumerals, isHebrewLeapYear} from './hebrew';\nimport {Injectable} from '@angular/core';\n\n\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\nconst MONTHS_LEAP =\n ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\n getMonthShortName(month: number, year?: number): string { return this.getMonthFullName(month, year); }\n\n getMonthFullName(month: number, year?: number): string {\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] : MONTHS[month - 1];\n }\n\n getWeekdayShortName(weekday: number): string { return WEEKDAYS[weekday - 1]; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\n }\n\n getDayNumerals(date: NgbDateStruct): string { return hebrewNumerals(date.day); }\n\n getWeekNumerals(weekNumber: number): string { return hebrewNumerals(weekNumber); }\n\n getYearNumerals(year: number): string { return hebrewNumerals(year); }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateAdapter} from './ngb-date-adapter';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\n/**\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\n * native javascript dates as a user date model.\n */\n@Injectable()\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\n /**\n * Converts a native `Date` to a `NgbDateStruct`.\n */\n fromModel(date: Date): NgbDateStruct {\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\n }\n\n /**\n * Converts a `NgbDateStruct` to a native `Date`.\n */\n toModel(date: NgbDateStruct): Date {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\n null;\n }\n\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // avoid 30 -> 1930 conversion\n jsDate.setFullYear(date.year);\n return jsDate;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {NgbDateNativeAdapter} from './ngb-date-native-adapter';\n\n/**\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\n *\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(Date.UTC(date.year, date.month - 1, date.day));\n // avoid 30 -> 1930 conversion\n jsDate.setUTCFullYear(date.year);\n return jsDate;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {NgbDatepicker, NgbDatepickerContent} from './datepicker';\nimport {NgbDatepickerMonth} from './datepicker-month';\nimport {NgbDatepickerNavigation} from './datepicker-navigation';\nimport {NgbInputDatepicker} from './datepicker-input';\nimport {NgbDatepickerDayView} from './datepicker-day-view';\nimport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\n\nexport {NgbDatepicker, NgbDatepickerContent, NgbDatepickerNavigateEvent, NgbDatepickerState} from './datepicker';\nexport {NgbInputDatepicker} from './datepicker-input';\nexport {NgbCalendar, NgbPeriod, NgbCalendarGregorian} from './ngb-calendar';\nexport {NgbCalendarIslamicCivil} from './hijri/ngb-calendar-islamic-civil';\nexport {NgbCalendarIslamicUmalqura} from './hijri/ngb-calendar-islamic-umalqura';\nexport {NgbCalendarPersian} from './jalali/ngb-calendar-persian';\nexport {NgbCalendarHebrew} from './hebrew/ngb-calendar-hebrew';\nexport {NgbDatepickerI18nHebrew} from './hebrew/datepicker-i18n-hebrew';\nexport {NgbDatepickerMonth} from './datepicker-month';\nexport {NgbDatepickerDayView} from './datepicker-day-view';\nexport {NgbDatepickerNavigation} from './datepicker-navigation';\nexport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\nexport {NgbDatepickerConfig} from './datepicker-config';\nexport {NgbInputDatepickerConfig} from './datepicker-input-config';\nexport {NgbDatepickerI18n} from './datepicker-i18n';\nexport {NgbDateStruct} from './ngb-date-struct';\nexport {NgbDate} from './ngb-date';\nexport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nexport {NgbDateNativeAdapter} from './adapters/ngb-date-native-adapter';\nexport {NgbDateNativeUTCAdapter} from './adapters/ngb-date-native-utc-adapter';\nexport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nexport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\n\n@NgModule({\n declarations: [\n NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect,\n NgbDatepickerDayView, NgbInputDatepicker\n ],\n exports: [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth],\n imports: [CommonModule, FormsModule],\n entryComponents: [NgbDatepicker]\n})\nexport class NgbDatepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDropdown`](#/components/dropdown/api#NgbDropdown) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the dropdowns used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDropdownConfig {\n autoClose: boolean | 'outside' | 'inside' = true;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n container: null | 'body';\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n AfterContentInit,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n Optional\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {fromEvent, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {Placement, PlacementArray, positionElements} from '../util/positioning';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\n\nimport {NgbDropdownConfig} from './dropdown-config';\n\n@Directive({selector: '.navbar'})\nexport class NgbNavbar {\n}\n\n/**\n * A directive you should put on a dropdown item to enable keyboard navigation.\n * Arrow keys will move focus between items marked with this directive.\n *\n * @since 4.1.0\n */\n@Directive({selector: '[ngbDropdownItem]', host: {'class': 'dropdown-item', '[class.disabled]': 'disabled'}})\nexport class NgbDropdownItem {\n private _disabled = false;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = value === '' || value === true; // accept an empty attribute as true\n }\n\n get disabled(): boolean { return this._disabled; }\n\n constructor(public elementRef: ElementRef) {}\n}\n\n/**\n * A directive that wraps dropdown menu content and dropdown items.\n */\n@Directive({\n selector: '[ngbDropdownMenu]',\n host: {\n '[class.dropdown-menu]': 'true',\n '[class.show]': 'dropdown.isOpen()',\n '[attr.x-placement]': 'placement',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Enter)': 'dropdown.onKeyDown($event)',\n '(keydown.Space)': 'dropdown.onKeyDown($event)'\n }\n})\nexport class NgbDropdownMenu {\n placement: Placement = 'bottom';\n isOpen = false;\n\n @ContentChildren(NgbDropdownItem) menuItems: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown) {}\n}\n\n/**\n * A directive to mark an element to which dropdown menu will be anchored.\n *\n * This is a simple version of the `NgbDropdownToggle` directive.\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\n * for events other than click.\n *\n * @since 1.1.0\n */\n@Directive({\n selector: '[ngbDropdownAnchor]',\n host: {'class': 'dropdown-toggle', 'aria-haspopup': 'true', '[attr.aria-expanded]': 'dropdown.isOpen()'}\n})\nexport class NgbDropdownAnchor {\n anchorEl;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, private _elementRef: ElementRef) {\n this.anchorEl = _elementRef.nativeElement;\n }\n\n getNativeElement() { return this._elementRef.nativeElement; }\n}\n\n/**\n * A directive to mark an element that will toggle dropdown via the `click` event.\n *\n * You can also use `NgbDropdownAnchor` as an alternative.\n */\n@Directive({\n selector: '[ngbDropdownToggle]',\n host: {\n 'class': 'dropdown-toggle',\n 'aria-haspopup': 'true',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '(click)': 'dropdown.toggle()',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)'\n },\n providers: [{provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle)}]\n})\nexport class NgbDropdownToggle extends NgbDropdownAnchor {\n constructor(@Inject(forwardRef(() => NgbDropdown)) dropdown, elementRef: ElementRef) {\n super(dropdown, elementRef);\n }\n}\n\n/**\n * A directive that provides contextual overlays for displaying lists of links and more.\n */\n@Directive({selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: {'[class.show]': 'isOpen()'}})\nexport class NgbDropdown implements AfterContentInit, OnDestroy {\n private _closed$ = new Subject();\n private _zoneSubscription: Subscription;\n private _bodyContainer: HTMLElement;\n\n @ContentChild(NgbDropdownMenu, {static: false}) private _menu: NgbDropdownMenu;\n @ContentChild(NgbDropdownMenu, {read: ElementRef, static: false}) private _menuElement: ElementRef;\n @ContentChild(NgbDropdownAnchor, {static: false}) private _anchor: NgbDropdownAnchor;\n\n /**\n * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\n *\n * * `true` - the dropdown will close on both outside and inside (menu) clicks.\n * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\n * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\n */\n @Input() autoClose: boolean | 'outside' | 'inside';\n\n /**\n * Defines whether or not the dropdown menu is opened initially.\n */\n @Input('open') _open = false;\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * A selector specifying the element the dropdown should be appended to.\n * Currently only supports \"body\".\n *\n * @since 4.1.0\n */\n @Input() container: null | 'body';\n\n /**\n * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\n * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\n * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\n * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\n *\n * @since 4.2.0\n */\n @Input() display: 'dynamic' | 'static';\n\n /**\n * An event fired when the dropdown is opened or closed.\n *\n * The event payload is a `boolean`:\n * * `true` - the dropdown was opened\n * * `false` - the dropdown was closed\n */\n @Output() openChange = new EventEmitter();\n\n constructor(\n private _changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _elementRef: ElementRef, private _renderer: Renderer2,\n @Optional() ngbNavbar: NgbNavbar) {\n this.placement = config.placement;\n this.container = config.container;\n this.autoClose = config.autoClose;\n\n this.display = ngbNavbar ? 'static' : 'dynamic';\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\n }\n\n ngAfterContentInit() {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this._applyPlacementClasses();\n if (this._open) {\n this._setCloseHandlers();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.container && this._open) {\n this._applyContainer(this.container);\n }\n\n if (changes.placement && !changes.placement.isFirstChange) {\n this._applyPlacementClasses();\n }\n }\n\n /**\n * Checks if the dropdown menu is open.\n */\n isOpen(): boolean { return this._open; }\n\n /**\n * Opens the dropdown menu.\n */\n open(): void {\n if (!this._open) {\n this._open = true;\n this._applyContainer(this.container);\n this.openChange.emit(true);\n this._setCloseHandlers();\n }\n }\n\n private _setCloseHandlers() {\n const anchor = this._anchor;\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this._closed$,\n this._menu ? [this._menuElement.nativeElement] : [], anchor ? [anchor.getNativeElement()] : [],\n '.dropdown-item,.dropdown-divider');\n }\n\n /**\n * Closes the dropdown menu.\n */\n close(): void {\n if (this._open) {\n this._open = false;\n this._resetContainer();\n this._closed$.next();\n this.openChange.emit(false);\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the dropdown menu.\n */\n toggle(): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n ngOnDestroy() {\n this._resetContainer();\n\n this._closed$.next();\n this._zoneSubscription.unsubscribe();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const key = event.which;\n const itemElements = this._getMenuElements();\n\n let position = -1;\n let isEventFromItems = false;\n let itemElement: HTMLElement = null;\n const isEventFromToggle = this._isEventFromToggle(event);\n\n if (!isEventFromToggle && itemElements.length) {\n itemElements.forEach((item, index) => {\n if (item.contains(event.target as HTMLElement)) {\n isEventFromItems = true;\n itemElement = item;\n }\n if (item === this._document.activeElement) {\n position = index;\n }\n });\n }\n\n // closing on Enter / Space\n if (key === Key.Space || key === Key.Enter) {\n if (isEventFromItems && (this.autoClose === true || this.autoClose === 'inside')) {\n // Item is either a button or a link, so click will be triggered by the browser on Enter or Space.\n // So we have to register a one-time click handler that will fire after any user defined click handlers\n // to close the dropdown\n fromEvent(itemElement, 'click').pipe(take(1)).subscribe(() => this.close());\n }\n return;\n }\n\n // opening / navigating\n if (isEventFromToggle || isEventFromItems) {\n this.open();\n\n if (itemElements.length) {\n switch (key) {\n case Key.ArrowDown:\n position = Math.min(position + 1, itemElements.length - 1);\n break;\n case Key.ArrowUp:\n if (this._isDropup() && position === -1) {\n position = itemElements.length - 1;\n break;\n }\n position = Math.max(position - 1, 0);\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = itemElements.length - 1;\n break;\n }\n itemElements[position].focus();\n }\n event.preventDefault();\n }\n }\n\n private _isDropup(): boolean { return this._elementRef.nativeElement.classList.contains('dropup'); }\n\n private _isEventFromToggle(event: KeyboardEvent) {\n return this._anchor.getNativeElement().contains(event.target as HTMLElement);\n }\n\n private _getMenuElements(): HTMLElement[] {\n const menu = this._menu;\n if (menu == null) {\n return [];\n }\n return menu.menuItems.filter(item => !item.disabled).map(item => item.elementRef.nativeElement);\n }\n\n private _positionMenu() {\n const menu = this._menu;\n if (this.isOpen() && menu) {\n this._applyPlacementClasses(\n this.display === 'dynamic' ?\n positionElements(\n this._anchor.anchorEl, this._bodyContainer || this._menuElement.nativeElement, this.placement,\n this.container === 'body') :\n this._getFirstPlacement(this.placement));\n }\n }\n\n private _getFirstPlacement(placement: PlacementArray): Placement {\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0] as Placement;\n }\n\n private _resetContainer() {\n const renderer = this._renderer;\n const menuElement = this._menuElement;\n if (menuElement) {\n const dropdownElement = this._elementRef.nativeElement;\n const dropdownMenuElement = menuElement.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this._bodyContainer) {\n renderer.removeChild(this._document.body, this._bodyContainer);\n this._bodyContainer = null;\n }\n }\n\n private _applyContainer(container: null | 'body' = null) {\n this._resetContainer();\n if (container === 'body') {\n const renderer = this._renderer;\n const dropdownMenuElement = this._menuElement.nativeElement;\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\n\n // Override some styles to have the positionning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this._document.body, bodyContainer);\n }\n }\n\n private _applyPlacementClasses(placement?: Placement) {\n const menu = this._menu;\n if (menu) {\n if (!placement) {\n placement = this._getFirstPlacement(this.placement);\n }\n\n const renderer = this._renderer;\n const dropdownElement = this._elementRef.nativeElement;\n\n // remove the current placement classes\n renderer.removeClass(dropdownElement, 'dropup');\n renderer.removeClass(dropdownElement, 'dropdown');\n menu.placement = this.display === 'static' ? null : placement;\n\n /*\n * apply the new placement\n * in case of top use up-arrow or down-arrow otherwise\n */\n const dropdownClass = placement.search('^top') !== -1 ? 'dropup' : 'dropdown';\n renderer.addClass(dropdownElement, dropdownClass);\n\n const bodyContainer = this._bodyContainer;\n if (bodyContainer) {\n renderer.removeClass(bodyContainer, 'dropup');\n renderer.removeClass(bodyContainer, 'dropdown');\n renderer.addClass(bodyContainer, dropdownClass);\n }\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\n\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\nexport {NgbDropdownConfig} from './dropdown-config';\n\nconst NGB_DROPDOWN_DIRECTIVES =\n [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\n\n@NgModule({declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES})\nexport class NgbDropdownModule {\n}\n","import {Injectable, Injector} from '@angular/core';\n\n/**\n * Options available when opening new modal windows with `NgbModal.open()` method.\n */\nexport interface NgbModalOptions {\n /**\n * `aria-labelledby` attribute value to set on the modal window.\n *\n * @since 2.2.0\n */\n ariaLabelledBy?: string;\n\n /**\n * If `true`, the backdrop element will be created for a given modal.\n *\n * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n *\n * Default value is `true`.\n */\n backdrop?: boolean | 'static';\n\n /**\n * Callback right before the modal will be dismissed.\n *\n * If this function returns:\n * * `false`\n * * a promise resolved with `false`\n * * a promise that is rejected\n *\n * then the modal won't be dismissed.\n */\n beforeDismiss?: () => boolean | Promise;\n\n /**\n * If `true`, the modal will be centered vertically.\n *\n * Default value is `false`.\n *\n * @since 1.1.0\n */\n centered?: boolean;\n\n /**\n * A selector specifying the element all new modal windows should be appended to.\n * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n *\n * If not specified, will be `body`.\n */\n container?: string | HTMLElement;\n\n /**\n * The `Injector` to use for modal content.\n */\n injector?: Injector;\n\n /**\n * If `true`, the modal will be closed when `Escape` key is pressed\n *\n * Default value is `true`.\n */\n keyboard?: boolean;\n\n /**\n * Scrollable modal content (false by default).\n *\n * @since 5.0.0\n */\n scrollable?: boolean;\n\n /**\n * Size of a new modal window.\n */\n size?: 'sm' | 'lg' | 'xl' | string;\n\n /**\n * A custom class to append to the modal window.\n */\n windowClass?: string;\n\n /**\n * A custom class to append to the modal backdrop.\n *\n * @since 1.1.0\n */\n backdropClass?: string;\n}\n\n/**\n * A configuration service for the [`NgbModal`](#/components/modal/api#NgbModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n*\n* @since 3.1.0\n*/\n@Injectable({providedIn: 'root'})\nexport class NgbModalConfig implements Required {\n ariaLabelledBy: string;\n backdrop: boolean | 'static' = true;\n beforeDismiss: () => boolean | Promise;\n centered: boolean;\n container: string;\n injector: Injector;\n keyboard = true;\n scrollable: boolean;\n size: 'sm' | 'lg' | 'xl' | string;\n windowClass: string;\n backdropClass: string;\n}\n","import {\n Injector,\n TemplateRef,\n ViewRef,\n ViewContainerRef,\n Renderer2,\n ComponentRef,\n ComponentFactoryResolver,\n ApplicationRef\n} from '@angular/core';\n\nexport class ContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {}\n}\n\nexport class PopupService {\n private _windowRef: ComponentRef;\n private _contentRef: ContentRef;\n\n constructor(\n private _type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, private _componentFactoryResolver: ComponentFactoryResolver,\n private _applicationRef: ApplicationRef) {}\n\n open(content?: string | TemplateRef, context?: any): ComponentRef {\n if (!this._windowRef) {\n this._contentRef = this._getContentRef(content, context);\n this._windowRef = this._viewContainerRef.createComponent(\n this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length,\n this._injector, this._contentRef.nodes);\n }\n\n return this._windowRef;\n }\n\n close() {\n if (this._windowRef) {\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\n this._windowRef = null;\n\n if (this._contentRef.viewRef) {\n this._applicationRef.detachView(this._contentRef.viewRef);\n this._contentRef.viewRef.destroy();\n this._contentRef = null;\n }\n }\n }\n\n private _getContentRef(content: string | TemplateRef, context?: any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n } else {\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n }\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\nconst noop = () => {};\n\n\n\n/** Type for the callback used to revert the scrollbar compensation. */\nexport type CompensationReverter = () => void;\n\n\n\n/**\n * Utility to handle the scrollbar.\n *\n * It allows to compensate the lack of a vertical scrollbar by adding an\n * equivalent padding on the right of the body, and to remove this compensation.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollBar {\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n /**\n * To be called right before a potential vertical scrollbar would be removed:\n *\n * - if there was a scrollbar, adds some compensation padding to the body\n * to keep the same layout as when the scrollbar is there\n * - if there was none, there is nothing to do\n *\n * @return a callback used to revert the compensation (noop if there was none,\n * otherwise a function removing the padding)\n */\n compensate(): CompensationReverter {\n const width = this._getWidth();\n return !this._isPresent(width) ? noop : this._adjustBody(width);\n }\n\n /**\n * Adds a padding of the given width on the right of the body.\n *\n * @return a callback used to revert the padding to its previous value\n */\n private _adjustBody(scrollbarWidth: number): CompensationReverter {\n const body = this._document.body;\n const userSetPaddingStyle = body.style.paddingRight;\n const actualPadding = parseFloat(window.getComputedStyle(body)['padding-right']);\n body.style['padding-right'] = `${actualPadding + scrollbarWidth}px`;\n return () => body.style['padding-right'] = userSetPaddingStyle;\n }\n\n /**\n * Tells whether a scrollbar is currently present on the body.\n *\n * @return true if scrollbar is present, false otherwise\n */\n private _isPresent(scrollbarWidth: number): boolean {\n const rect = this._document.body.getBoundingClientRect();\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\n const uncertainty = 0.1 * scrollbarWidth;\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\n }\n\n /**\n * Calculates and returns the width of a scrollbar.\n *\n * @return the width of a scrollbar on this page\n */\n private _getWidth(): number {\n const measurer = this._document.createElement('div');\n measurer.className = 'modal-scrollbar-measure';\n\n const body = this._document.body;\n body.appendChild(measurer);\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\n body.removeChild(measurer);\n\n return width;\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'ngb-modal-backdrop',\n encapsulation: ViewEncapsulation.None,\n template: '',\n host:\n {'[class]': '\"modal-backdrop fade show\" + (backdropClass ? \" \" + backdropClass : \"\")', 'style': 'z-index: 1050'}\n})\nexport class NgbModalBackdrop {\n @Input() backdropClass: string;\n}\n","import {ComponentRef} from '@angular/core';\n\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nimport {ContentRef} from '../util/popup';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class NgbActiveModal {\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {}\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {}\n}\n\n/**\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\n */\nexport class NgbModalRef {\n private _resolve: (result?: any) => void;\n private _reject: (reason?: any) => void;\n\n /**\n * The instance of a component used for the modal content.\n *\n * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n */\n get componentInstance(): any {\n if (this._contentRef && this._contentRef.componentRef) {\n return this._contentRef.componentRef.instance;\n }\n }\n\n /**\n * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n */\n result: Promise;\n\n constructor(\n private _windowCmptRef: ComponentRef, private _contentRef: ContentRef,\n private _backdropCmptRef?: ComponentRef, private _beforeDismiss?: Function) {\n _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { this.dismiss(reason); });\n\n this.result = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n this.result.then(null, () => {});\n }\n\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {\n if (this._windowCmptRef) {\n this._resolve(result);\n this._removeModalElements();\n }\n }\n\n private _dismiss(reason?: any) {\n this._reject(reason);\n this._removeModalElements();\n }\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {\n if (this._windowCmptRef) {\n if (!this._beforeDismiss) {\n this._dismiss(reason);\n } else {\n const dismiss = this._beforeDismiss();\n if (dismiss && dismiss.then) {\n dismiss.then(\n result => {\n if (result !== false) {\n this._dismiss(reason);\n }\n },\n () => {});\n } else if (dismiss !== false) {\n this._dismiss(reason);\n }\n }\n }\n }\n\n private _removeModalElements() {\n const windowNativeEl = this._windowCmptRef.location.nativeElement;\n windowNativeEl.parentNode.removeChild(windowNativeEl);\n this._windowCmptRef.destroy();\n\n if (this._backdropCmptRef) {\n const backdropNativeEl = this._backdropCmptRef.location.nativeElement;\n backdropNativeEl.parentNode.removeChild(backdropNativeEl);\n this._backdropCmptRef.destroy();\n }\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._windowCmptRef = null;\n this._backdropCmptRef = null;\n this._contentRef = null;\n }\n}\n","export enum ModalDismissReasons {\n BACKDROP_CLICK,\n ESC\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {fromEvent, Subject} from 'rxjs';\nimport {filter, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {getFocusableBoundaryElements} from '../util/focus-trap';\nimport {Key} from '../util/key';\nimport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@Component({\n selector: 'ngb-modal-window',\n host: {\n '[class]': '\"modal fade show d-block\" + (windowClass ? \" \" + windowClass : \"\")',\n 'role': 'dialog',\n 'tabindex': '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n template: `\n
\n
\n
\n `,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./modal.scss']\n})\nexport class NgbModalWindow implements OnInit,\n AfterViewInit, OnDestroy {\n private _closed$ = new Subject();\n private _elWithFocus: Element; // element that is focused prior to modal opening\n\n @ViewChild('dialog', {static: true}) private _dialogEl: ElementRef;\n\n @Input() ariaLabelledBy: string;\n @Input() backdrop: boolean | string = true;\n @Input() centered: string;\n @Input() keyboard = true;\n @Input() scrollable: string;\n @Input() size: string;\n @Input() windowClass: string;\n\n @Output('dismiss') dismissEvent = new EventEmitter();\n\n constructor(\n @Inject(DOCUMENT) private _document: any, private _elRef: ElementRef, private _zone: NgZone) {}\n\n dismiss(reason): void { this.dismissEvent.emit(reason); }\n\n ngOnInit() { this._elWithFocus = this._document.activeElement; }\n\n ngAfterViewInit() {\n const {nativeElement} = this._elRef;\n this._zone.runOutsideAngular(() => {\n\n fromEvent(nativeElement, 'keydown')\n .pipe(\n takeUntil(this._closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape && this.keyboard))\n .subscribe(event => requestAnimationFrame(() => {\n if (!event.defaultPrevented) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n }\n }));\n\n // We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n // inside the modal dialog and releasing it outside\n let preventClose = false;\n fromEvent(this._dialogEl.nativeElement, 'mousedown')\n .pipe(\n takeUntil(this._closed$), tap(() => preventClose = false),\n switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n filter(({target}) => nativeElement === target))\n .subscribe(() => { preventClose = true; });\n\n // We're listening to 'click' to dismiss modal on modal window click, except when:\n // 1. clicking on modal dialog itself\n // 2. closing was prevented by mousedown/up handlers\n // 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n fromEvent(nativeElement, 'click').pipe(takeUntil(this._closed$)).subscribe(({target}) => {\n if (this.backdrop === true && nativeElement === target && !preventClose) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n }\n preventClose = false;\n });\n });\n\n if (!nativeElement.contains(document.activeElement)) {\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`) as HTMLElement;\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\n elementToFocus.focus();\n }\n }\n\n ngOnDestroy() {\n const body = this._document.body;\n const elWithFocus = this._elWithFocus;\n\n let elementToFocus;\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\n elementToFocus = elWithFocus;\n } else {\n elementToFocus = body;\n }\n this._zone.runOutsideAngular(() => {\n setTimeout(() => elementToFocus.focus());\n this._elWithFocus = null;\n });\n\n this._closed$.next();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Inject,\n Injectable,\n Injector,\n NgZone,\n RendererFactory2,\n TemplateRef\n} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {ContentRef} from '../util/popup';\nimport {ScrollBar} from '../util/scrollbar';\nimport {isDefined, isString} from '../util/util';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalOptions} from './modal-config';\nimport {NgbActiveModal, NgbModalRef} from './modal-ref';\nimport {NgbModalWindow} from './modal-window';\n\n@Injectable({providedIn: 'root'})\nexport class NgbModalStack {\n private _activeWindowCmptHasChanged = new Subject();\n private _ariaHiddenValues: Map = new Map();\n private _backdropAttributes = ['backdropClass'];\n private _modalRefs: NgbModalRef[] = [];\n private _windowAttributes =\n ['ariaLabelledBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size', 'windowClass'];\n private _windowCmpts: ComponentRef[] = [];\n\n constructor(\n private _applicationRef: ApplicationRef, private _injector: Injector, @Inject(DOCUMENT) private _document: any,\n private _scrollBar: ScrollBar, private _rendererFactory: RendererFactory2, private _ngZone: NgZone) {\n // Trap focus on active WindowCmpt\n this._activeWindowCmptHasChanged.subscribe(() => {\n if (this._windowCmpts.length) {\n const activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n ngbFocusTrap(this._ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n this._revertAriaHidden();\n this._setAriaHidden(activeWindowCmpt.location.nativeElement);\n }\n });\n }\n\n open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {\n const containerEl = options.container instanceof HTMLElement ? options.container : isDefined(options.container) ?\n this._document.querySelector(options.container) :\n this._document.body;\n const renderer = this._rendererFactory.createRenderer(null, null);\n\n const revertPaddingForScrollBar = this._scrollBar.compensate();\n const removeBodyClass = () => {\n if (!this._modalRefs.length) {\n renderer.removeClass(this._document.body, 'modal-open');\n this._revertAriaHidden();\n }\n };\n\n if (!containerEl) {\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n }\n\n const activeModal = new NgbActiveModal();\n const contentRef =\n this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\n\n let backdropCmptRef: ComponentRef =\n options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : null;\n let windowCmptRef: ComponentRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\n let ngbModalRef: NgbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n this._registerModalRef(ngbModalRef);\n this._registerWindowCmpt(windowCmptRef);\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\n activeModal.close = (result: any) => { ngbModalRef.close(result); };\n activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };\n\n this._applyWindowOptions(windowCmptRef.instance, options);\n if (this._modalRefs.length === 1) {\n renderer.addClass(this._document.body, 'modal-open');\n }\n\n if (backdropCmptRef && backdropCmptRef.instance) {\n this._applyBackdropOptions(backdropCmptRef.instance, options);\n }\n return ngbModalRef;\n }\n\n dismissAll(reason?: any) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\n\n hasOpenModals(): boolean { return this._modalRefs.length > 0; }\n\n private _attachBackdrop(moduleCFR: ComponentFactoryResolver, containerEl: any): ComponentRef {\n let backdropFactory = moduleCFR.resolveComponentFactory(NgbModalBackdrop);\n let backdropCmptRef = backdropFactory.create(this._injector);\n this._applicationRef.attachView(backdropCmptRef.hostView);\n containerEl.appendChild(backdropCmptRef.location.nativeElement);\n return backdropCmptRef;\n }\n\n private _attachWindowComponent(moduleCFR: ComponentFactoryResolver, containerEl: any, contentRef: any):\n ComponentRef {\n let windowFactory = moduleCFR.resolveComponentFactory(NgbModalWindow);\n let windowCmptRef = windowFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(windowCmptRef.hostView);\n containerEl.appendChild(windowCmptRef.location.nativeElement);\n return windowCmptRef;\n }\n\n private _applyWindowOptions(windowInstance: NgbModalWindow, options: Object): void {\n this._windowAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n windowInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _applyBackdropOptions(backdropInstance: NgbModalBackdrop, options: Object): void {\n this._backdropAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n backdropInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _getContentRef(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, activeModal: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, activeModal);\n } else if (isString(content)) {\n return this._createFromString(content);\n } else {\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\n }\n }\n\n private _createFromTemplateRef(content: TemplateRef, activeModal: NgbActiveModal): ContentRef {\n const context = {\n $implicit: activeModal,\n close(result) { activeModal.close(result); },\n dismiss(reason) { activeModal.dismiss(reason); }\n };\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ContentRef([[component]]);\n }\n\n private _createFromComponent(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, context: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\n const modalContentInjector =\n Injector.create({providers: [{provide: NgbActiveModal, useValue: context}], parent: contentInjector});\n const componentRef = contentCmptFactory.create(modalContentInjector);\n const componentNativeEl = componentRef.location.nativeElement;\n if (options.scrollable) {\n (componentNativeEl as HTMLElement).classList.add('component-host-scrollable');\n }\n this._applicationRef.attachView(componentRef.hostView);\n // FIXME: we should here get rid of the component nativeElement\n // and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n return new ContentRef([[componentNativeEl]], componentRef.hostView, componentRef);\n }\n\n private _setAriaHidden(element: Element) {\n const parent = element.parentElement;\n if (parent && element !== this._document.body) {\n Array.from(parent.children).forEach(sibling => {\n if (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n this._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n });\n\n this._setAriaHidden(parent);\n }\n }\n\n private _revertAriaHidden() {\n this._ariaHiddenValues.forEach((value, element) => {\n if (value) {\n element.setAttribute('aria-hidden', value);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n this._ariaHiddenValues.clear();\n }\n\n private _registerModalRef(ngbModalRef: NgbModalRef) {\n const unregisterModalRef = () => {\n const index = this._modalRefs.indexOf(ngbModalRef);\n if (index > -1) {\n this._modalRefs.splice(index, 1);\n }\n };\n this._modalRefs.push(ngbModalRef);\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\n }\n\n private _registerWindowCmpt(ngbWindowCmpt: ComponentRef) {\n this._windowCmpts.push(ngbWindowCmpt);\n this._activeWindowCmptHasChanged.next();\n\n ngbWindowCmpt.onDestroy(() => {\n const index = this._windowCmpts.indexOf(ngbWindowCmpt);\n if (index > -1) {\n this._windowCmpts.splice(index, 1);\n this._activeWindowCmptHasChanged.next();\n }\n });\n }\n}\n","import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core';\n\nimport {NgbModalOptions, NgbModalConfig} from './modal-config';\nimport {NgbModalRef} from './modal-ref';\nimport {NgbModalStack} from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbModal {\n constructor(\n private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: NgbModalStack,\n private _config: NgbModalConfig) {}\n\n /**\n * Opens a new modal window with the specified content and supplied options.\n *\n * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n * then instances of those components can be injected with an instance of the `NgbActiveModal` class. You can then\n * use `NgbActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n *\n * Also see the [`NgbModalOptions`](#/components/modal/api#NgbModalOptions) for the list of supported options.\n */\n open(content: any, options: NgbModalOptions = {}): NgbModalRef {\n const combinedOptions = Object.assign({}, this._config, options);\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\n }\n\n /**\n * Dismisses all currently displayed modal windows with the supplied reason.\n *\n * @since 3.1.0\n */\n dismissAll(reason?: any) { this._modalStack.dismissAll(reason); }\n\n /**\n * Indicates if there are currently any open modal windows in the application.\n *\n * @since 3.3.0\n */\n hasOpenModals(): boolean { return this._modalStack.hasOpenModals(); }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbModal} from './modal';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nexport {NgbModal} from './modal';\nexport {NgbModalConfig, NgbModalOptions} from './modal-config';\nexport {NgbModalRef, NgbActiveModal} from './modal-ref';\nexport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@NgModule({\n declarations: [NgbModalBackdrop, NgbModalWindow],\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\n providers: [NgbModal]\n})\nexport class NgbModalModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbNav`](#/components/nav/api#NgbNav) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the navs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbNavConfig {\n destroyOnHide = true;\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n roles: 'tablist' | false = 'tablist';\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef\n} from '@angular/core';\nimport {isDefined} from '../util/util';\nimport {NgbNavConfig} from './nav-config';\n\nconst isValidNavId = (id: any) => isDefined(id) && id !== '';\n\nlet navCounter = 0;\n\n/**\n * Context passed to the nav content template.\n *\n * See [this demo](#/components/nav/examples#keep-content) as the example.\n *\n * @since 5.2.0\n */\nexport interface NgbNavContentContext {\n /**\n * If `true`, current nav content is visible and active\n */\n $implicit: boolean;\n}\n\n\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\n@Directive({selector: 'ng-template[ngbNavContent]'})\nexport class NgbNavContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n\n/**\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\n *\n * @since 5.2.0\n */\n@Directive({selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: {'[class.nav-item]': 'true'}})\nexport class NgbNavItem implements AfterContentChecked, OnInit {\n private _nav: NgbNav;\n\n /**\n * If `true`, non-active current nav item content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * If `true`, the current nav item is disabled and can't be toggled by user.\n *\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\n */\n @Input() disabled = false;\n\n /**\n * The id used for the DOM elements.\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\n *\n * Autogenerated as `ngb-nav-XXX` if not provided.\n */\n @Input() domId: string;\n\n /**\n * The id used as a model for active nav.\n * It can be anything, but must be unique inside one `ngbNav`.\n *\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\n */\n @Input('ngbNavItem') _id: any;\n\n contentTpl: NgbNavContent | null;\n\n @ContentChildren(NgbNavContent, {descendants: false}) contentTpls: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbNav)) nav, public elementRef: ElementRef) {\n // TODO: cf https://github.com/angular/angular/issues/30106\n this._nav = nav;\n }\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.contentTpl = this.contentTpls.first;\n }\n\n ngOnInit() {\n if (!isDefined(this.domId)) {\n this.domId = `ngb-nav-${navCounter++}`;\n }\n }\n\n get active() { return this._nav.activeId === this.id; }\n\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\n\n get panelDomId() { return `${this.domId}-panel`; }\n\n isPanelInDom() {\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\n }\n}\n\n\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: '[ngbNav]',\n exportAs: 'ngbNav',\n host: {\n '[class.nav]': 'true',\n '[class.flex-column]': `orientation === 'vertical'`,\n '[attr.aria-orientation]': `orientation === 'vertical' && roles === 'tablist' ? 'vertical' : undefined`,\n '[attr.role]': `role ? role : roles ? 'tablist' : undefined`,\n }\n})\nexport class NgbNav implements AfterContentInit {\n /**\n * The id of the nav that should be active\n *\n * You could also use the `.select()` method and the `(navChange)` event\n */\n @Input() activeId: any;\n\n /**\n * The event emitted after the active nav changes\n * The payload of the event is the newly active nav id\n *\n * If you want to prevent nav change, you should use `(navChange)` event\n */\n @Output() activeIdChange = new EventEmitter();\n\n /**\n * If `true`, non-active nav content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * The orientation of navs.\n *\n * Using `vertical` will also add the `aria-orientation` attribute\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Role attribute generating strategy:\n * - `false` - no role attributes will be generated\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\n */\n @Input() roles: 'tablist' | false;\n\n @ContentChildren(NgbNavItem) items: QueryList;\n\n constructor(@Attribute('role') public role: string, config: NgbNavConfig, private _cd: ChangeDetectorRef) {\n this.destroyOnHide = config.destroyOnHide;\n this.orientation = config.orientation;\n this.roles = config.roles;\n }\n\n /**\n * The nav change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\n */\n @Output() navChange = new EventEmitter();\n\n click(item: NgbNavItem) {\n if (!item.disabled) {\n this._updateActiveId(item.id);\n }\n }\n\n /**\n * Selects the nav with the given id and shows its associated pane.\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\n */\n select(id: any) { this._updateActiveId(id, false); }\n\n ngAfterContentInit() {\n if (!isDefined(this.activeId)) {\n const nextId = this.items.first ? this.items.first.id : null;\n if (isValidNavId(nextId)) {\n this._updateActiveId(nextId, false);\n this._cd.detectChanges();\n }\n }\n }\n\n private _updateActiveId(nextId: any, emitNavChange = true) {\n if (this.activeId !== nextId) {\n let defaultPrevented = false;\n\n if (emitNavChange) {\n this.navChange.emit({activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; }});\n }\n\n if (!defaultPrevented) {\n this.activeId = nextId;\n this.activeIdChange.emit(nextId);\n }\n }\n }\n}\n\n\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: 'a[ngbNavLink]',\n host: {\n '[id]': 'navItem.domId',\n '[class.nav-link]': 'true',\n '[class.nav-item]': 'hasNavItemClass()',\n '[attr.role]': `role ? role : nav.roles ? 'tab' : undefined`,\n 'href': '',\n '[class.active]': 'navItem.active',\n '[class.disabled]': 'navItem.disabled',\n '[attr.tabindex]': 'navItem.disabled ? -1 : undefined',\n '[attr.aria-controls]': 'navItem.isPanelInDom() ? navItem.panelDomId : null',\n '[attr.aria-selected]': 'navItem.active',\n '[attr.aria-disabled]': 'navItem.disabled',\n '(click)': 'nav.click(navItem); $event.preventDefault()'\n }\n})\nexport class NgbNavLink {\n constructor(@Attribute('role') public role: string, public navItem: NgbNavItem, public nav: NgbNav) {}\n\n hasNavItemClass() {\n // with alternative markup we have to add `.nav-item` class, because `ngbNavItem` is on the ng-container\n return this.navItem.elementRef.nativeElement.nodeType === Node.COMMENT_NODE;\n }\n}\n\n\n/**\n * The payload of the change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * @since 5.2.0\n */\nexport interface NgbNavChangeEvent {\n /**\n * Id of the currently active nav.\n */\n activeId: any;\n\n /**\n * Id of the newly selected nav.\n */\n nextId: any;\n\n /**\n * Function that will prevent nav change if called.\n */\n preventDefault: () => void;\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbNav} from './nav';\n\n/**\n * The outlet where currently active nav content will be displayed.\n *\n * @since 5.2.0\n */\n@Component({\n selector: '[ngbNavOutlet]',\n host: {'[class.tab-content]': 'true'},\n encapsulation: ViewEncapsulation.None,\n template: `\n \n
\n \n
\n
\n `\n})\nexport class NgbNavOutlet {\n /**\n * A role to set on the nav pane\n */\n @Input() paneRole;\n\n /**\n * Reference to the `NgbNav`\n */\n @Input('ngbNavOutlet') nav: NgbNav;\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavLink} from './nav';\nimport {NgbNavOutlet} from './nav-outlet';\n\nexport {NgbNav, NgbNavContent, NgbNavContentContext, NgbNavItem, NgbNavLink, NgbNavChangeEvent} from './nav';\nexport {NgbNavOutlet} from './nav-outlet';\nexport {NgbNavConfig} from './nav-config';\n\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet];\n\n@NgModule({declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule]})\nexport class NgbNavModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the paginations used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPaginationConfig {\n disabled = false;\n boundaryLinks = false;\n directionLinks = true;\n ellipses = true;\n maxSize = 0;\n pageSize = 10;\n rotate = false;\n size: 'sm' | 'lg';\n}\n","import {\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n Output,\n OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbPaginationConfig} from './pagination-config';\n\n/**\n * A context for the\n * * `NgbPaginationFirst`\n * * `NgbPaginationPrevious`\n * * `NgbPaginationNext`\n * * `NgbPaginationLast`\n * * `NgbPaginationEllipsis`\n *\n * link templates in case you want to override one.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationLinkContext {\n /**\n * The currently selected page number\n */\n currentPage: number;\n\n /**\n * If `true`, the current link is disabled\n */\n disabled: boolean;\n}\n\n/**\n * A context for the `NgbPaginationNumber` link template in case you want to override one.\n *\n * Extends `NgbPaginationLinkContext`.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationNumberContext extends NgbPaginationLinkContext {\n /**\n * The page number, displayed by the current page link.\n */\n $implicit: number;\n}\n\n/**\n * A directive to match the 'ellipsis' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationEllipsis]'})\nexport class NgbPaginationEllipsis {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'first' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationFirst]'})\nexport class NgbPaginationFirst {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'last' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationLast]'})\nexport class NgbPaginationLast {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'next' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNext]'})\nexport class NgbPaginationNext {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the page 'number' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNumber]'})\nexport class NgbPaginationNumber {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'previous' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationPrevious]'})\nexport class NgbPaginationPrevious {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A component that displays page numbers and allows to customize them in several ways.\n */\n@Component({\n selector: 'ngb-pagination',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'role': 'navigation'},\n template: `\n ««\n «\n »\n »»\n ...\n \n {{ page }}\n (current)\n \n \n `\n})\nexport class NgbPagination implements OnChanges {\n pageCount = 0;\n pages: number[] = [];\n\n @ContentChild(NgbPaginationEllipsis, {static: false}) tplEllipsis: NgbPaginationEllipsis;\n @ContentChild(NgbPaginationFirst, {static: false}) tplFirst: NgbPaginationFirst;\n @ContentChild(NgbPaginationLast, {static: false}) tplLast: NgbPaginationLast;\n @ContentChild(NgbPaginationNext, {static: false}) tplNext: NgbPaginationNext;\n @ContentChild(NgbPaginationNumber, {static: false}) tplNumber: NgbPaginationNumber;\n @ContentChild(NgbPaginationPrevious, {static: false}) tplPrevious: NgbPaginationPrevious;\n\n /**\n * If `true`, pagination links will be disabled.\n */\n @Input() disabled: boolean;\n\n /**\n * If `true`, the \"First\" and \"Last\" page links are shown.\n */\n @Input() boundaryLinks: boolean;\n\n /**\n * If `true`, the \"Next\" and \"Previous\" page links are shown.\n */\n @Input() directionLinks: boolean;\n\n /**\n * If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.\n */\n @Input() ellipses: boolean;\n\n /**\n * Whether to rotate pages when `maxSize` > number of pages.\n *\n * The current page always stays in the middle if `true`.\n */\n @Input() rotate: boolean;\n\n /**\n * The number of items in your paginated collection.\n *\n * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n * `collectionSize` and `pageSize`. Ex. if you have 100 items in your collection and displaying 20 items per page,\n * you'll end up with 5 pages.\n */\n @Input() collectionSize: number;\n\n /**\n * The maximum number of pages to display.\n */\n @Input() maxSize: number;\n\n /**\n * The current page.\n *\n * Page numbers start with `1`.\n */\n @Input() page = 1;\n\n /**\n * The number of items per page.\n */\n @Input() pageSize: number;\n\n /**\n * An event fired when the page is changed. Will fire only if collection size is set and all values are valid.\n *\n * Event payload is the number of the newly selected page.\n *\n * Page numbers start with `1`.\n */\n @Output() pageChange = new EventEmitter(true);\n\n /**\n * The pagination display size.\n *\n * Bootstrap currently supports small and large sizes.\n */\n @Input() size: 'sm' | 'lg';\n\n constructor(config: NgbPaginationConfig) {\n this.disabled = config.disabled;\n this.boundaryLinks = config.boundaryLinks;\n this.directionLinks = config.directionLinks;\n this.ellipses = config.ellipses;\n this.maxSize = config.maxSize;\n this.pageSize = config.pageSize;\n this.rotate = config.rotate;\n this.size = config.size;\n }\n\n hasPrevious(): boolean { return this.page > 1; }\n\n hasNext(): boolean { return this.page < this.pageCount; }\n\n nextDisabled(): boolean { return !this.hasNext() || this.disabled; }\n\n previousDisabled(): boolean { return !this.hasPrevious() || this.disabled; }\n\n selectPage(pageNumber: number): void { this._updatePages(pageNumber); }\n\n ngOnChanges(changes: SimpleChanges): void { this._updatePages(this.page); }\n\n isEllipsis(pageNumber): boolean { return pageNumber === -1; }\n\n /**\n * Appends ellipses and first/last page number to the displayed pages\n */\n private _applyEllipses(start: number, end: number) {\n if (this.ellipses) {\n if (start > 0) {\n // The first page will always be included. If the displayed range\n // starts after the third page, then add ellipsis. But if the range\n // starts on the third page, then add the second page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (start > 2) {\n this.pages.unshift(-1);\n } else if (start === 2) {\n this.pages.unshift(2);\n }\n this.pages.unshift(1);\n }\n if (end < this.pageCount) {\n // The last page will always be included. If the displayed range\n // ends before the third-last page, then add ellipsis. But if the range\n // ends on third-last page, then add the second-last page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (end < (this.pageCount - 2)) {\n this.pages.push(-1);\n } else if (end === (this.pageCount - 2)) {\n this.pages.push(this.pageCount - 1);\n }\n this.pages.push(this.pageCount);\n }\n }\n }\n\n /**\n * Rotates page numbers based on maxSize items visible.\n * Currently selected page stays in the middle:\n *\n * Ex. for selected page = 6:\n * [5,*6*,7] for maxSize = 3\n * [4,5,*6*,7] for maxSize = 4\n */\n private _applyRotation(): [number, number] {\n let start = 0;\n let end = this.pageCount;\n let leftOffset = Math.floor(this.maxSize / 2);\n let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\n\n if (this.page <= leftOffset) {\n // very beginning, no rotation -> [0..maxSize]\n end = this.maxSize;\n } else if (this.pageCount - this.page < leftOffset) {\n // very end, no rotation -> [len-maxSize..len]\n start = this.pageCount - this.maxSize;\n } else {\n // rotate\n start = this.page - leftOffset - 1;\n end = this.page + rightOffset;\n }\n\n return [start, end];\n }\n\n /**\n * Paginates page numbers based on maxSize items per page.\n */\n private _applyPagination(): [number, number] {\n let page = Math.ceil(this.page / this.maxSize) - 1;\n let start = page * this.maxSize;\n let end = start + this.maxSize;\n\n return [start, end];\n }\n\n private _setPageInRange(newPageNo) {\n const prevPageNo = this.page;\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\n\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\n this.pageChange.emit(this.page);\n }\n }\n\n private _updatePages(newPage: number) {\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\n\n if (!isNumber(this.pageCount)) {\n this.pageCount = 0;\n }\n\n // fill-in model needed to render pages\n this.pages.length = 0;\n for (let i = 1; i <= this.pageCount; i++) {\n this.pages.push(i);\n }\n\n // set page within 1..max range\n this._setPageInRange(newPage);\n\n // apply maxSize if necessary\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\n let start = 0;\n let end = this.pageCount;\n\n // either paginating or rotating page numbers\n if (this.rotate) {\n [start, end] = this._applyRotation();\n } else {\n [start, end] = this._applyPagination();\n }\n\n this.pages = this.pages.slice(start, end);\n\n // adding ellipses\n this._applyEllipses(start, end);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\n\nexport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\nexport {NgbPaginationConfig} from './pagination-config';\n\nconst DIRECTIVES = [\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\n NgbPaginationPrevious\n];\n\n@NgModule({declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule]})\nexport class NgbPaginationModule {\n}\n","import {Observable, merge} from 'rxjs';\nimport {share, filter, delay, map} from 'rxjs/operators';\n\nexport class Trigger {\n constructor(public open: string, public close?: string) {\n if (!close) {\n this.close = open;\n }\n }\n\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\n}\n\nconst DEFAULT_ALIASES = {\n 'hover': ['mouseenter', 'mouseleave'],\n 'focus': ['focusin', 'focusout'],\n};\n\nexport function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function observeTriggers(renderer: any, nativeElement: any, triggers: Trigger[], isOpenedFn: () => boolean) {\n return new Observable(subscriber => {\n const listeners = [];\n const openFn = () => subscriber.next(true);\n const closeFn = () => subscriber.next(false);\n const toggleFn = () => subscriber.next(!isOpenedFn());\n\n triggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\n } else {\n listeners.push(\n renderer.listen(nativeElement, trigger.open, openFn),\n renderer.listen(nativeElement, trigger.close, closeFn));\n }\n });\n\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\n });\n}\n\nconst delayOrNoop = (time: number) => time > 0 ? delay(time) : (a: Observable) => a;\n\nexport function triggerDelay(openDelay: number, closeDelay: number, isOpenedFn: () => boolean) {\n return (input$: Observable) => {\n let pending = null;\n const filteredInput$ = input$.pipe(\n map(open => ({open})), filter(event => {\n const currentlyOpen = isOpenedFn();\n if (currentlyOpen !== event.open && (!pending || pending.open === currentlyOpen)) {\n pending = event;\n return true;\n }\n if (pending && pending.open !== event.open) {\n pending = null;\n }\n return false;\n }),\n share());\n const delayedOpen$ = filteredInput$.pipe(filter(event => event.open), delayOrNoop(openDelay));\n const delayedClose$ = filteredInput$.pipe(filter(event => !event.open), delayOrNoop(closeDelay));\n return merge(delayedOpen$, delayedClose$)\n .pipe(\n filter(event => {\n if (event === pending) {\n pending = null;\n return event.open !== isOpenedFn();\n }\n return false;\n }),\n map(event => event.open));\n };\n}\n\nexport function listenToTriggers(\n renderer: any, nativeElement: any, triggers: string, isOpenedFn: () => boolean, openFn, closeFn, openDelay = 0,\n closeDelay = 0) {\n const parsedTriggers = parseTriggers(triggers);\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return () => {};\n }\n\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\n .subscribe(open => (open ? openFn() : closeFn()));\n\n return () => subscription.unsubscribe();\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbPopover`](#/components/popover/api#NgbPopover) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the popovers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPopoverConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'click';\n container: string;\n disablePopover = false;\n popoverClass: string;\n openDelay = 0;\n closeDelay = 0;\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n OnChanges,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbPopoverConfig} from './popover-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-popover-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")', 'role': 'tooltip', '[id]': 'id'},\n template: `\n
\n

\n {{title}}\n \n

\n
`,\n styleUrls: ['./popover.scss']\n})\nexport class NgbPopoverWindow {\n @Input() title: undefined | string | TemplateRef;\n @Input() id: string;\n @Input() popoverClass: string;\n @Input() context: any;\n\n isTitleTemplate() { return this.title instanceof TemplateRef; }\n}\n\n/**\n * A lightweight and extensible directive for fancy popover creation.\n */\n@Directive({selector: '[ngbPopover]', exportAs: 'ngbPopover'})\nexport class NgbPopover implements OnInit, OnDestroy, OnChanges {\n /**\n * Indicates whether the popover should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the popover.\n *\n * If the title and the content are empty, the popover won't open.\n */\n @Input() ngbPopover: string | TemplateRef;\n\n /**\n * The title of the popover.\n *\n * If the title and the content are empty, the popover won't open.\n */\n @Input() popoverTitle: string | TemplateRef;\n\n /**\n * The preferred placement of the popover.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/popover/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n *\n * Currently only supports `body`.\n */\n @Input() container: string;\n\n /**\n * If `true`, popover is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disablePopover: boolean;\n\n /**\n * An optional class applied to the popover window element.\n *\n * @since 2.2.0\n */\n @Input() popoverClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the popover is shown. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the popover is hidden. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbPopoverWindowId = `ngb-popover-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n private _isDisabled(): boolean {\n if (this.disablePopover) {\n return true;\n }\n if (!this.ngbPopover && !this.popoverTitle) {\n return true;\n }\n return false;\n }\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbPopoverConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disablePopover = config.disablePopover;\n this.popoverClass = config.popoverClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbPopoverWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-popover');\n }\n });\n }\n\n /**\n * Opens the popover.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the popover template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && !this._isDisabled()) {\n this._windowRef = this._popupService.open(this.ngbPopover, context);\n this._windowRef.instance.title = this.popoverTitle;\n this._windowRef.instance.context = context;\n this._windowRef.instance.popoverClass = this.popoverClass;\n this._windowRef.instance.id = this._ngbPopoverWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening popover from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because popover won't work inside the OnPush component.\n // Ex. when we use expression like `{{ popover.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the popover from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n this.shown.emit();\n }\n }\n\n /**\n * Closes the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n close(): void {\n if (this._windowRef) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close();\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({ngbPopover, popoverTitle, disablePopover, popoverClass}: SimpleChanges) {\n if (popoverClass && this.isOpen()) {\n this._windowRef.instance.popoverClass = popoverClass.currentValue;\n }\n // close popover if title and content become empty, or disablePopover set to true\n if ((ngbPopover || popoverTitle || disablePopover) && this._isDisabled()) {\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbPopover, NgbPopoverWindow} from './popover';\nimport {CommonModule} from '@angular/common';\n\nexport {NgbPopover} from './popover';\nexport {NgbPopoverConfig} from './popover-config';\nexport {Placement} from '../util/positioning';\n\n@NgModule({\n declarations: [NgbPopover, NgbPopoverWindow],\n exports: [NgbPopover],\n imports: [CommonModule],\n entryComponents: [NgbPopoverWindow]\n})\nexport class NgbPopoverModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbProgressbar`](#/components/progressbar/api#NgbProgressbar) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the progress bars used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbProgressbarConfig {\n max = 100;\n animated = false;\n striped = false;\n textType: string;\n type: string;\n showValue = false;\n height: string;\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbProgressbarConfig} from './progressbar-config';\n\n/**\n * A directive that provides feedback on the progress of a workflow or an action.\n */\n@Component({\n selector: 'ngb-progressbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n
\n
\n {{getPercentValue()}}%\n
\n
\n `\n})\nexport class NgbProgressbar {\n private _max: number;\n\n /**\n * The maximal value to be displayed in the progress bar.\n *\n * Should be a positive number. Will default to 100 otherwise.\n */\n @Input()\n set max(max: number) {\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\n }\n\n get max(): number { return this._max; }\n\n /**\n * If `true`, the stripes on the progress bar are animated.\n *\n * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n */\n @Input() animated: boolean;\n\n /**\n * If `true`, the progress bars will be displayed as striped.\n */\n @Input() striped: boolean;\n\n /**\n * If `true`, the current percentage will be shown in the `xx%` format.\n */\n @Input() showValue: boolean;\n\n /**\n * Optional text variant type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n *\n * @since 5.2.0\n */\n @Input() textType: string;\n\n /**\n * The type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n */\n @Input() type: string;\n\n /**\n * The current value for the progress bar.\n *\n * Should be in the `[0, max]` range.\n */\n @Input() value = 0;\n\n /**\n * The height of the progress bar.\n *\n * Accepts any valid CSS height values, ex. `\"2rem\"`\n */\n @Input() height: string;\n\n constructor(config: NgbProgressbarConfig) {\n this.max = config.max;\n this.animated = config.animated;\n this.striped = config.striped;\n this.textType = config.textType;\n this.type = config.type;\n this.showValue = config.showValue;\n this.height = config.height;\n }\n\n getValue() { return getValueInRange(this.value, this.max); }\n\n getPercentValue() { return 100 * this.getValue() / this.max; }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbProgressbar} from './progressbar';\n\nexport {NgbProgressbar} from './progressbar';\nexport {NgbProgressbarConfig} from './progressbar-config';\n\n@NgModule({declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule]})\nexport class NgbProgressbarModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the ratings used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbRatingConfig {\n max = 10;\n readonly = false;\n resettable = false;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbRatingConfig} from './rating-config';\nimport {getValueInRange} from '../util/util';\nimport {Key} from '../util/key';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/**\n * The context for the custom star display template defined in the `starTemplate`.\n */\nexport interface StarTemplateContext {\n /**\n * The star fill percentage, an integer in the `[0, 100]` range.\n */\n fill: number;\n\n /**\n * Index of the star, starts with `0`.\n */\n index: number;\n}\n\nconst NGB_RATING_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRating),\n multi: true\n};\n\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\n@Component({\n selector: 'ngb-rating',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'd-inline-flex',\n '[tabindex]': 'disabled ? -1 : 0',\n 'role': 'slider',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuenow]': 'nextRate',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-disabled]': 'readonly ? true : null',\n '(blur)': 'handleBlur()',\n '(keydown)': 'handleKeyDown($event)',\n '(mouseleave)': 'reset()'\n },\n template: `\n {{ fill === 100 ? '★' : '☆' }}\n \n ({{ index < nextRate ? '*' : ' ' }})\n \n \n \n \n \n `,\n providers: [NGB_RATING_VALUE_ACCESSOR]\n})\nexport class NgbRating implements ControlValueAccessor,\n OnInit, OnChanges {\n contexts: StarTemplateContext[] = [];\n disabled = false;\n nextRate: number;\n\n\n /**\n * The maximal rating that can be given.\n */\n @Input() max: number;\n\n /**\n * The current rating. Could be a decimal value like `3.75`.\n */\n @Input() rate: number;\n\n /**\n * If `true`, the rating can't be changed.\n */\n @Input() readonly: boolean;\n\n /**\n * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\n */\n @Input() resettable: boolean;\n\n /**\n * The template to override the way each star is displayed.\n *\n * Alternatively put an `` as the only child of your `` element\n */\n @Input() starTemplate: TemplateRef;\n @ContentChild(TemplateRef, {static: false}) starTemplateFromContent: TemplateRef;\n\n /**\n * An event emitted when the user is hovering over a given rating.\n *\n * Event payload equals to the rating being hovered over.\n */\n @Output() hover = new EventEmitter();\n\n /**\n * An event emitted when the user stops hovering over a given rating.\n *\n * Event payload equals to the rating of the last item being hovered over.\n */\n @Output() leave = new EventEmitter();\n\n /**\n * An event emitted when the user selects a new rating.\n *\n * Event payload equals to the newly selected rating.\n */\n @Output() rateChange = new EventEmitter(true);\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(config: NgbRatingConfig, private _changeDetectorRef: ChangeDetectorRef) {\n this.max = config.max;\n this.readonly = config.readonly;\n }\n\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\n\n enter(value: number): void {\n if (!this.readonly && !this.disabled) {\n this._updateState(value);\n }\n this.hover.emit(value);\n }\n\n handleBlur() { this.onTouched(); }\n\n handleClick(value: number) {\n if (!this.readonly && !this.disabled) {\n this.update(this.resettable && this.rate === value ? 0 : value);\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n case Key.ArrowLeft:\n this.update(this.rate - 1);\n break;\n case Key.ArrowUp:\n case Key.ArrowRight:\n this.update(this.rate + 1);\n break;\n case Key.Home:\n this.update(0);\n break;\n case Key.End:\n this.update(this.max);\n break;\n default:\n return;\n }\n\n // note 'return' in default case\n event.preventDefault();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['rate']) {\n this.update(this.rate);\n }\n }\n\n ngOnInit(): void {\n this.contexts = Array.from({length: this.max}, (v, k) => ({fill: 0, index: k}));\n this._updateState(this.rate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n reset(): void {\n this.leave.emit(this.nextRate);\n this._updateState(this.rate);\n }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n update(value: number, internalChange = true): void {\n const newRate = getValueInRange(value, this.max, 0);\n if (!this.readonly && !this.disabled && this.rate !== newRate) {\n this.rate = newRate;\n this.rateChange.emit(this.rate);\n }\n if (internalChange) {\n this.onChange(this.rate);\n this.onTouched();\n }\n this._updateState(this.rate);\n }\n\n writeValue(value) {\n this.update(value, false);\n this._changeDetectorRef.markForCheck();\n }\n\n private _getFillValue(index: number): number {\n const diff = this.nextRate - index;\n\n if (diff >= 1) {\n return 100;\n }\n if (diff < 1 && diff > 0) {\n return parseInt((diff * 100).toFixed(2), 10);\n }\n\n return 0;\n }\n\n private _updateState(nextValue: number) {\n this.nextRate = nextValue;\n this.contexts.forEach((context, index) => context.fill = this._getFillValue(index));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbRating} from './rating';\n\nexport {NgbRating} from './rating';\nexport {NgbRatingConfig} from './rating-config';\n\n@NgModule({declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule]})\nexport class NgbRatingModule {\n}\n","// tslint:disable:deprecation\nimport {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTabset`](#/components/tabset/api#NgbTabset) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tabsets used in the application.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTabsetConfig {\n justify: 'start' | 'center' | 'end' | 'fill' | 'justified' = 'start';\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n type: 'tabs' | 'pills' = 'tabs';\n}\n","// tslint:disable:deprecation\nimport {\n AfterContentChecked,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbTabsetConfig} from './tabset-config';\n\nlet nextId = 0;\n\n/**\n * A directive to wrap tab titles that need to contain HTML markup or other directives.\n *\n * Alternatively you could use the `NgbTab.title` input for string titles.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Directive({selector: 'ng-template[ngbTabTitle]'})\nexport class NgbTabTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to wrap content to be displayed in a tab.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Directive({selector: 'ng-template[ngbTabContent]'})\nexport class NgbTabContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive representing an individual tab.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Directive({selector: 'ngb-tab'})\nexport class NgbTab implements AfterContentChecked {\n /**\n * The tab identifier.\n *\n * Must be unique for the entire document for proper accessibility support.\n */\n @Input() id = `ngb-tab-${nextId++}`;\n\n /**\n * The tab title.\n *\n * Use the [`NgbTabTitle`](#/components/tabset/api#NgbTabTitle) directive for non-string titles.\n */\n @Input() title: string;\n\n /**\n * If `true`, the current tab is disabled and can't be toggled.\n */\n @Input() disabled = false;\n\n titleTpl: NgbTabTitle | null;\n contentTpl: NgbTabContent | null;\n\n @ContentChildren(NgbTabTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbTabContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * The payload of the change event fired right before the tab change.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nexport interface NgbTabChangeEvent {\n /**\n * The id of the currently active tab.\n */\n activeId: string;\n\n /**\n * The id of the newly selected tab.\n */\n nextId: string;\n\n /**\n * Calling this function will prevent tab switching.\n */\n preventDefault: () => void;\n}\n\n/**\n * A component that makes it easy to create tabbed interface.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\n@Component({\n selector: 'ngb-tabset',\n exportAs: 'ngbTabset',\n encapsulation: ViewEncapsulation.None,\n template: `\n \n
\n \n \n \n
\n
\n \n `\n})\nexport class NgbTabset implements AfterContentChecked {\n justifyClass: string;\n\n @ContentChildren(NgbTab) tabs: QueryList;\n\n /**\n * The identifier of the tab that should be opened **initially**.\n *\n * For subsequent tab switches use the `.select()` method and the `(tabChange)` event.\n */\n @Input() activeId: string;\n\n /**\n * If `true`, non-visible tabs content will be removed from DOM. Otherwise it will just be hidden.\n */\n @Input() destroyOnHide = true;\n\n /**\n * The horizontal alignment of the tabs with flexbox utilities.\n */\n @Input()\n set justify(className: 'start' | 'center' | 'end' | 'fill' | 'justified') {\n if (className === 'fill' || className === 'justified') {\n this.justifyClass = `nav-${className}`;\n } else {\n this.justifyClass = `justify-content-${className}`;\n }\n }\n\n /**\n * The orientation of the tabset.\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Type of navigation to be used for tabs.\n *\n * Currently Bootstrap supports only `\"tabs\"` and `\"pills\"`.\n *\n * Since `3.0.0` can also be an arbitrary string (ex. for custom themes).\n */\n @Input() type: 'tabs' | 'pills' | string;\n\n /**\n * A tab change event emitted right before the tab change happens.\n *\n * See [`NgbTabChangeEvent`](#/components/tabset/api#NgbTabChangeEvent) for payload details.\n */\n @Output() tabChange = new EventEmitter();\n\n constructor(config: NgbTabsetConfig) {\n this.type = config.type;\n this.justify = config.justify;\n this.orientation = config.orientation;\n }\n\n /**\n * Selects the tab with the given id and shows its associated content panel.\n *\n * Any other tab that was previously selected becomes unselected and its associated pane is removed from DOM or\n * hidden depending on the `destroyOnHide` value.\n */\n select(tabId: string) {\n let selectedTab = this._getTabById(tabId);\n if (selectedTab && !selectedTab.disabled && this.activeId !== selectedTab.id) {\n let defaultPrevented = false;\n\n this.tabChange.emit(\n {activeId: this.activeId, nextId: selectedTab.id, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n this.activeId = selectedTab.id;\n }\n }\n }\n\n ngAfterContentChecked() {\n // auto-correct activeId that might have been set incorrectly as input\n let activeTab = this._getTabById(this.activeId);\n this.activeId = activeTab ? activeTab.id : (this.tabs.length ? this.tabs.first.id : null);\n }\n\n private _getTabById(id: string): NgbTab {\n let tabsWithId: NgbTab[] = this.tabs.filter(tab => tab.id === id);\n return tabsWithId.length ? tabsWithId[0] : null;\n }\n}\n","// tslint:disable:deprecation\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTabset, NgbTab, NgbTabContent, NgbTabTitle} from './tabset';\n\nexport {NgbTabset, NgbTab, NgbTabContent, NgbTabTitle, NgbTabChangeEvent} from './tabset';\nexport {NgbTabsetConfig} from './tabset-config';\n\nconst NGB_TABSET_DIRECTIVES = [NgbTabset, NgbTab, NgbTabContent, NgbTabTitle];\n\n/**\n * @deprecated 6.0.0 Please use NgbNavModule instead\n */\n@NgModule({declarations: NGB_TABSET_DIRECTIVES, exports: NGB_TABSET_DIRECTIVES, imports: [CommonModule]})\nexport class NgbTabsetModule {\n}\n","import {isNumber, toInteger} from '../util/util';\n\nexport class NgbTime {\n hour: number;\n minute: number;\n second: number;\n\n constructor(hour?: number, minute?: number, second?: number) {\n this.hour = toInteger(hour);\n this.minute = toInteger(minute);\n this.second = toInteger(second);\n }\n\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\n\n updateHour(hour: number) {\n if (isNumber(hour)) {\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\n } else {\n this.hour = NaN;\n }\n }\n\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\n\n updateMinute(minute: number) {\n if (isNumber(minute)) {\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\n this.changeHour(Math.floor(minute / 60));\n } else {\n this.minute = NaN;\n }\n }\n\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\n\n updateSecond(second: number) {\n if (isNumber(second)) {\n this.second = second < 0 ? 60 + second % 60 : second % 60;\n this.changeMinute(Math.floor(second / 60));\n } else {\n this.second = NaN;\n }\n }\n\n isValid(checkSecs = true) {\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\n }\n\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTimepicker`](#/components/timepicker/api#NgbTimepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the timepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTimepickerConfig {\n meridian = false;\n spinners = true;\n seconds = false;\n hourStep = 1;\n minuteStep = 1;\n secondStep = 1;\n disabled = false;\n readonlyInputs = false;\n size: 'small' | 'medium' | 'large' = 'medium';\n}\n","import {Injectable} from '@angular/core';\nimport {NgbTimeStruct} from './ngb-time-struct';\nimport {isInteger} from '../util/util';\n\nexport function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\n return new NgbTimeStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal timepicker `NgbTimeStruct` model and\n * any provided user time model `T`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding timepicker to a form control,\n * ex. `[(ngModel)]=\"userTimeModel\"`. Here `userTimeModel` can be of any type.\n *\n * The default timepicker implementation assumes we use `NgbTimeStruct` as a user model.\n *\n * See the [custom time adapter demo](#/components/timepicker/examples#adapter) for an example.\n *\n * @since 2.2.0\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY})\nexport abstract class NgbTimeAdapter {\n /**\n * Converts a user-model time of type `T` to an `NgbTimeStruct` for internal use.\n */\n abstract fromModel(value: T): NgbTimeStruct;\n\n /**\n * Converts an internal `NgbTimeStruct` time to a user-model time of type `T`.\n */\n abstract toModel(time: NgbTimeStruct): T;\n}\n\n@Injectable()\nexport class NgbTimeStructAdapter extends NgbTimeAdapter {\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n fromModel(time: NgbTimeStruct): NgbTimeStruct {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n toModel(time: NgbTimeStruct): NgbTimeStruct {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\n\nexport function NGB_TIMEPICKER_I18N_FACTORY(locale) {\n return new NgbTimepickerI18nDefault(locale);\n}\n\n/**\n * Type of the service supplying day periods (for example, 'AM' and 'PM') to NgbTimepicker component.\n * The default implementation of this service honors the Angular locale, and uses the registered locale data,\n * as explained in the Angular i18n guide.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbTimepickerI18n {\n /**\n * Returns the name for the period before midday.\n */\n abstract getMorningPeriod(): string;\n\n /**\n * Returns the name for the period after midday.\n */\n abstract getAfternoonPeriod(): string;\n}\n\n@Injectable()\nexport class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\n private _periods: [string, string];\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n super();\n\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\n }\n\n getMorningPeriod(): string { return this._periods[0]; }\n\n getAfternoonPeriod(): string { return this._periods[1]; }\n}\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {isInteger, isNumber, padNumber, toInteger} from '../util/util';\nimport {NgbTime} from './ngb-time';\nimport {NgbTimepickerConfig} from './timepicker-config';\nimport {NgbTimeAdapter} from './ngb-time-adapter';\nimport {NgbTimepickerI18n} from './timepicker-i18n';\n\nconst FILTER_REGEX = /[^0-9]/g;\n\nconst NGB_TIMEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTimepicker),\n multi: true\n};\n\n/**\n * A directive that helps with wth picking hours, minutes and seconds.\n */\n@Component({\n selector: 'ngb-timepicker',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./timepicker.scss'],\n template: `\n
\n
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n `,\n providers: [NGB_TIMEPICKER_VALUE_ACCESSOR]\n})\nexport class NgbTimepicker implements ControlValueAccessor,\n OnChanges {\n disabled: boolean;\n model: NgbTime;\n\n private _hourStep: number;\n private _minuteStep: number;\n private _secondStep: number;\n\n /**\n * Whether to display 12H or 24H mode.\n */\n @Input() meridian: boolean;\n\n /**\n * If `true`, the spinners above and below inputs are visible.\n */\n @Input() spinners: boolean;\n\n /**\n * If `true`, it is possible to select seconds.\n */\n @Input() seconds: boolean;\n\n /**\n * The number of hours to add/subtract when clicking hour spinners.\n */\n @Input()\n set hourStep(step: number) {\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\n }\n\n get hourStep(): number { return this._hourStep; }\n\n /**\n * The number of minutes to add/subtract when clicking minute spinners.\n */\n @Input()\n set minuteStep(step: number) {\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\n }\n\n get minuteStep(): number { return this._minuteStep; }\n\n /**\n * The number of seconds to add/subtract when clicking second spinners.\n */\n @Input()\n set secondStep(step: number) {\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\n }\n\n get secondStep(): number { return this._secondStep; }\n\n /**\n * If `true`, the timepicker is readonly and can't be changed.\n */\n @Input() readonlyInputs: boolean;\n\n /**\n * The size of inputs and buttons.\n */\n @Input() size: 'small' | 'medium' | 'large';\n\n constructor(\n private readonly _config: NgbTimepickerConfig, private _ngbTimeAdapter: NgbTimeAdapter,\n private _cd: ChangeDetectorRef, public i18n: NgbTimepickerI18n) {\n this.meridian = _config.meridian;\n this.spinners = _config.spinners;\n this.seconds = _config.seconds;\n this.hourStep = _config.hourStep;\n this.minuteStep = _config.minuteStep;\n this.secondStep = _config.secondStep;\n this.disabled = _config.disabled;\n this.readonlyInputs = _config.readonlyInputs;\n this.size = _config.size;\n }\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value) {\n const structValue = this._ngbTimeAdapter.fromModel(value);\n this.model = structValue ? new NgbTime(structValue.hour, structValue.minute, structValue.second) : new NgbTime();\n if (!this.seconds && (!structValue || !isNumber(structValue.second))) {\n this.model.second = 0;\n }\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n changeHour(step: number) {\n this.model.changeHour(step);\n this.propagateModelChange();\n }\n\n changeMinute(step: number) {\n this.model.changeMinute(step);\n this.propagateModelChange();\n }\n\n changeSecond(step: number) {\n this.model.changeSecond(step);\n this.propagateModelChange();\n }\n\n updateHour(newVal: string) {\n const isPM = this.model.hour >= 12;\n const enteredHour = toInteger(newVal);\n if (this.meridian && (isPM && enteredHour < 12 || !isPM && enteredHour === 12)) {\n this.model.updateHour(enteredHour + 12);\n } else {\n this.model.updateHour(enteredHour);\n }\n this.propagateModelChange();\n }\n\n updateMinute(newVal: string) {\n this.model.updateMinute(toInteger(newVal));\n this.propagateModelChange();\n }\n\n updateSecond(newVal: string) {\n this.model.updateSecond(toInteger(newVal));\n this.propagateModelChange();\n }\n\n toggleMeridian() {\n if (this.meridian) {\n this.changeHour(12);\n }\n }\n\n formatInput(input: HTMLInputElement) { input.value = input.value.replace(FILTER_REGEX, ''); }\n\n formatHour(value: number) {\n if (isNumber(value)) {\n if (this.meridian) {\n return padNumber(value % 12 === 0 ? 12 : value % 12);\n } else {\n return padNumber(value % 24);\n }\n } else {\n return padNumber(NaN);\n }\n }\n\n formatMinSec(value: number) { return padNumber(value); }\n\n get isSmallSize(): boolean { return this.size === 'small'; }\n\n get isLargeSize(): boolean { return this.size === 'large'; }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\n this.model.second = 0;\n this.propagateModelChange(false);\n }\n }\n\n private propagateModelChange(touched = true) {\n if (touched) {\n this.onTouched();\n }\n if (this.model.isValid(this.seconds)) {\n this.onChange(\n this._ngbTimeAdapter.toModel({hour: this.model.hour, minute: this.model.minute, second: this.model.second}));\n } else {\n this.onChange(this._ngbTimeAdapter.toModel(null));\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTimepicker} from './timepicker';\n\nexport {NgbTimepicker} from './timepicker';\nexport {NgbTimepickerConfig} from './timepicker-config';\nexport {NgbTimeStruct} from './ngb-time-struct';\nexport {NgbTimeAdapter} from './ngb-time-adapter';\nexport {NgbTimepickerI18n} from './timepicker-i18n';\n\n@NgModule({declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule]})\nexport class NgbTimepickerModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * Interface used to type all toast config options. See `NgbToastConfig`.\n *\n * @since 5.0.0\n */\nexport interface NgbToastOptions {\n /**\n * Specify if the toast component should emit the `hide()` output\n * after a certain `delay` in ms.\n */\n autohide?: boolean;\n\n /**\n * Delay in ms after which the `hide()` output should be emitted.\n */\n delay?: number;\n\n /**\n * Type of aria-live attribute to be used.\n *\n * Could be one of these 2 values (as string):\n * - `polite` (default)\n * - `alert`\n */\n ariaLive?: 'polite' | 'alert';\n}\n\n/**\n * Configuration service for the NgbToast component. You can inject this service, typically in your root component,\n * and customize the values of its properties in order to provide default values for all the toasts used in the\n * application.\n *\n * @since 5.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbToastConfig implements NgbToastOptions {\n autohide = true;\n delay = 500;\n ariaLive: 'polite' | 'alert' = 'polite';\n}\n","import {\n AfterContentInit,\n Attribute,\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {NgbToastConfig} from './toast-config';\n\n/**\n * This directive allows the usage of HTML markup or other directives\n * inside of the toast's header.\n *\n * @since 5.0.0\n */\n@Directive({selector: '[ngbToastHeader]'})\nexport class NgbToastHeader {\n}\n\n/**\n * Toasts provide feedback messages as notifications to the user.\n * Goal is to mimic the push notifications available both on mobile and desktop operating systems.\n *\n * @since 5.0.0\n */\n@Component({\n selector: 'ngb-toast',\n exportAs: 'ngbToast',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'alert',\n '[attr.aria-live]': 'ariaLive',\n 'aria-atomic': 'true',\n '[class.toast]': 'true',\n '[class.show]': 'true',\n },\n template: `\n \n {{header}}\n \n \n
\n \n \n
\n
\n
\n \n
\n `,\n styleUrls: ['./toast.scss']\n})\nexport class NgbToast implements AfterContentInit,\n OnChanges {\n private _timeoutID;\n\n /**\n * Delay after which the toast will hide (ms).\n * default: `500` (ms) (inherited from NgbToastConfig)\n */\n @Input() delay: number;\n\n /**\n * Auto hide the toast after a delay in ms.\n * default: `true` (inherited from NgbToastConfig)\n */\n @Input() autohide: boolean;\n\n /**\n * Text to be used as toast's header.\n * Ignored if a ContentChild template is specified at the same time.\n */\n @Input() header: string;\n\n /**\n * A template like `` can be\n * used in the projected content to allow markup usage.\n */\n @ContentChild(NgbToastHeader, {read: TemplateRef, static: true}) contentHeaderTpl: TemplateRef| null = null;\n\n /**\n * An event fired immediately when toast's `hide()` method has been called.\n * It can only occur in 2 different scenarios:\n * - `autohide` timeout fires\n * - user clicks on a closing cross (×)\n *\n * Additionally this output is purely informative. The toast won't disappear. It's up to the user to take care of\n * that.\n */\n @Output('hide') hideOutput = new EventEmitter();\n\n constructor(@Attribute('aria-live') public ariaLive: string, config: NgbToastConfig) {\n if (this.ariaLive == null) {\n this.ariaLive = config.ariaLive;\n }\n this.delay = config.delay;\n this.autohide = config.autohide;\n }\n\n ngAfterContentInit() { this._init(); }\n\n ngOnChanges(changes: SimpleChanges) {\n if ('autohide' in changes) {\n this._clearTimeout();\n this._init();\n }\n }\n\n hide() {\n this._clearTimeout();\n this.hideOutput.emit();\n }\n\n private _init() {\n if (this.autohide && !this._timeoutID) {\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\n }\n }\n\n private _clearTimeout() {\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n this._timeoutID = null;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {NgbToast, NgbToastHeader} from './toast';\n\nexport {NgbToast, NgbToastHeader} from './toast';\nexport {NgbToastConfig, NgbToastOptions} from './toast-config';\n\n@NgModule({declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader]})\nexport class NgbToastModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTooltip`](#/components/tooltip/api#NgbTooltip) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tooltips used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTooltipConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'hover focus';\n container: string;\n disableTooltip = false;\n tooltipClass: string;\n openDelay = 0;\n closeDelay = 0;\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbTooltipConfig} from './tooltip-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-tooltip-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'[class]': '\"tooltip show\" + (tooltipClass ? \" \" + tooltipClass : \"\")', 'role': 'tooltip', '[id]': 'id'},\n template: `
`,\n styleUrls: ['./tooltip.scss']\n})\nexport class NgbTooltipWindow {\n @Input() id: string;\n @Input() tooltipClass: string;\n}\n\n/**\n * A lightweight and extensible directive for fancy tooltip creation.\n */\n@Directive({selector: '[ngbTooltip]', exportAs: 'ngbTooltip'})\nexport class NgbTooltip implements OnInit, OnDestroy, OnChanges {\n /**\n * Indicates whether the tooltip should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The preferred placement of the tooltip.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/tooltip/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the tooltip should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, tooltip is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disableTooltip: boolean;\n\n /**\n * An optional class applied to the tooltip window element.\n *\n * @since 3.2.0\n */\n @Input() tooltipClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the tooltip is shown. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n /**\n * An event emitted when the popover is hidden. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbTooltip: string | TemplateRef;\n private _ngbTooltipWindowId = `ngb-tooltip-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbTooltipConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disableTooltip = config.disableTooltip;\n this.tooltipClass = config.tooltipClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbTooltipWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-tooltip');\n }\n });\n }\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the tooltip.\n *\n * If the content if falsy, the tooltip won't open.\n */\n @Input()\n set ngbTooltip(value: string | TemplateRef) {\n this._ngbTooltip = value;\n if (!value && this._windowRef) {\n this.close();\n }\n }\n\n get ngbTooltip() { return this._ngbTooltip; }\n\n /**\n * Opens the tooltip.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the tooltip template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\n this._windowRef = this._popupService.open(this._ngbTooltip, context);\n this._windowRef.instance.tooltipClass = this.tooltipClass;\n this._windowRef.instance.id = this._ngbTooltipWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening tooltip from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because tooltip won't work inside the OnPush component.\n // Ex. when we use expression like `{{ tooltip.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the tooltip from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n this.shown.emit();\n }\n }\n\n /**\n * Closes the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n close(): void {\n if (this._windowRef != null) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close();\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({tooltipClass}: SimpleChanges) {\n if (tooltipClass && this.isOpen()) {\n this._windowRef.instance.tooltipClass = tooltipClass.currentValue;\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbTooltip, NgbTooltipWindow} from './tooltip';\n\nexport {NgbTooltipConfig} from './tooltip-config';\nexport {NgbTooltip} from './tooltip';\nexport {Placement} from '../util/positioning';\n\n@NgModule({declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow]})\nexport class NgbTooltipModule {\n}\n","import {Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {regExpEscape, toString} from '../util/util';\n\n/**\n * A component that helps with text highlighting.\n *\n * If splits the `result` text into parts that contain the searched `term` and generates the HTML markup to simplify\n * highlighting:\n *\n * Ex. `result=\"Alaska\"` and `term=\"as\"` will produce `Alaska`.\n */\n@Component({\n selector: 'ngb-highlight',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `` +\n `{{part}}{{part}}` +\n ``, // template needs to be formatted in a certain way so we don't add empty text nodes\n styleUrls: ['./highlight.scss']\n})\nexport class NgbHighlight implements OnChanges {\n parts: string[];\n\n /**\n * The CSS class for `` elements wrapping the `term` inside the `result`.\n */\n @Input() highlightClass = 'ngb-highlight';\n\n /**\n * The text highlighting is added to.\n *\n * If the `term` is found inside this text, it will be highlighted.\n * If the `term` contains array then all the items from it will be highlighted inside the text.\n */\n @Input() result: string;\n\n /**\n * The term or array of terms to be highlighted.\n * Since version `v4.2.0` term could be a `string[]`\n */\n @Input() term: string | readonly string[];\n\n ngOnChanges(changes: SimpleChanges) {\n const result = toString(this.result);\n\n const terms = Array.isArray(this.term) ? this.term : [this.term];\n const escapedTerms = terms.map(term => regExpEscape(toString(term))).filter(term => term);\n\n this.parts = escapedTerms.length ? result.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nimport {toString} from '../util/util';\n\n/**\n * The context for the typeahead result template in case you want to override the default one.\n */\nexport interface ResultTemplateContext {\n /**\n * Your typeahead result item.\n */\n result: any;\n\n /**\n * Search term from the `` used to get current result.\n */\n term: string;\n}\n\n@Component({\n selector: 'ngb-typeahead-window',\n exportAs: 'ngbTypeaheadWindow',\n encapsulation: ViewEncapsulation.None,\n host: {'(mousedown)': '$event.preventDefault()', 'class': 'dropdown-menu show', 'role': 'listbox', '[id]': 'id'},\n template: `\n \n \n \n \n \n \n `\n})\nexport class NgbTypeaheadWindow implements OnInit {\n activeIdx = 0;\n\n /**\n * The id for the typeahead window. The id should be unique and the same\n * as the associated typeahead's id.\n */\n @Input() id: string;\n\n /**\n * Flag indicating if the first row should be active initially\n */\n @Input() focusFirst = true;\n\n /**\n * Typeahead match results to be displayed\n */\n @Input() results;\n\n /**\n * Search term used to get current results\n */\n @Input() term: string;\n\n /**\n * A function used to format a given result before display. This function should return a formatted string without any\n * HTML markup\n */\n @Input() formatter = toString;\n\n /**\n * A template to override a matching result default display\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * Event raised when user selects a particular result row\n */\n @Output('select') selectEvent = new EventEmitter();\n\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\n\n getActive() { return this.results[this.activeIdx]; }\n\n markActive(activeIdx: number) {\n this.activeIdx = activeIdx;\n this._activeChanged();\n }\n\n next() {\n if (this.activeIdx === this.results.length - 1) {\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\n } else {\n this.activeIdx++;\n }\n this._activeChanged();\n }\n\n prev() {\n if (this.activeIdx < 0) {\n this.activeIdx = this.results.length - 1;\n } else if (this.activeIdx === 0) {\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\n } else {\n this.activeIdx--;\n }\n this._activeChanged();\n }\n\n resetActive() {\n this.activeIdx = this.focusFirst ? 0 : -1;\n this._activeChanged();\n }\n\n select(item) { this.selectEvent.emit(item); }\n\n ngOnInit() { this.resetActive(); }\n\n private _activeChanged() {\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\n }\n}\n","import {Injectable, Inject, InjectionToken, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n\n// usefulness (and default value) of delay documented in Material's CDK\n// https://github.com/angular/material2/blob/6405da9b8e8532a7e5c854c920ee1815c275d734/src/cdk/a11y/live-announcer/live-announcer.ts#L50\nexport type ARIA_LIVE_DELAY_TYPE = number | null;\nexport const ARIA_LIVE_DELAY = new InjectionToken(\n 'live announcer delay', {providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY});\nexport function ARIA_LIVE_DELAY_FACTORY(): number {\n return 100;\n}\n\n\nfunction getLiveElement(document: any, lazyCreate = false): HTMLElement | null {\n let element = document.body.querySelector('#ngb-live') as HTMLElement;\n\n if (element == null && lazyCreate) {\n element = document.createElement('div');\n\n element.setAttribute('id', 'ngb-live');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n\n element.classList.add('sr-only');\n\n document.body.appendChild(element);\n }\n\n return element;\n}\n\n\n\n@Injectable({providedIn: 'root'})\nexport class Live implements OnDestroy {\n constructor(@Inject(DOCUMENT) private _document: any, @Inject(ARIA_LIVE_DELAY) private _delay: any) {}\n\n ngOnDestroy() {\n const element = getLiveElement(this._document);\n if (element) {\n element.parentElement.removeChild(element);\n }\n }\n\n say(message: string) {\n const element = getLiveElement(this._document, true);\n const delay = this._delay;\n\n element.textContent = '';\n const setText = () => element.textContent = message;\n if (delay === null) {\n setText();\n } else {\n setTimeout(setText, delay);\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTypeahead`](#/components/typeahead/api#NgbTypeahead) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the typeaheads used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTypeaheadConfig {\n container;\n editable = true;\n focusFirst = true;\n showHint = false;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ApplicationRef\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {BehaviorSubject, fromEvent, Observable, Subject, Subscription} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {Live} from '../util/accessibility/live';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\nimport {PopupService} from '../util/popup';\nimport {PlacementArray, positionElements} from '../util/positioning';\nimport {isDefined, toString} from '../util/util';\n\nimport {NgbTypeaheadConfig} from './typeahead-config';\nimport {NgbTypeaheadWindow, ResultTemplateContext} from './typeahead-window';\n\n\nconst NGB_TYPEAHEAD_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTypeahead),\n multi: true\n};\n\n/**\n * An event emitted right before an item is selected from the result list.\n */\nexport interface NgbTypeaheadSelectItemEvent {\n /**\n * The item from the result list about to be selected.\n */\n item: any;\n\n /**\n * Calling this function will prevent item selection from happening.\n */\n preventDefault: () => void;\n}\n\nlet nextWindowId = 0;\n\n/**\n * A directive providing a simple way of creating powerful typeaheads from any text input.\n */\n@Directive({\n selector: 'input[ngbTypeahead]',\n exportAs: 'ngbTypeahead',\n host: {\n '(blur)': 'handleBlur()',\n '[class.open]': 'isPopupOpen()',\n '(keydown)': 'handleKeyDown($event)',\n '[autocomplete]': 'autocomplete',\n 'autocapitalize': 'off',\n 'autocorrect': 'off',\n 'role': 'combobox',\n 'aria-multiline': 'false',\n '[attr.aria-autocomplete]': 'showHint ? \"both\" : \"list\"',\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-owns]': 'isPopupOpen() ? popupId : null',\n '[attr.aria-expanded]': 'isPopupOpen()'\n },\n providers: [NGB_TYPEAHEAD_VALUE_ACCESSOR]\n})\nexport class NgbTypeahead implements ControlValueAccessor,\n OnInit, OnDestroy {\n private _popupService: PopupService;\n private _subscription: Subscription;\n private _closed$ = new Subject();\n private _inputValueBackup: string;\n private _valueChanges: Observable;\n private _resubscribeTypeahead: BehaviorSubject;\n private _windowRef: ComponentRef;\n private _zoneSubscription: any;\n\n /**\n * The value for the `autocomplete` attribute for the `` element.\n *\n * Defaults to `\"off\"` to disable the native browser autocomplete, but you can override it if necessary.\n *\n * @since 2.1.0\n */\n @Input() autocomplete = 'off';\n\n /**\n * A selector specifying the element the typeahead popup will be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, model values will not be restricted only to items selected from the popup.\n */\n @Input() editable: boolean;\n\n /**\n * If `true`, the first item in the result list will always stay focused while typing.\n */\n @Input() focusFirst: boolean;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the `` field.\n *\n * It is called when the user selects something in the popup or the model value changes, so the input needs to\n * be updated.\n */\n @Input() inputFormatter: (item: any) => string;\n\n /**\n * The function that converts a stream of text values from the `` element to the stream of the array of items\n * to display in the typeahead popup.\n *\n * If the resulting observable emits a non-empty array - the popup will be shown. If it emits an empty array - the\n * popup will be closed.\n *\n * See the [basic example](#/components/typeahead/examples#basic) for more details.\n *\n * Note that the `this` argument is `undefined` so you need to explicitly bind it to a desired \"this\" target.\n */\n @Input() ngbTypeahead: (text: Observable) => Observable;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the popup.\n *\n * Must be provided, if your `ngbTypeahead` returns something other than `Observable`.\n *\n * Alternatively for more complex markup in the popup you should use `resultTemplate`.\n */\n @Input() resultFormatter: (item: any) => string;\n\n /**\n * The template to override the way resulting items are displayed in the popup.\n *\n * See the [ResultTemplateContext](#/components/typeahead/api#ResultTemplateContext) for the template context.\n *\n * Also see the [template for results demo](#/components/typeahead/examples#template) for more details.\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * If `true`, will show the hint in the `` when an item in the result list matches.\n */\n @Input() showHint: boolean;\n\n /**\n * The preferred placement of the typeahead.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray = 'bottom-left';\n\n /**\n * An event emitted right before an item is selected from the result list.\n *\n * Event payload is of type [`NgbTypeaheadSelectItemEvent`](#/components/typeahead/api#NgbTypeaheadSelectItemEvent).\n */\n @Output() selectItem = new EventEmitter();\n\n activeDescendant: string;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n private _onTouched = () => {};\n private _onChange = (_: any) => {};\n\n constructor(\n private _elementRef: ElementRef, viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, injector: Injector, componentFactoryResolver: ComponentFactoryResolver,\n config: NgbTypeaheadConfig, ngZone: NgZone, private _live: Live, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _changeDetector: ChangeDetectorRef, applicationRef: ApplicationRef) {\n this.container = config.container;\n this.editable = config.editable;\n this.focusFirst = config.focusFirst;\n this.showHint = config.showHint;\n this.placement = config.placement;\n\n this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\n .pipe(map($event => ($event.target as HTMLInputElement).value));\n\n this._resubscribeTypeahead = new BehaviorSubject(null);\n\n this._popupService = new PopupService(\n NgbTypeaheadWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\n if (this.isPopupOpen()) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body');\n }\n });\n }\n\n ngOnInit(): void {\n const inputValues$ = this._valueChanges.pipe(tap(value => {\n this._inputValueBackup = this.showHint ? value : null;\n this._onChange(this.editable ? value : undefined);\n }));\n const results$ = inputValues$.pipe(this.ngbTypeahead);\n const userInput$ = this._resubscribeTypeahead.pipe(switchMap(() => results$));\n this._subscription = this._subscribeToUserInput(userInput$);\n }\n\n ngOnDestroy(): void {\n this._closePopup();\n this._unsubscribeFromUserInput();\n this._zoneSubscription.unsubscribe();\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n writeValue(value) {\n this._writeInputValue(this._formatItemForInput(value));\n if (this.showHint) {\n this._inputValueBackup = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n\n /**\n * Dismisses typeahead popup window\n */\n dismissPopup() {\n if (this.isPopupOpen()) {\n this._resubscribeTypeahead.next(null);\n this._closePopup();\n if (this.showHint && this._inputValueBackup !== null) {\n this._writeInputValue(this._inputValueBackup);\n }\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Returns true if the typeahead popup window is displayed\n */\n isPopupOpen() { return this._windowRef != null; }\n\n handleBlur() {\n this._resubscribeTypeahead.next(null);\n this._onTouched();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isPopupOpen()) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n event.preventDefault();\n this._windowRef.instance.next();\n this._showHint();\n break;\n case Key.ArrowUp:\n event.preventDefault();\n this._windowRef.instance.prev();\n this._showHint();\n break;\n case Key.Enter:\n case Key.Tab:\n const result = this._windowRef.instance.getActive();\n if (isDefined(result)) {\n event.preventDefault();\n event.stopPropagation();\n this._selectResult(result);\n }\n this._closePopup();\n break;\n }\n }\n\n private _openPopup() {\n if (!this.isPopupOpen()) {\n this._inputValueBackup = this._elementRef.nativeElement.value;\n this._windowRef = this._popupService.open();\n this._windowRef.instance.id = this.popupId;\n this._windowRef.instance.selectEvent.subscribe((result: any) => this._selectResultClosePopup(result));\n this._windowRef.instance.activeChangeEvent.subscribe((activeId: string) => this.activeDescendant = activeId);\n\n if (this.container === 'body') {\n window.document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n this._changeDetector.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$,\n [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\n }\n }\n\n private _closePopup() {\n this._closed$.next();\n this._popupService.close();\n this._windowRef = null;\n this.activeDescendant = undefined;\n }\n\n private _selectResult(result: any) {\n let defaultPrevented = false;\n this.selectItem.emit({item: result, preventDefault: () => { defaultPrevented = true; }});\n this._resubscribeTypeahead.next(null);\n\n if (!defaultPrevented) {\n this.writeValue(result);\n this._onChange(result);\n }\n }\n\n private _selectResultClosePopup(result: any) {\n this._selectResult(result);\n this._closePopup();\n }\n\n private _showHint() {\n if (this.showHint && this._windowRef.instance.hasActive() && this._inputValueBackup != null) {\n const userInputLowerCase = this._inputValueBackup.toLowerCase();\n const formattedVal = this._formatItemForInput(this._windowRef.instance.getActive());\n\n if (userInputLowerCase === formattedVal.substr(0, this._inputValueBackup.length).toLowerCase()) {\n this._writeInputValue(this._inputValueBackup + formattedVal.substr(this._inputValueBackup.length));\n this._elementRef.nativeElement['setSelectionRange'].apply(\n this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\n } else {\n this._writeInputValue(formattedVal);\n }\n }\n }\n\n private _formatItemForInput(item: any): string {\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\n }\n\n private _writeInputValue(value: string): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\n }\n\n private _subscribeToUserInput(userInput$: Observable): Subscription {\n return userInput$.subscribe((results) => {\n if (!results || results.length === 0) {\n this._closePopup();\n } else {\n this._openPopup();\n this._windowRef.instance.focusFirst = this.focusFirst;\n this._windowRef.instance.results = results;\n this._windowRef.instance.term = this._elementRef.nativeElement.value;\n if (this.resultFormatter) {\n this._windowRef.instance.formatter = this.resultFormatter;\n }\n if (this.resultTemplate) {\n this._windowRef.instance.resultTemplate = this.resultTemplate;\n }\n this._windowRef.instance.resetActive();\n\n // The observable stream we are subscribing to might have async steps\n // and if a component containing typeahead is using the OnPush strategy\n // the change detection turn wouldn't be invoked automatically.\n this._windowRef.changeDetectorRef.detectChanges();\n\n this._showHint();\n }\n\n // live announcer\n const count = results ? results.length : 0;\n this._live.say(count === 0 ? 'No results available' : `${count} result${count === 1 ? '' : 's'} available`);\n });\n }\n\n private _unsubscribeFromUserInput() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n this._subscription = null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbHighlight} from './highlight';\nimport {NgbTypeaheadWindow} from './typeahead-window';\nimport {NgbTypeahead} from './typeahead';\n\nexport {NgbHighlight} from './highlight';\nexport {NgbTypeaheadWindow} from './typeahead-window';\nexport {NgbTypeaheadConfig} from './typeahead-config';\nexport {NgbTypeahead, NgbTypeaheadSelectItemEvent} from './typeahead';\n\n@NgModule({\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\n exports: [NgbTypeahead, NgbHighlight],\n imports: [CommonModule],\n entryComponents: [NgbTypeaheadWindow]\n})\nexport class NgbTypeaheadModule {\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbAccordionModule} from './accordion/accordion.module';\nimport {NgbAlertModule} from './alert/alert.module';\nimport {NgbButtonsModule} from './buttons/buttons.module';\nimport {NgbCarouselModule} from './carousel/carousel.module';\nimport {NgbCollapseModule} from './collapse/collapse.module';\nimport {NgbDatepickerModule} from './datepicker/datepicker.module';\nimport {NgbDropdownModule} from './dropdown/dropdown.module';\nimport {NgbModalModule} from './modal/modal.module';\nimport {NgbNavModule} from './nav/nav.module';\nimport {NgbPaginationModule} from './pagination/pagination.module';\nimport {NgbPopoverModule} from './popover/popover.module';\nimport {NgbProgressbarModule} from './progressbar/progressbar.module';\nimport {NgbRatingModule} from './rating/rating.module';\nimport {NgbTabsetModule} from './tabset/tabset.module';\nimport {NgbTimepickerModule} from './timepicker/timepicker.module';\nimport {NgbToastModule} from './toast/toast.module';\nimport {NgbTooltipModule} from './tooltip/tooltip.module';\nimport {NgbTypeaheadModule} from './typeahead/typeahead.module';\n\n\n\nexport {\n NgbAccordion,\n NgbAccordionConfig,\n NgbAccordionModule,\n NgbPanel,\n NgbPanelChangeEvent,\n NgbPanelContent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelTitle,\n NgbPanelToggle\n} from './accordion/accordion.module';\nexport {NgbAlert, NgbAlertConfig, NgbAlertModule} from './alert/alert.module';\nexport {NgbButtonLabel, NgbButtonsModule, NgbCheckBox, NgbRadio, NgbRadioGroup} from './buttons/buttons.module';\nexport {\n NgbCarousel,\n NgbCarouselConfig,\n NgbCarouselModule,\n NgbSlide,\n NgbSlideEvent,\n NgbSlideEventDirection,\n NgbSlideEventSource\n} from './carousel/carousel.module';\nexport {NgbCollapse, NgbCollapseModule} from './collapse/collapse.module';\nexport {\n NgbCalendar,\n NgbCalendarGregorian,\n NgbCalendarHebrew,\n NgbCalendarIslamicCivil,\n NgbCalendarIslamicUmalqura,\n NgbCalendarPersian,\n NgbDate,\n NgbDateAdapter,\n NgbDateNativeAdapter,\n NgbDateNativeUTCAdapter,\n NgbDateParserFormatter,\n NgbDatepicker,\n NgbDatepickerConfig,\n NgbInputDatepickerConfig,\n NgbDatepickerContent,\n NgbDatepickerI18n,\n NgbDatepickerI18nHebrew,\n NgbDatepickerKeyboardService,\n NgbDatepickerModule,\n NgbDatepickerMonth,\n NgbDatepickerNavigateEvent,\n NgbDatepickerState,\n NgbDateStruct,\n NgbInputDatepicker,\n NgbPeriod\n} from './datepicker/datepicker.module';\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownConfig,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownModule,\n NgbDropdownToggle,\n NgbNavbar\n} from './dropdown/dropdown.module';\nexport {\n ModalDismissReasons,\n NgbActiveModal,\n NgbModal,\n NgbModalConfig,\n NgbModalModule,\n NgbModalOptions,\n NgbModalRef\n} from './modal/modal.module';\nexport {\n NgbNavChangeEvent,\n NgbNavConfig,\n NgbNav,\n NgbNavContent,\n NgbNavContentContext,\n NgbNavItem,\n NgbNavLink,\n NgbNavModule,\n NgbNavOutlet\n} from './nav/nav.module';\nexport {\n NgbPagination,\n NgbPaginationConfig,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationModule,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination/pagination.module';\nexport {NgbPopover, NgbPopoverConfig, NgbPopoverModule} from './popover/popover.module';\nexport {NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule} from './progressbar/progressbar.module';\nexport {NgbRating, NgbRatingConfig, NgbRatingModule} from './rating/rating.module';\nexport {\n NgbTab,\n NgbTabChangeEvent,\n NgbTabContent,\n NgbTabset,\n NgbTabsetConfig,\n NgbTabsetModule,\n NgbTabTitle\n} from './tabset/tabset.module';\nexport {\n NgbTimeAdapter,\n NgbTimepickerI18n,\n NgbTimepicker,\n NgbTimepickerConfig,\n NgbTimepickerModule,\n NgbTimeStruct\n} from './timepicker/timepicker.module';\nexport {NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule} from './toast/toast.module';\nexport {NgbTooltip, NgbTooltipConfig, NgbTooltipModule} from './tooltip/tooltip.module';\nexport {\n NgbHighlight,\n NgbTypeahead,\n NgbTypeaheadConfig,\n NgbTypeaheadModule,\n NgbTypeaheadSelectItemEvent\n} from './typeahead/typeahead.module';\nexport {Placement} from './util/positioning';\n\n\nconst NGB_MODULES = [\n NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule,\n NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule,\n NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule,\n // tslint:disable-next-line:deprecation\n NgbTabsetModule\n];\n\n@NgModule({imports: NGB_MODULES, exports: NGB_MODULES})\nexport class NgbModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {NGB_CAROUSEL_DIRECTIVES as ɵa} from './carousel/carousel';\nexport {NGB_DATEPICKER_DATE_ADAPTER_FACTORY as ɵi,NgbDateStructAdapter as ɵj} from './datepicker/adapters/ngb-date-adapter';\nexport {NGB_DATEPICKER_VALUE_ACCESSOR as ɵb} from './datepicker/datepicker';\nexport {NgbDatepickerDayView as ɵd} from './datepicker/datepicker-day-view';\nexport {NGB_DATEPICKER_18N_FACTORY as ɵg,NgbDatepickerI18nDefault as ɵh} from './datepicker/datepicker-i18n';\nexport {NgbDatepickerNavigation as ɵe} from './datepicker/datepicker-navigation';\nexport {NgbDatepickerNavigationSelect as ɵf} from './datepicker/datepicker-navigation-select';\nexport {NgbDatepickerService as ɵt} from './datepicker/datepicker-service';\nexport {NgbCalendarHijri as ɵbb} from './datepicker/hijri/ngb-calendar-hijri';\nexport {NGB_DATEPICKER_CALENDAR_FACTORY as ɵc} from './datepicker/ngb-calendar';\nexport {NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵk,NgbDateISOParserFormatter as ɵl} from './datepicker/ngb-date-parser-formatter';\nexport {NgbModalBackdrop as ɵu} from './modal/modal-backdrop';\nexport {NgbModalStack as ɵw} from './modal/modal-stack';\nexport {NgbModalWindow as ɵv} from './modal/modal-window';\nexport {NgbPopoverWindow as ɵm} from './popover/popover';\nexport {NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵn,NgbTimeStructAdapter as ɵo} from './timepicker/ngb-time-adapter';\nexport {NGB_TIMEPICKER_I18N_FACTORY as ɵp,NgbTimepickerI18nDefault as ɵq} from './timepicker/timepicker-i18n';\nexport {NgbTooltipWindow as ɵr} from './tooltip/tooltip';\nexport {NgbTypeaheadWindow as ɵs} from './typeahead/typeahead-window';\nexport {ARIA_LIVE_DELAY as ɵy,ARIA_LIVE_DELAY_FACTORY as ɵz,Live as ɵba} from './util/accessibility/live';\nexport {ContentRef as ɵbc} from './util/popup';\nexport {ScrollBar as ɵx} from './util/scrollbar';","/**\n * @license Angular v11.0.4\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\n}\n// see https://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `{` / `ƫ` syntax should be used when the named character reference does not\n// exist.\nconst NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n};\n// The &ngsp; pseudo-entity is denoting a space. see:\n// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart\nconst NGSP_UNICODE = '\\uE500';\nNAMED_ENTITIES['ngsp'] = NGSP_UNICODE;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see https://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n var _a, _b;\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insesitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return (_b = (_a = TAG_DEFINITIONS[tagName]) !== null && _a !== void 0 ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) !== null && _b !== void 0 ? _b : _DEFAULT_TAG_DEFINITION;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* TAG */];\n if (tag) {\n const prefix = match[3 /* PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.substr(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.substr(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(attribute, match[6 /* ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.attrs[i];\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst createInject = makeMetadataFactory('Inject', (token) => ({ token }));\nconst createInjectionToken = makeMetadataFactory('InjectionToken', (desc) => ({ _desc: desc, ɵprov: undefined }));\nconst createAttribute = makeMetadataFactory('Attribute', (attributeName) => ({ attributeName }));\nconst createContentChildren = makeMetadataFactory('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data)));\nconst createContentChild = makeMetadataFactory('ContentChild', (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data)));\nconst createViewChildren = makeMetadataFactory('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data)));\nconst createViewChild = makeMetadataFactory('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)));\nconst createDirective = makeMetadataFactory('Directive', (dir = {}) => dir);\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst createComponent = makeMetadataFactory('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)));\nconst createPipe = makeMetadataFactory('Pipe', (p) => (Object.assign({ pure: true }, p)));\nconst createInput = makeMetadataFactory('Input', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createOutput = makeMetadataFactory('Output', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createHostBinding = makeMetadataFactory('HostBinding', (hostPropertyName) => ({ hostPropertyName }));\nconst createHostListener = makeMetadataFactory('HostListener', (eventName, args) => ({ eventName, args }));\nconst createNgModule = makeMetadataFactory('NgModule', (ngModule) => ngModule);\nconst createInjectable = makeMetadataFactory('Injectable', (injectable = {}) => injectable);\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst createOptional = makeMetadataFactory('Optional');\nconst createSelf = makeMetadataFactory('Self');\nconst createSkipSelf = makeMetadataFactory('SkipSelf');\nconst createHost = makeMetadataFactory('Host');\nconst Type = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction makeMetadataFactory(name, props) {\n // This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code\n // that works with the static_reflector.ts in the ViewEngine compiler.\n // In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be\n // new'ed.\n function factory(...args) {\n const values = props ? props(...args) : {};\n return Object.assign({ ngMetadataName: name }, values);\n }\n factory.isTypeOf = (obj) => obj && obj.ngMetadataName === name;\n factory.ngMetadataName = name;\n return factory;\n}\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* NOT */ | 4 /* ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* NOT */ | 2 /* ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* NOT */ | 8 /* CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createInject: createInject,\n createInjectionToken: createInjectionToken,\n createAttribute: createAttribute,\n createContentChildren: createContentChildren,\n createContentChild: createContentChild,\n createViewChildren: createViewChildren,\n createViewChild: createViewChild,\n createDirective: createDirective,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n createComponent: createComponent,\n createPipe: createPipe,\n createInput: createInput,\n createOutput: createOutput,\n createHostBinding: createHostBinding,\n createHostListener: createHostListener,\n createNgModule: createNgModule,\n createInjectable: createInjectable,\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n createOptional: createOptional,\n createSelf: createSelf,\n createSkipSelf: createSkipSelf,\n createHost: createHost,\n Type: Type,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type$1 {\n constructor(modifiers = []) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type$1 {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type$1 {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type$1 {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type$1 {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalent(base, other) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!base[i].isEquivalent(other[i])) {\n return false;\n }\n }\n return true;\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callMethod(name, params, sourceSpan) {\n return new InvokeMethodExpr(this, name, params, null, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n cast(type, sourceSpan) {\n return new CastExpr(this, type, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nvar BuiltinVar;\n(function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n})(BuiltinVar || (BuiltinVar = {}));\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n if (typeof name === 'string') {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name && this.builtin === e.builtin;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n if (!this.name) {\n throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);\n }\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nvar BuiltinMethod;\n(function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n})(BuiltinMethod || (BuiltinMethod = {}));\nclass InvokeMethodExpr extends Expression {\n constructor(receiver, method, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n if (typeof method === 'string') {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n isEquivalent(e) {\n return e instanceof InvokeMethodExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.builtin === e.builtin && areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass MessagePiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass LiteralPiece extends MessagePiece {\n}\nclass PlaceholderPiece extends MessagePiece {\n}\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n const MEANING_SEPARATOR = '|';\n const ID_SEPARATOR = '@@';\n const LEGACY_ID_INDICATOR = '␟';\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text, this.getMessagePartSourceSpan(0));\n }\n getMessagePartSourceSpan(i) {\n var _a, _b;\n return (_b = (_a = this.messageParts[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n var _a, _b, _c, _d;\n return (_d = (_b = (_a = this.placeHolderNames[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : (_c = this.expressions[i]) === null || _c === void 0 ? void 0 : _c.sourceSpan) !== null && _d !== void 0 ? _d : this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * @param placeholderName The placeholder name to serialize\n * @param messagePart The following message string after this placeholder\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholderName = this.placeHolderNames[partIndex - 1].text;\n const messagePart = this.messageParts[partIndex];\n return createCookedRawString(placeholderName, messagePart.text, this.getMessagePartSourceSpan(partIndex));\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForMessagePart = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart, range) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForMessagePart(escapeStartingColon(escapeSlashes(messagePart))),\n range,\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForMessagePart(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`),\n range,\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass AssertNotNull extends Expression {\n constructor(condition, sourceSpan) {\n super(condition.type, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof AssertNotNull && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitAssertNotNullExpr(this, context);\n }\n}\nclass CastExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof CastExpr && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCastExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);\nconst SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);\nconst CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);\nconst CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 2] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 3] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = [], sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n addLeadingComment(leadingComment) {\n var _a;\n this.leadingComments = (_a = this.leadingComments) !== null && _a !== void 0 ? _a : [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass AbstractClassPart {\n constructor(type = null, modifiers = []) {\n this.type = type;\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nclass ClassField extends AbstractClassPart {\n constructor(name, type, modifiers, initializer) {\n super(type, modifiers);\n this.name = name;\n this.initializer = initializer;\n }\n isEquivalent(f) {\n return this.name === f.name;\n }\n}\nclass ClassMethod extends AbstractClassPart {\n constructor(name, params, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassGetter extends AbstractClassPart {\n constructor(name, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassStmt extends Statement {\n constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n isEquivalent(stmt) {\n return stmt instanceof ClassStmt && this.name === stmt.name &&\n nullSafeIsEquivalent(this.parent, stmt.parent) &&\n areAllEquivalent(this.fields, stmt.fields) &&\n areAllEquivalent(this.getters, stmt.getters) &&\n this.constructorMethod.isEquivalent(stmt.constructorMethod) &&\n areAllEquivalent(this.methods, stmt.methods);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass TryCatchStmt extends Statement {\n constructor(bodyStmts, catchStmts, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && areAllEquivalent(this.bodyStmts, stmt.bodyStmts) &&\n areAllEquivalent(this.catchStmts, stmt.catchStmts);\n }\n visitStatement(visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n }\n}\nclass ThrowStmt extends Statement {\n constructor(error, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.error = error;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && this.error.isEquivalent(stmt.error);\n }\n visitStatement(visitor, context) {\n return visitor.visitThrowStmt(this, context);\n }\n}\nclass AstTransformer {\n transformExpr(expr, context) {\n return expr;\n }\n transformStmt(stmt, context) {\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitTypeofExpr(expr, context) {\n return this.transformExpr(new TypeofExpr(expr.expr.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteVarExpr(expr, context) {\n return this.transformExpr(new WriteVarExpr(expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteKeyExpr(expr, context) {\n return this.transformExpr(new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWritePropExpr(expr, context) {\n return this.transformExpr(new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitInvokeMethodExpr(ast, context) {\n const method = ast.builtin || ast.name;\n return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInvokeFunctionExpr(ast, context) {\n return this.transformExpr(new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInstantiateExpr(ast, context) {\n return this.transformExpr(new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.transformExpr(new LocalizedString(ast.metaBlock, ast.messageParts, ast.placeHolderNames, this.visitAllExpressions(ast.expressions, context), ast.sourceSpan), context);\n }\n visitExternalExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitConditionalExpr(ast, context) {\n return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitNotExpr(ast, context) {\n return this.transformExpr(new NotExpr(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitAssertNotNullExpr(ast, context) {\n return this.transformExpr(new AssertNotNull(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitCastExpr(ast, context) {\n return this.transformExpr(new CastExpr(ast.value.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitFunctionExpr(ast, context) {\n return this.transformExpr(new FunctionExpr(ast.params, this.visitAllStatements(ast.statements, context), ast.type, ast.sourceSpan), context);\n }\n visitUnaryOperatorExpr(ast, context) {\n return this.transformExpr(new UnaryOperatorExpr(ast.operator, ast.expr.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitBinaryOperatorExpr(ast, context) {\n return this.transformExpr(new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitReadPropExpr(ast, context) {\n return this.transformExpr(new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type, ast.sourceSpan), context);\n }\n visitReadKeyExpr(ast, context) {\n return this.transformExpr(new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralArrayExpr(ast, context) {\n return this.transformExpr(new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralMapExpr(ast, context) {\n const entries = ast.entries.map((entry) => new LiteralMapEntry(entry.key, entry.value.visitExpression(this, context), entry.quoted));\n const mapType = new MapType(ast.valueType);\n return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);\n }\n visitCommaExpr(ast, context) {\n return this.transformExpr(new CommaExpr(this.visitAllExpressions(ast.parts, context), ast.sourceSpan), context);\n }\n visitAllExpressions(exprs, context) {\n return exprs.map(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n const value = stmt.value && stmt.value.visitExpression(this, context);\n return this.transformStmt(new DeclareVarStmt(stmt.name, value, stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareFunctionStmt(stmt, context) {\n return this.transformStmt(new DeclareFunctionStmt(stmt.name, stmt.params, this.visitAllStatements(stmt.statements, context), stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitExpressionStmt(stmt, context) {\n return this.transformStmt(new ExpressionStatement(stmt.expr.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitReturnStmt(stmt, context) {\n return this.transformStmt(new ReturnStatement(stmt.value.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareClassStmt(stmt, context) {\n const parent = stmt.parent.visitExpression(this, context);\n const getters = stmt.getters.map(getter => new ClassGetter(getter.name, this.visitAllStatements(getter.body, context), getter.type, getter.modifiers));\n const ctorMethod = stmt.constructorMethod &&\n new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);\n const methods = stmt.methods.map(method => new ClassMethod(method.name, method.params, this.visitAllStatements(method.body, context), method.type, method.modifiers));\n return this.transformStmt(new ClassStmt(stmt.name, parent, stmt.fields, getters, ctorMethod, methods, stmt.modifiers, stmt.sourceSpan), context);\n }\n visitIfStmt(stmt, context) {\n return this.transformStmt(new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitTryCatchStmt(stmt, context) {\n return this.transformStmt(new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitThrowStmt(stmt, context) {\n return this.transformStmt(new ThrowStmt(stmt.error.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitAllStatements(stmts, context) {\n return stmts.map(stmt => stmt.visitStatement(this, context));\n }\n}\nclass RecursiveAstVisitor {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeMethodExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitAssertNotNullExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitCastExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n stmt.parent.visitExpression(this, context);\n stmt.getters.forEach(getter => this.visitAllStatements(getter.body, context));\n if (stmt.constructorMethod) {\n this.visitAllStatements(stmt.constructorMethod.body, context);\n }\n stmt.methods.forEach(method => this.visitAllStatements(method.body, context));\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitTryCatchStmt(stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n }\n visitThrowStmt(stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction findReadVarNames(stmts) {\n const visitor = new _ReadVarVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.varNames;\n}\nclass _ReadVarVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.varNames = new Set();\n }\n visitDeclareFunctionStmt(stmt, context) {\n // Don't descend into nested functions\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n // Don't descend into nested classes\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n if (ast.name) {\n this.varNames.add(ast.name);\n }\n return null;\n }\n}\nfunction collectExternalReferences(stmts) {\n const visitor = new _FindExternalReferencesVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.externalReferences;\n}\nclass _FindExternalReferencesVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.externalReferences = [];\n }\n visitExternalExpr(e, context) {\n this.externalReferences.push(e.value);\n return super.visitExternalExpr(e, context);\n }\n}\nfunction applySourceSpanToStatementIfNeeded(stmt, sourceSpan) {\n if (!sourceSpan) {\n return stmt;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return stmt.visitStatement(transformer, null);\n}\nfunction applySourceSpanToExpressionIfNeeded(expr, sourceSpan) {\n if (!sourceSpan) {\n return expr;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return expr.visitExpression(transformer, null);\n}\nclass _ApplySourceSpanTransformer extends AstTransformer {\n constructor(sourceSpan) {\n super();\n this.sourceSpan = sourceSpan;\n }\n _clone(obj) {\n const clone = Object.create(obj.constructor.prototype);\n for (let prop of Object.keys(obj)) {\n clone[prop] = obj[prop];\n }\n return clone;\n }\n transformExpr(expr, context) {\n if (!expr.sourceSpan) {\n expr = this._clone(expr);\n expr.sourceSpan = this.sourceSpan;\n }\n return expr;\n }\n transformStmt(stmt, context) {\n if (!stmt.sourceSpan) {\n stmt = this._clone(stmt);\n stmt.sourceSpan = this.sourceSpan;\n }\n return stmt;\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction assertNotNull(expr, sourceSpan) {\n return new AssertNotNull(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction visitValue(value, visitor, context) {\n if (Array.isArray(value)) {\n return visitor.visitArray(value, context);\n }\n if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n if (value == null || typeof value == 'string' || typeof value == 'number' ||\n typeof value == 'boolean') {\n return visitor.visitPrimitive(value, context);\n }\n return visitor.visitOther(value, context);\n}\nfunction isDefined(val) {\n return val !== null && val !== undefined;\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nclass ValueTransformer {\n visitArray(arr, context) {\n return arr.map(value => visitValue(value, this, context));\n }\n visitStringMap(map, context) {\n const result = {};\n Object.keys(map).forEach(key => {\n result[key] = visitValue(map[key], this, context);\n });\n return result;\n }\n visitPrimitive(value, context) {\n return value;\n }\n visitOther(value, context) {\n return value;\n }\n}\nconst SyncAsync = {\n assertSync: (value) => {\n if (isPromise(value)) {\n throw new Error(`Illegal state: value cannot be a promise`);\n }\n return value;\n },\n then: (value, cb) => {\n return isPromise(value) ? value.then(cb) : cb(value);\n },\n all: (syncAsyncValues) => {\n return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues;\n }\n};\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\nfunction syntaxError(msg, parseErrors) {\n const error = Error(msg);\n error[ERROR_SYNTAX_ERROR] = true;\n if (parseErrors)\n error[ERROR_PARSE_ERRORS] = parseErrors;\n return error;\n}\nconst ERROR_SYNTAX_ERROR = 'ngSyntaxError';\nconst ERROR_PARSE_ERRORS = 'ngParseErrors';\nfunction isSyntaxError(error) {\n return error[ERROR_SYNTAX_ERROR];\n}\nfunction getParseErrors(error) {\n return error[ERROR_PARSE_ERRORS] || [];\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nfunction utf8Encode(str) {\n let encoded = [];\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded.push(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded.push(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded.push((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded.push(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__')) {\n return type();\n }\n else {\n return type;\n }\n}\n/**\n * Determine if the argument is shaped like a Promise\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Check __global first, because in Node tests both __global and __window may be defined and _global\n// should be __global in that case.\nconst _global = __global || __window || __self;\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n for (const item of arr) {\n (conditionFn(item) ? truthy : falsy).push(item);\n }\n return [truthy, falsy];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.injectorDefinitions = new Map();\n this.directiveDefinitions = new Map();\n this.componentDefinitions = new Map();\n this.pipeDefinitions = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unncessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getDefinition(type, kind, ctx, forceShared = false) {\n const definitions = this.definitionsOf(kind);\n let fixup = definitions.get(type);\n let newValue = false;\n if (!fixup) {\n const property = this.propertyNameOf(kind);\n fixup = new FixupExpression(ctx.importExpr(type).prop(property));\n definitions.set(type, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n const name = this.freshName();\n this.statements.push(variable(name).set(fixup.resolved).toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(variable(name));\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name).set(pureFunctionDeclaration).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Final\n ]));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n definitionsOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return this.componentDefinitions;\n case 1 /* Directive */:\n return this.directiveDefinitions;\n case 0 /* Injector */:\n return this.injectorDefinitions;\n case 3 /* Pipe */:\n return this.pipeDefinitions;\n }\n error(`Unknown definition kind ${kind}`);\n return this.componentDefinitions;\n }\n propertyNameOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return 'ɵcmp';\n case 1 /* Directive */:\n return 'ɵdir';\n case 0 /* Injector */:\n return 'ɵinj';\n case 3 /* Pipe */:\n return 'ɵpipe';\n }\n error(`Unknown definition kind ${kind}`);\n return '';\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid;\n this.visitWriteVarExpr = invalid;\n this.visitWriteKeyExpr = invalid;\n this.visitWritePropExpr = invalid;\n this.visitInvokeMethodExpr = invalid;\n this.visitInvokeFunctionExpr = invalid;\n this.visitInstantiateExpr = invalid;\n this.visitConditionalExpr = invalid;\n this.visitNotExpr = invalid;\n this.visitAssertNotNullExpr = invalid;\n this.visitCastExpr = invalid;\n this.visitFunctionExpr = invalid;\n this.visitUnaryOperatorExpr = invalid;\n this.visitBinaryOperatorExpr = invalid;\n this.visitReadPropExpr = invalid;\n this.visitReadKeyExpr = invalid;\n this.visitCommaExpr = invalid;\n this.visitLocalizedString = invalid;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE = '@angular/core';\nclass Identifiers {\n}\nIdentifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleName: CORE,\n};\nIdentifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };\nIdentifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };\nIdentifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };\nIdentifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleName: CORE,\n};\nIdentifiers.QueryList = { name: 'QueryList', moduleName: CORE };\nIdentifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };\nIdentifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };\nIdentifiers.CodegenComponentFactoryResolver = {\n name: 'ɵCodegenComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };\nIdentifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };\nIdentifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };\nIdentifiers.createModuleFactory = {\n name: 'ɵcmf',\n moduleName: CORE,\n};\nIdentifiers.moduleDef = {\n name: 'ɵmod',\n moduleName: CORE,\n};\nIdentifiers.moduleProviderDef = {\n name: 'ɵmpd',\n moduleName: CORE,\n};\nIdentifiers.RegisterModuleFactoryFn = {\n name: 'ɵregisterModuleFactory',\n moduleName: CORE,\n};\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };\nIdentifiers.Injector = { name: 'Injector', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.InjectableDef = { name: 'ɵɵInjectableDef', moduleName: CORE };\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleName: CORE,\n};\nIdentifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };\nIdentifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleName: CORE,\n};\nIdentifiers.inlineInterpolate = {\n name: 'ɵinlineInterpolate',\n moduleName: CORE,\n};\nIdentifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };\nIdentifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };\nIdentifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };\nIdentifiers.Renderer = { name: 'Renderer', moduleName: CORE };\nIdentifiers.viewDef = { name: 'ɵvid', moduleName: CORE };\nIdentifiers.elementDef = { name: 'ɵeld', moduleName: CORE };\nIdentifiers.anchorDef = { name: 'ɵand', moduleName: CORE };\nIdentifiers.textDef = { name: 'ɵted', moduleName: CORE };\nIdentifiers.directiveDef = { name: 'ɵdid', moduleName: CORE };\nIdentifiers.providerDef = { name: 'ɵprd', moduleName: CORE };\nIdentifiers.queryDef = { name: 'ɵqud', moduleName: CORE };\nIdentifiers.pureArrayDef = { name: 'ɵpad', moduleName: CORE };\nIdentifiers.pureObjectDef = { name: 'ɵpod', moduleName: CORE };\nIdentifiers.purePipeDef = { name: 'ɵppd', moduleName: CORE };\nIdentifiers.pipeDef = { name: 'ɵpid', moduleName: CORE };\nIdentifiers.nodeValue = { name: 'ɵnov', moduleName: CORE };\nIdentifiers.ngContentDef = { name: 'ɵncd', moduleName: CORE };\nIdentifiers.unwrapValue = { name: 'ɵunv', moduleName: CORE };\nIdentifiers.createRendererType2 = { name: 'ɵcrt', moduleName: CORE };\n// type only\nIdentifiers.RendererType2 = {\n name: 'RendererType2',\n moduleName: CORE,\n};\n// type only\nIdentifiers.ViewDefinition = {\n name: 'ɵViewDefinition',\n moduleName: CORE,\n};\nIdentifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nfunction createTokenForReference(reference) {\n return { identifier: { reference: reference } };\n}\nfunction createTokenForExternalReference(reflector, reference) {\n return createTokenForReference(reflector.resolveExternalReference(reference));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nclass StaticSymbol {\n constructor(filePath, name, members) {\n this.filePath = filePath;\n this.name = name;\n this.members = members;\n }\n assertNoMembers() {\n if (this.members.length) {\n throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`);\n }\n }\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nclass StaticSymbolCache {\n constructor() {\n this.cache = new Map();\n }\n get(declarationFile, name, members) {\n members = members || [];\n const memberSuffix = members.length ? `.${members.join('.')}` : '';\n const key = `\"${declarationFile}\".${name}${memberSuffix}`;\n let result = this.cache.get(key);\n if (!result) {\n result = new StaticSymbol(declarationFile, name, members);\n this.cache.set(key, result);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nconst HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.name;\n }\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction identifierModuleUrl(compileIdentifier) {\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.filePath;\n }\n // Runtime type\n return `./${stringify(ref)}`;\n}\nfunction viewClassName(compType, embeddedTemplateIndex) {\n return `View_${identifierName({ reference: compType })}_${embeddedTemplateIndex}`;\n}\nfunction rendererTypeName(compType) {\n return `RenderType_${identifierName({ reference: compType })}`;\n}\nfunction hostViewClassName(compType) {\n return `HostView_${identifierName({ reference: compType })}`;\n}\nfunction componentFactoryName(compType) {\n return `${identifierName({ reference: compType })}NgFactory`;\n}\nvar CompileSummaryKind;\n(function (CompileSummaryKind) {\n CompileSummaryKind[CompileSummaryKind[\"Pipe\"] = 0] = \"Pipe\";\n CompileSummaryKind[CompileSummaryKind[\"Directive\"] = 1] = \"Directive\";\n CompileSummaryKind[CompileSummaryKind[\"NgModule\"] = 2] = \"NgModule\";\n CompileSummaryKind[CompileSummaryKind[\"Injectable\"] = 3] = \"Injectable\";\n})(CompileSummaryKind || (CompileSummaryKind = {}));\nfunction tokenName(token) {\n return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier);\n}\nfunction tokenReference(token) {\n if (token.identifier != null) {\n return token.identifier.reference;\n }\n else {\n return token.value;\n }\n}\n/**\n * Metadata about a stylesheet\n */\nclass CompileStylesheetMetadata {\n constructor({ moduleUrl, styles, styleUrls } = {}) {\n this.moduleUrl = moduleUrl || null;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n}\n/**\n * Metadata regarding compilation of a template.\n */\nclass CompileTemplateMetadata {\n constructor({ encapsulation, template, templateUrl, htmlAst, styles, styleUrls, externalStylesheets, animations, ngContentSelectors, interpolation, isInline, preserveWhitespaces }) {\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.htmlAst = htmlAst;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = animations ? flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (interpolation && interpolation.length != 2) {\n throw new Error(`'interpolation' should have a start and an end symbol.`);\n }\n this.interpolation = interpolation;\n this.isInline = isInline;\n this.preserveWhitespaces = preserveWhitespaces;\n }\n toSummary() {\n return {\n ngContentSelectors: this.ngContentSelectors,\n encapsulation: this.encapsulation,\n styles: this.styles,\n animations: this.animations\n };\n }\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nclass CompileDirectiveMetadata {\n constructor({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, hostListeners, hostProperties, hostAttributes, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n this.isHost = !!isHost;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.guards = guards;\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n this.componentViewType = componentViewType;\n this.rendererType = rendererType;\n this.componentFactory = componentFactory;\n }\n static create({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, host, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n const hostListeners = {};\n const hostProperties = {};\n const hostAttributes = {};\n if (host != null) {\n Object.keys(host).forEach(key => {\n const value = host[key];\n const matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (matches[1] != null) {\n hostProperties[matches[1]] = value;\n }\n else if (matches[2] != null) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n const inputsMap = {};\n if (inputs != null) {\n inputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n const outputsMap = {};\n if (outputs != null) {\n outputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n isHost,\n type,\n isComponent: !!isComponent,\n selector,\n exportAs,\n changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners,\n hostProperties,\n hostAttributes,\n providers,\n viewProviders,\n queries,\n guards,\n viewQueries,\n entryComponents,\n template,\n componentViewType,\n rendererType,\n componentFactory,\n });\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Directive,\n type: this.type,\n isComponent: this.isComponent,\n selector: this.selector,\n exportAs: this.exportAs,\n inputs: this.inputs,\n outputs: this.outputs,\n hostListeners: this.hostListeners,\n hostProperties: this.hostProperties,\n hostAttributes: this.hostAttributes,\n providers: this.providers,\n viewProviders: this.viewProviders,\n queries: this.queries,\n guards: this.guards,\n viewQueries: this.viewQueries,\n entryComponents: this.entryComponents,\n changeDetection: this.changeDetection,\n template: this.template && this.template.toSummary(),\n componentViewType: this.componentViewType,\n rendererType: this.rendererType,\n componentFactory: this.componentFactory\n };\n }\n}\nclass CompilePipeMetadata {\n constructor({ type, name, pure }) {\n this.type = type;\n this.name = name;\n this.pure = !!pure;\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Pipe,\n type: this.type,\n name: this.name,\n pure: this.pure\n };\n }\n}\nclass CompileShallowModuleMetadata {\n}\n/**\n * Metadata regarding compilation of a module.\n */\nclass CompileNgModuleMetadata {\n constructor({ type, providers, declaredDirectives, exportedDirectives, declaredPipes, exportedPipes, entryComponents, bootstrapComponents, importedModules, exportedModules, schemas, transitiveModule, id }) {\n this.type = type || null;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id || null;\n this.transitiveModule = transitiveModule || null;\n }\n toSummary() {\n const module = this.transitiveModule;\n return {\n summaryKind: CompileSummaryKind.NgModule,\n type: this.type,\n entryComponents: module.entryComponents,\n providers: module.providers,\n modules: module.modules,\n exportedDirectives: module.exportedDirectives,\n exportedPipes: module.exportedPipes\n };\n }\n}\nclass TransitiveCompileNgModuleMetadata {\n constructor() {\n this.directivesSet = new Set();\n this.directives = [];\n this.exportedDirectivesSet = new Set();\n this.exportedDirectives = [];\n this.pipesSet = new Set();\n this.pipes = [];\n this.exportedPipesSet = new Set();\n this.exportedPipes = [];\n this.modulesSet = new Set();\n this.modules = [];\n this.entryComponentsSet = new Set();\n this.entryComponents = [];\n this.providers = [];\n }\n addProvider(provider, module) {\n this.providers.push({ provider: provider, module: module });\n }\n addDirective(id) {\n if (!this.directivesSet.has(id.reference)) {\n this.directivesSet.add(id.reference);\n this.directives.push(id);\n }\n }\n addExportedDirective(id) {\n if (!this.exportedDirectivesSet.has(id.reference)) {\n this.exportedDirectivesSet.add(id.reference);\n this.exportedDirectives.push(id);\n }\n }\n addPipe(id) {\n if (!this.pipesSet.has(id.reference)) {\n this.pipesSet.add(id.reference);\n this.pipes.push(id);\n }\n }\n addExportedPipe(id) {\n if (!this.exportedPipesSet.has(id.reference)) {\n this.exportedPipesSet.add(id.reference);\n this.exportedPipes.push(id);\n }\n }\n addModule(id) {\n if (!this.modulesSet.has(id.reference)) {\n this.modulesSet.add(id.reference);\n this.modules.push(id);\n }\n }\n addEntryComponent(ec) {\n if (!this.entryComponentsSet.has(ec.componentType)) {\n this.entryComponentsSet.add(ec.componentType);\n this.entryComponents.push(ec);\n }\n }\n}\nfunction _normalizeArray(obj) {\n return obj || [];\n}\nclass ProviderMeta {\n constructor(token, { useClass, useValue, useExisting, useFactory, deps, multi }) {\n this.token = token;\n this.useClass = useClass || null;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory || null;\n this.dependencies = deps || null;\n this.multi = !!multi;\n }\n}\nfunction flatten(list) {\n return list.reduce((flat, item) => {\n const flatItem = Array.isArray(item) ? flatten(item) : item;\n return flat.concat(flatItem);\n }, []);\n}\nfunction jitSourceUrl(url) {\n // Note: We need 3 \"/\" so that ng shows up as a separate domain\n // in the chrome dev tools.\n return url.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/, 'ng:///');\n}\nfunction templateSourceUrl(ngModuleType, compMeta, templateMeta) {\n let url;\n if (templateMeta.isInline) {\n if (compMeta.type.reference instanceof StaticSymbol) {\n // Note: a .ts file might contain multiple components with inline templates,\n // so we need to give them unique urls, as these will be used for sourcemaps.\n url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`;\n }\n else {\n url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`;\n }\n }\n else {\n url = templateMeta.templateUrl;\n }\n return compMeta.type.reference instanceof StaticSymbol ? url : jitSourceUrl(url);\n}\nfunction sharedStylesheetJitUrl(meta, id) {\n const pathParts = meta.moduleUrl.split(/\\/\\\\/g);\n const baseName = pathParts[pathParts.length - 1];\n return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`);\n}\nfunction ngModuleJitUrl(moduleMeta) {\n return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`);\n}\nfunction templateJitUrl(ngModuleType, compMeta) {\n return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE$1 = '@angular/core';\nclass Identifiers$1 {\n}\n/* Methods */\nIdentifiers$1.NEW_METHOD = 'factory';\nIdentifiers$1.TRANSFORM_METHOD = 'transform';\nIdentifiers$1.PATCH_DEPS = 'patchedDeps';\n/* Instructions */\nIdentifiers$1.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE$1 };\nIdentifiers$1.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE$1 };\nIdentifiers$1.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE$1 };\nIdentifiers$1.element = { name: 'ɵɵelement', moduleName: CORE$1 };\nIdentifiers$1.elementStart = { name: 'ɵɵelementStart', moduleName: CORE$1 };\nIdentifiers$1.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE$1 };\nIdentifiers$1.advance = { name: 'ɵɵadvance', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE$1 };\nIdentifiers$1.attribute = { name: 'ɵɵattribute', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classProp = { name: 'ɵɵclassProp', moduleName: CORE$1 };\nIdentifiers$1.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE$1 };\nIdentifiers$1.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE$1 };\nIdentifiers$1.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE$1 };\nIdentifiers$1.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classMap = { name: 'ɵɵclassMap', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.nextContext = { name: 'ɵɵnextContext', moduleName: CORE$1 };\nIdentifiers$1.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE$1 };\nIdentifiers$1.text = { name: 'ɵɵtext', moduleName: CORE$1 };\nIdentifiers$1.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE$1 };\nIdentifiers$1.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE$1 };\nIdentifiers$1.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE$1 };\nIdentifiers$1.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE$1 };\nIdentifiers$1.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE$1 };\nIdentifiers$1.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE$1 };\nIdentifiers$1.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE$1 };\nIdentifiers$1.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE$1 };\nIdentifiers$1.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE$1 };\nIdentifiers$1.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE$1 };\nIdentifiers$1.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE$1 };\nIdentifiers$1.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE$1 };\nIdentifiers$1.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE$1 };\nIdentifiers$1.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE$1 };\nIdentifiers$1.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE$1 };\nIdentifiers$1.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE$1 };\nIdentifiers$1.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE$1 };\nIdentifiers$1.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE$1 };\nIdentifiers$1.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE$1 };\nIdentifiers$1.property = { name: 'ɵɵproperty', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.i18n = { name: 'ɵɵi18n', moduleName: CORE$1 };\nIdentifiers$1.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE$1 };\nIdentifiers$1.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE$1 };\nIdentifiers$1.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE$1 };\nIdentifiers$1.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE$1 };\nIdentifiers$1.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE$1 };\nIdentifiers$1.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE$1 };\nIdentifiers$1.pipe = { name: 'ɵɵpipe', moduleName: CORE$1 };\nIdentifiers$1.projection = { name: 'ɵɵprojection', moduleName: CORE$1 };\nIdentifiers$1.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE$1 };\nIdentifiers$1.reference = { name: 'ɵɵreference', moduleName: CORE$1 };\nIdentifiers$1.inject = { name: 'ɵɵinject', moduleName: CORE$1 };\nIdentifiers$1.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE$1 };\nIdentifiers$1.injectPipeChangeDetectorRef = { name: 'ɵɵinjectPipeChangeDetectorRef', moduleName: CORE$1 };\nIdentifiers$1.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE$1 };\nIdentifiers$1.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE$1 };\nIdentifiers$1.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE$1 };\nIdentifiers$1.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE$1 };\nIdentifiers$1.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE$1 };\nIdentifiers$1.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE$1 };\nIdentifiers$1.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE$1 };\nIdentifiers$1.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE$1 };\nIdentifiers$1.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE$1 };\nIdentifiers$1.ComponentDefWithMeta = {\n name: 'ɵɵComponentDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.FactoryDef = {\n name: 'ɵɵFactoryDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineDirective = {\n name: 'ɵɵdefineDirective',\n moduleName: CORE$1,\n};\nIdentifiers$1.DirectiveDefWithMeta = {\n name: 'ɵɵDirectiveDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.InjectorDef = {\n name: 'ɵɵInjectorDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineInjector = {\n name: 'ɵɵdefineInjector',\n moduleName: CORE$1,\n};\nIdentifiers$1.NgModuleDefWithMeta = {\n name: 'ɵɵNgModuleDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE$1 };\nIdentifiers$1.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE$1 };\nIdentifiers$1.PipeDefWithMeta = { name: 'ɵɵPipeDefWithMeta', moduleName: CORE$1 };\nIdentifiers$1.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE$1 };\nIdentifiers$1.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE$1 };\nIdentifiers$1.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticViewQuery = { name: 'ɵɵstaticViewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticContentQuery = { name: 'ɵɵstaticContentQuery', moduleName: CORE$1 };\nIdentifiers$1.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE$1 };\nIdentifiers$1.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE$1 };\nIdentifiers$1.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE$1 };\nIdentifiers$1.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE$1 };\nIdentifiers$1.listener = { name: 'ɵɵlistener', moduleName: CORE$1 };\nIdentifiers$1.getFactoryOf = {\n name: 'ɵɵgetFactoryOf',\n moduleName: CORE$1,\n};\nIdentifiers$1.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE$1,\n};\n// sanitization-related functions\nIdentifiers$1.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE$1 };\nIdentifiers$1.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE$1 };\nIdentifiers$1.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE$1 };\nIdentifiers$1.trustConstantScript = { name: 'ɵɵtrustConstantScript', moduleName: CORE$1 };\nIdentifiers$1.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE$1 };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convert an object map with `Expression` values into a `LiteralMapExpr`.\n */\nfunction mapToMapExpression(map) {\n const result = Object.keys(map).map(key => ({\n key,\n // The assertion here is because really TypeScript doesn't allow us to express that if the\n // key is present, it will have a value, but this is true in reality.\n value: map[key],\n quoted: false,\n }));\n return literalMap(result);\n}\n/**\n * Convert metadata into an `Expression` in the given `OutputContext`.\n *\n * This operation will handle arrays, references to symbols, or literal `null` or `undefined`.\n */\nfunction convertMetaToOutput(meta, ctx) {\n if (Array.isArray(meta)) {\n return literalArr(meta.map(entry => convertMetaToOutput(entry, ctx)));\n }\n if (meta instanceof StaticSymbol) {\n return ctx.importExpr(meta);\n }\n if (meta == null) {\n return literal(meta);\n }\n throw new Error(`Internal error: Unsupported or unknown metadata: ${meta}`);\n}\nfunction typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction isSyntheticPropertyOrListener(name) {\n return name.charAt(0) == ANIMATE_SYMBOL_PREFIX;\n}\nfunction getSyntheticPropertyName(name) {\n // this will strip out listener phase values...\n // @foo.start => @foo\n const i = name.indexOf('.');\n name = i > 0 ? name.substring(0, i) : name;\n if (name.charAt(0) !== ANIMATE_SYMBOL_PREFIX) {\n name = ANIMATE_SYMBOL_PREFIX + name;\n }\n return name;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n const ngJitMode = new ExternalExpr({ name: 'ngJitMode', moduleName: null });\n const jitFlagNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(ngJitMode), literal('undefined'));\n const jitFlagUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, jitFlagNotDefined, ngJitMode, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, jitFlagUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Text {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\nclass TextAttribute {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n if (prop.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound attributes but was not for ${prop.name}: ${prop.sourceSpan}`);\n }\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.keySpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor {\n visitElement(element) {\n visitAll(this, element.attributes);\n visitAll(this, element.children);\n visitAll(this, element.references);\n }\n visitTemplate(template) {\n visitAll(this, template.attributes);\n visitAll(this, template.children);\n visitAll(this, template.references);\n visitAll(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content and their source spans\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu$1 {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$1(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu$1(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents a big integer using a buffer of its individual digits, with the least significant\n * digit stored at the beginning of the array (little endian).\n *\n * For performance reasons, each instance is mutable. The addition operation can be done in-place\n * to reduce memory pressure of allocation for the digits array.\n */\nclass BigInteger {\n /**\n * Creates a big integer using its individual digits in little endian storage.\n */\n constructor(digits) {\n this.digits = digits;\n }\n static zero() {\n return new BigInteger([0]);\n }\n static one() {\n return new BigInteger([1]);\n }\n /**\n * Creates a clone of this instance.\n */\n clone() {\n return new BigInteger(this.digits.slice());\n }\n /**\n * Returns a new big integer with the sum of `this` and `other` as its value. This does not mutate\n * `this` but instead returns a new instance, unlike `addToSelf`.\n */\n add(other) {\n const result = this.clone();\n result.addToSelf(other);\n return result;\n }\n /**\n * Adds `other` to the instance itself, thereby mutating its value.\n */\n addToSelf(other) {\n const maxNrOfDigits = Math.max(this.digits.length, other.digits.length);\n let carry = 0;\n for (let i = 0; i < maxNrOfDigits; i++) {\n let digitSum = carry;\n if (i < this.digits.length) {\n digitSum += this.digits[i];\n }\n if (i < other.digits.length) {\n digitSum += other.digits[i];\n }\n if (digitSum >= 10) {\n this.digits[i] = digitSum - 10;\n carry = 1;\n }\n else {\n this.digits[i] = digitSum;\n carry = 0;\n }\n }\n // Apply a remaining carry if needed.\n if (carry > 0) {\n this.digits[maxNrOfDigits] = 1;\n }\n }\n /**\n * Builds the decimal string representation of the big integer. As this is stored in\n * little endian, the digits are concatenated in reverse order.\n */\n toString() {\n let res = '';\n for (let i = this.digits.length - 1; i >= 0; i--) {\n res += this.digits[i];\n }\n return res;\n }\n}\n/**\n * Represents a big integer which is optimized for multiplication operations, as its power-of-twos\n * are memoized. See `multiplyBy()` for details on the multiplication algorithm.\n */\nclass BigIntForMultiplication {\n constructor(value) {\n this.powerOfTwos = [value];\n }\n /**\n * Returns the big integer itself.\n */\n getValue() {\n return this.powerOfTwos[0];\n }\n /**\n * Computes the value for `num * b`, where `num` is a JS number and `b` is a big integer. The\n * value for `b` is represented by a storage model that is optimized for this computation.\n *\n * This operation is implemented in N(log2(num)) by continuous halving of the number, where the\n * least-significant bit (LSB) is tested in each iteration. If the bit is set, the bit's index is\n * used as exponent into the power-of-two multiplication of `b`.\n *\n * As an example, consider the multiplication num=42, b=1337. In binary 42 is 0b00101010 and the\n * algorithm unrolls into the following iterations:\n *\n * Iteration | num | LSB | b * 2^iter | Add? | product\n * -----------|------------|------|------------|------|--------\n * 0 | 0b00101010 | 0 | 1337 | No | 0\n * 1 | 0b00010101 | 1 | 2674 | Yes | 2674\n * 2 | 0b00001010 | 0 | 5348 | No | 2674\n * 3 | 0b00000101 | 1 | 10696 | Yes | 13370\n * 4 | 0b00000010 | 0 | 21392 | No | 13370\n * 5 | 0b00000001 | 1 | 42784 | Yes | 56154\n * 6 | 0b00000000 | 0 | 85568 | No | 56154\n *\n * The computed product of 56154 is indeed the correct result.\n *\n * The `BigIntForMultiplication` representation for a big integer provides memoized access to the\n * power-of-two values to reduce the workload in computing those values.\n */\n multiplyBy(num) {\n const product = BigInteger.zero();\n this.multiplyByAndAddTo(num, product);\n return product;\n }\n /**\n * See `multiplyBy()` for details. This function allows for the computed product to be added\n * directly to the provided result big integer.\n */\n multiplyByAndAddTo(num, result) {\n for (let exponent = 0; num !== 0; num = num >>> 1, exponent++) {\n if (num & 1) {\n const value = this.getMultipliedByPowerOfTwo(exponent);\n result.addToSelf(value);\n }\n }\n }\n /**\n * Computes and memoizes the big integer value for `this.number * 2^exponent`.\n */\n getMultipliedByPowerOfTwo(exponent) {\n // Compute the powers up until the requested exponent, where each value is computed from its\n // predecessor. This is simple as `this.number * 2^(exponent - 1)` only has to be doubled (i.e.\n // added to itself) to reach `this.number * 2^exponent`.\n for (let i = this.powerOfTwos.length; i <= exponent; i++) {\n const previousPower = this.powerOfTwos[i - 1];\n this.powerOfTwos[i] = previousPower.add(previousPower);\n }\n return this.powerOfTwos[exponent];\n }\n}\n/**\n * Represents an exponentiation operation for the provided base, of which exponents are computed and\n * memoized. The results are represented by a `BigIntForMultiplication` which is tailored for\n * multiplication operations by memoizing the power-of-twos. This effectively results in a matrix\n * representation that is lazily computed upon request.\n */\nclass BigIntExponentiation {\n constructor(base) {\n this.base = base;\n this.exponents = [new BigIntForMultiplication(BigInteger.one())];\n }\n /**\n * Compute the value for `this.base^exponent`, resulting in a big integer that is optimized for\n * further multiplication operations.\n */\n toThePowerOf(exponent) {\n // Compute the results up until the requested exponent, where every value is computed from its\n // predecessor. This is because `this.base^(exponent - 1)` only has to be multiplied by `base`\n // to reach `this.base^exponent`.\n for (let i = this.exponents.length; i <= exponent; i++) {\n const value = this.exponents[i - 1].multiplyBy(this.base);\n this.exponents[i] = new BigIntForMultiplication(value);\n }\n return this.exponents[exponent];\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 * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return bytesToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return wordsToDecimalString(hi & 0x7fffffff, lo);\n}\nfunction hash32(bytes, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = bytes.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n c = add32(c, wordAt(bytes, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(bytes, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction bytesToWords32(bytes, endian) {\n const size = (bytes.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(bytes, index) {\n return index >= bytes.length ? 0 : bytes[index];\n}\nfunction wordAt(bytes, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((bytes, word) => bytes.concat(word32ToByteString(word)), []);\n}\nfunction word32ToByteString(word) {\n let bytes = [];\n for (let i = 0; i < 4; i++) {\n bytes.push((word >>> 8 * (3 - i)) & 0xff);\n }\n return bytes;\n}\nfunction bytesToHexString(bytes) {\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n const b = byteAt(bytes, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n/**\n * Create a shared exponentiation pool for base-256 computations. This shared pool provides memoized\n * power-of-256 results with memoized power-of-two computations for efficient multiplication.\n *\n * For our purposes, this can be safely stored as a global without memory concerns. The reason is\n * that we encode two words, so only need the 0th (for the low word) and 4th (for the high word)\n * exponent.\n */\nconst base256 = new BigIntExponentiation(256);\n/**\n * Represents two 32-bit words as a single decimal number. This requires a big integer storage\n * model as JS numbers are not accurate enough to represent the 64-bit number.\n *\n * Based on https://www.danvk.org/hex2dec.html\n */\nfunction wordsToDecimalString(hi, lo) {\n // Encode the four bytes in lo in the lower digits of the decimal number.\n // Note: the multiplication results in lo itself but represented by a big integer using its\n // decimal digits.\n const decimal = base256.toThePowerOf(0).multiplyBy(lo);\n // Encode the four bytes in hi above the four lo bytes. lo is a maximum of (2^8)^4, which is why\n // this multiplication factor is applied.\n base256.toThePowerOf(4).multiplyByAndAddTo(hi, decimal);\n return decimal.toString();\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass _Visitor {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$2 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$2 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG, {}, [new Text$2(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest$1(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$2(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$2(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$2(`${c} {`), ...icu.cases[c].visit(this), new Text$2(`} `));\n });\n nodes.push(new Text$2(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$2(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$2(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$2(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$2(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest$1(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$2(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu$1;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction i18nFormatPlaceholderNames(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction unsupported(feature) {\n if (this) {\n throw new Error(`Builder ${this.constructor.name} doesn't support ${feature} yet`);\n }\n throw new Error(`Feature ${feature} is not supported yet`);\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n // if there is no `:`, use dirProp = elProp\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n }\n else {\n [declaredName, publicName] = splitAtColon(key, [key, value]);\n }\n minifiedName = declaredName;\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && publicName !== declaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n return query.predicate;\n }\n}\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/** Returns a call expression to a chained instruction, e.g. `property(params[0])(params[1])`. */\nfunction chainedInstruction(reference, calls, span) {\n let expression = importExpr(reference, null, span);\n if (calls.length > 0) {\n for (let i = 0; i < calls.length; i++) {\n expression = expression.callFn(calls[i], span);\n }\n }\n else {\n // Add a blank invocation, in case the `calls` array is empty.\n expression = expression.callFn([], span);\n }\n return expression;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Factory\"] = 2] = \"Factory\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\n/**\n * Resolved type of a dependency.\n *\n * Occasionally, dependencies will have special significance which is known statically. In that\n * case the `R3ResolvedDependencyType` informs the factory generator that a particular dependency\n * should be generated specially (usually by calling a special injection function instead of the\n * standard one).\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n /**\n * A normal token dependency.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n /**\n * The dependency is for an attribute.\n *\n * The token expression is a string representing the attribute name.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * Injecting the `ChangeDetectorRef` token. Needs special handling when injected into a pipe.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n /**\n * An invalid dependency (no token could be determined). An error should be thrown at runtime.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n const statements = [];\n let ctorDepsType = NONE_TYPE;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.injectFn, meta.target === R3FactoryTarget.Pipe));\n ctorDepsType = createCtorDepsType(meta.deps);\n }\n }\n else {\n const baseFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getInheritedFactory = importExpr(Identifiers$1.getInheritedFactory);\n const baseFactoryStmt = baseFactory\n .set(getInheritedFactory.callFn([meta.internalType], /* sourceSpan */ undefined, /* pure */ true))\n .toDeclStmt(INFERRED_TYPE, [StmtModifier.Exported, StmtModifier.Final]);\n statements.push(baseFactoryStmt);\n // There is no constructor, use the base class' factory to construct typeForCtor.\n ctorExpr = baseFactory.callFn([typeForCtor]);\n }\n const ctorExprFinal = ctorExpr;\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n let ctorStmt = null;\n if (ctorExprFinal !== null) {\n ctorStmt = r.set(ctorExprFinal).toStmt();\n }\n else {\n ctorStmt = importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt();\n }\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedMetadata(meta) && meta.delegateType === R3FactoryDelegateType.Factory) {\n const delegateFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getFactoryOf = importExpr(Identifiers$1.getFactoryOf);\n if (meta.delegate.isEquivalent(meta.internalType)) {\n throw new Error(`Illegal state: compiling factory that delegates to itself`);\n }\n const delegateFactoryStmt = delegateFactory.set(getFactoryOf.callFn([meta.delegate])).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Exported, StmtModifier.Final\n ]);\n statements.push(delegateFactoryStmt);\n retExpr = makeConditionalFactory(delegateFactory.callFn([]));\n }\n else if (isDelegatedMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.injectFn, meta.target === R3FactoryTarget.Pipe);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr !== null) {\n body.push(new ReturnStatement(retExpr));\n }\n else {\n body.push(importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt());\n }\n return {\n factory: fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`),\n statements,\n type: expressionType(importExpr(Identifiers$1.FactoryDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]))\n };\n}\nfunction injectDependencies(deps, injectFn, isPipe) {\n return deps.map((dep, index) => compileInjectDependency(dep, injectFn, isPipe, index));\n}\nfunction compileInjectDependency(dep, injectFn, isPipe, index) {\n // Interpret the dependency according to its resolved type.\n switch (dep.resolved) {\n case R3ResolvedDependencyType.Token:\n case R3ResolvedDependencyType.ChangeDetectorRef:\n // Build up the injection flags according to the metadata.\n const flags = 0 /* Default */ | (dep.self ? 2 /* Self */ : 0) |\n (dep.skipSelf ? 4 /* SkipSelf */ : 0) | (dep.host ? 1 /* Host */ : 0) |\n (dep.optional ? 8 /* Optional */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* Default */ || dep.optional) ? literal(flags) : null;\n // We have a separate instruction for injecting ChangeDetectorRef into a pipe.\n if (isPipe && dep.resolved === R3ResolvedDependencyType.ChangeDetectorRef) {\n return importExpr(Identifiers$1.injectPipeChangeDetectorRef).callFn(flagsParam ? [flagsParam] : []);\n }\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n return importExpr(injectFn).callFn(injectArgs);\n case R3ResolvedDependencyType.Attribute:\n // In the case of attributes, the attribute name in question is given as the token.\n return importExpr(Identifiers$1.injectAttribute).callFn([dep.token]);\n case R3ResolvedDependencyType.Invalid:\n return importExpr(Identifiers$1.invalidFactoryDep).callFn([literal(index)]);\n default:\n return unsupported(`Unknown R3ResolvedDependencyType: ${R3ResolvedDependencyType[dep.resolved]}`);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.resolved === R3ResolvedDependencyType.Attribute) {\n if (dep.attribute !== null) {\n entries.push({ key: 'attribute', value: dep.attribute, quoted: false });\n }\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\n/**\n * A helper function useful for extracting `R3DependencyMetadata` from a Render2\n * `CompileTypeMetadata` instance.\n */\nfunction dependenciesFromGlobalMetadata(type, outputCtx, reflector) {\n // Use the `CompileReflector` to look up references to some well-known Angular types. These will\n // be compared with the token to statically determine whether the token has significance to\n // Angular, and set the correct `R3ResolvedDependencyType` as a result.\n const injectorRef = reflector.resolveExternalReference(Identifiers.Injector);\n // Iterate through the type's DI dependencies and produce `R3DependencyMetadata` for each of them.\n const deps = [];\n for (let dependency of type.diDeps) {\n if (dependency.token) {\n const tokenRef = tokenReference(dependency.token);\n let resolved = dependency.isAttribute ?\n R3ResolvedDependencyType.Attribute :\n R3ResolvedDependencyType.Token;\n // In the case of most dependencies, the token will be a reference to a type. Sometimes,\n // however, it can be a string, in the case of older Angular code or @Attribute injection.\n const token = tokenRef instanceof StaticSymbol ? outputCtx.importExpr(tokenRef) : literal(tokenRef);\n // Construct the dependency.\n deps.push({\n token,\n attribute: null,\n resolved,\n host: !!dependency.isHost,\n optional: !!dependency.isOptional,\n self: !!dependency.isSelf,\n skipSelf: !!dependency.isSkipSelf,\n });\n }\n else {\n unsupported('dependency without a token');\n }\n }\n return deps;\n}\nfunction isDelegatedMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compileInjectable(meta) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n injectFn: Identifiers.inject,\n target: R3FactoryTarget.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.userDeps !== undefined) {\n deps = meta.userDeps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useClass, delegateDeps: deps, delegateType: R3FactoryDelegateType.Class }));\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = delegateToFactory(meta.type.value, meta.useClass);\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.userDeps !== undefined) {\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useFactory, delegateDeps: meta.userDeps || [], delegateType: R3FactoryDelegateType.Function }));\n }\n else {\n result = {\n statements: [],\n factory: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: meta.useValue }));\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting]) }));\n }\n else {\n result = delegateToFactory(meta.type.value, meta.internalType);\n }\n const token = meta.internalType;\n const injectableProps = { token, factory: result.factory };\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.value !== null) {\n injectableProps.providedIn = meta.providedIn;\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable).callFn([mapToMapExpression(injectableProps)]);\n const type = new ExpressionType(importExpr(Identifiers.InjectableDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n return {\n expression,\n type,\n statements: result.statements,\n };\n}\nfunction delegateToFactory(type, internalType) {\n return {\n statements: [],\n // If types are the same, we can generate `factory: type.ɵfac`\n // If types are different, we have to generate a wrapper function to ensure\n // the internal type has been resolved (`factory: function(t) { return type.ɵfac(t); }`)\n factory: type.node === internalType.node ?\n internalType.prop('ɵfac') :\n fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(internalType.callMethod('ɵfac', [variable('t')]))])\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n for (let i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n }\n}\nconst UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\n }\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n const encoded = utf8Encode(value);\n for (let i = 0; i < encoded.length;) {\n const i1 = encoded[i++];\n const i2 = i < encoded.length ? encoded[i++] : null;\n const i3 = i < encoded.length ? encoded[i++] : null;\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (i2 === null ? 0 : i2 >> 4));\n b64 += i2 === null ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 === null ? 0 : i3 >> 6));\n b64 += i2 === null || i3 === null ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nconst CATCH_ERROR_VAR$1 = variable('error', null, null);\nconst CATCH_STACK_VAR$1 = variable('stack', null, null);\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._classes = [];\n this._preambleLineCount = 0;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n pushClass(clazz) {\n this._classes.push(clazz);\n }\n popClass() {\n return this._classes.pop();\n }\n get currentClass() {\n return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n setPreambleLineCount(count) {\n return this._preambleLineCount = count;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line - this._preambleLineCount];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitThrowStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `throw `);\n stmt.error.visitExpression(this, ctx);\n ctx.println(stmt, `;`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeMethodExpr(expr, ctx) {\n expr.receiver.visitExpression(this, ctx);\n let name = expr.name;\n if (expr.builtin != null) {\n name = this.getBuiltinMethodName(expr.builtin);\n if (name == null) {\n // some builtins just mean to skip the call.\n return null;\n }\n }\n ctx.print(expr, `.${name}(`);\n this.visitAllExpressions(expr.args, ctx, `,`);\n ctx.print(expr, `)`);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n let varName = ast.name;\n if (ast.builtin != null) {\n switch (ast.builtin) {\n case BuiltinVar.Super:\n varName = 'super';\n break;\n case BuiltinVar.This:\n varName = 'this';\n break;\n case BuiltinVar.CatchError:\n varName = CATCH_ERROR_VAR$1.name;\n break;\n case BuiltinVar.CatchStack:\n varName = CATCH_STACK_VAR$1.name;\n break;\n default:\n throw new Error(`Unknown builtin variable ${ast.builtin}`);\n }\n }\n ctx.print(ast, varName);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitAssertNotNullExpr(ast, ctx) {\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitDeclareClassStmt(stmt, ctx) {\n ctx.pushClass(stmt);\n this._visitClassConstructor(stmt, ctx);\n if (stmt.parent != null) {\n ctx.print(stmt, `${stmt.name}.prototype = Object.create(`);\n stmt.parent.visitExpression(this, ctx);\n ctx.println(stmt, `.prototype);`);\n }\n stmt.getters.forEach((getter) => this._visitClassGetter(stmt, getter, ctx));\n stmt.methods.forEach((method) => this._visitClassMethod(stmt, method, ctx));\n ctx.popClass();\n return null;\n }\n _visitClassConstructor(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n if (stmt.constructorMethod != null) {\n this._visitParams(stmt.constructorMethod.params, ctx);\n }\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (stmt.constructorMethod != null) {\n if (stmt.constructorMethod.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(stmt.constructorMethod.body, ctx);\n }\n }\n ctx.decIndent();\n ctx.println(stmt, `}`);\n }\n _visitClassGetter(stmt, getter, ctx) {\n ctx.println(stmt, `Object.defineProperty(${stmt.name}.prototype, '${getter.name}', { get: function() {`);\n ctx.incIndent();\n if (getter.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(getter.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `}});`);\n }\n _visitClassMethod(stmt, method, ctx) {\n ctx.print(stmt, `${stmt.name}.prototype.${method.name} = function(`);\n this._visitParams(method.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (method.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(method.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `};`);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitReadVarExpr(ast, ctx) {\n if (ast.builtin === BuiltinVar.This) {\n ctx.print(ast, 'self');\n }\n else if (ast.builtin === BuiltinVar.Super) {\n throw new Error(`'super' needs to be handled at a parent ast node, not at the variable level!`);\n }\n else {\n super.visitReadVarExpr(ast, ctx);\n }\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitCastExpr(ast, ctx) {\n ast.value.visitExpression(this, ctx);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n const fnExpr = expr.fn;\n if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {\n ctx.currentClass.parent.visitExpression(this, ctx);\n ctx.print(expr, `.call(this`);\n if (expr.args.length > 0) {\n ctx.print(expr, `, `);\n this.visitAllExpressions(expr.args, ctx, ',');\n }\n ctx.print(expr, `)`);\n }\n else {\n super.visitInvokeFunctionExpr(expr, ctx);\n }\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitTryCatchStmt(stmt, ctx) {\n ctx.println(stmt, `try {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.bodyStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `} catch (${CATCH_ERROR_VAR$1.name}) {`);\n ctx.incIndent();\n const catchStmts = [CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [\n StmtModifier.Final\n ])].concat(stmt.catchStmts);\n this.visitAllStatements(catchStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n //\n // The `$localize` function expects a \"template object\", which is an array of \"cooked\" strings\n // plus a `raw` property that contains an array of \"raw\" strings.\n //\n // In some environments a helper function called `__makeTemplateObject(cooked, raw)` might be\n // available, in which case we use that. Otherwise we must create our own helper function\n // inline.\n //\n // In the inline function, if `Object.defineProperty` is available we use that to attach the\n // `raw` array.\n ctx.print(ast, '$localize((this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})(');\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\n }\n getBuiltinMethodName(method) {\n let name;\n switch (method) {\n case BuiltinMethod.ConcatArray:\n name = 'concat';\n break;\n case BuiltinMethod.SubscribeObservable:\n name = 'subscribe';\n break;\n case BuiltinMethod.Bind:\n name = 'bind';\n break;\n default:\n throw new Error(`Unknown builtin method: ${method}`);\n }\n return name;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param reflector A helper used when converting the statements to executable code.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, reflector, createSourceMaps) {\n const converter = new JitEmitterVisitor(reflector);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = new Function(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = new Function(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(reflector) {\n super();\n this.reflector = reflector;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.reflector.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n visitDeclareClassStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareClassStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n /**\n * Create an object that holds information about spans of tokens/nodes captured during\n * lexing/parsing of text.\n *\n * @param start\n * The location of the start of the span (having skipped leading trivia).\n * Skipping leading trivia makes source-spans more \"user friendly\", since things like HTML\n * elements will appear to begin at the start of the opening tag, rather than at the start of any\n * leading trivia, which could include newlines.\n *\n * @param end\n * The location of the end of the span.\n *\n * @param fullStart\n * The start of the token without skipping the leading trivia.\n * This is used by tooling that splits tokens further, such as extracting Angular interpolations\n * from text tokens. Such tooling creates new source-spans relative to the original token's\n * source-span. If leading trivia characters have been skipped then the new source-spans may be\n * incorrectly offset.\n *\n * @param details\n * Additional information (such as identifier names) that should be associated with the span.\n */\n constructor(start, end, fullStart = start, details = null) {\n this.start = start;\n this.end = end;\n this.fullStart = fullStart;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\nfunction typeSourceSpan(kind, type) {\n const moduleUrl = identifierModuleUrl(type);\n const sourceFileName = moduleUrl != null ? `in ${kind} ${identifierName(type)} in ${moduleUrl}` :\n `in ${kind} ${identifierName(type)}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\n }\n parameters(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n annotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n shallowAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n tryAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n propMetadata(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n hasLifecycleHook(type, lcProperty) {\n throw new Error('Not implemented.');\n }\n guards(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n componentModuleUrl(type, cmpMetadata) {\n throw new Error('Not implemented.');\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction mapEntry(key, value) {\n return { key, value, quoted: false };\n}\nfunction mapLiteral(obj, quoted = false) {\n return literalMap(Object.keys(obj).map(key => ({\n key,\n quoted,\n value: obj[key],\n })));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { internalType, type: moduleType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, emitInline, id } = meta;\n const additionalStatements = [];\n const definitionMap = { type: internalType };\n // Only generate the keys in the metadata if the arrays have values.\n if (bootstrap.length) {\n definitionMap.bootstrap = refsToArray(bootstrap, containsForwardDecls);\n }\n // If requested to emit scope information inline, pass the declarations, imports and exports to\n // the `ɵɵdefineNgModule` call. The JIT compilation uses this.\n if (emitInline) {\n if (declarations.length) {\n definitionMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n definitionMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n definitionMap.exports = refsToArray(exports, containsForwardDecls);\n }\n }\n // If not emitting inline, the scope information is not passed into `ɵɵdefineNgModule` as it would\n // prevent tree-shaking of the declarations, imports and exports references.\n else {\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n additionalStatements.push(setNgModuleScopeCall);\n }\n }\n if (schemas && schemas.length) {\n definitionMap.schemas = literalArr(schemas.map(ref => ref.value));\n }\n if (id) {\n definitionMap.id = id;\n }\n const expression = importExpr(Identifiers$1.defineNgModule).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.NgModuleDefWithMeta, [\n new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),\n tupleTypeOf(exports)\n ]));\n return { expression, type, additionalStatements };\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = {};\n if (declarations.length) {\n scopeMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n scopeMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n scopeMap.exports = refsToArray(exports, containsForwardDecls);\n }\n if (Object.keys(scopeMap).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers$1.setNgModuleScope), \n /* args */ [moduleType, mapToMapExpression(scopeMap)]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction compileInjector(meta) {\n const result = compileFactoryFunction({\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: 0,\n deps: meta.deps,\n injectFn: Identifiers$1.inject,\n target: R3FactoryTarget.NgModule,\n });\n const definitionMap = {\n factory: result.factory,\n };\n if (meta.providers !== null) {\n definitionMap.providers = meta.providers;\n }\n if (meta.imports.length > 0) {\n definitionMap.imports = literalArr(meta.imports);\n }\n const expression = importExpr(Identifiers$1.defineInjector).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.InjectorDef, [new ExpressionType(meta.type.type)]));\n return { expression, type, statements: result.statements };\n}\n// TODO(alxhub): integrate this with `compileNgModule`. Currently the two are separate operations.\nfunction compileNgModuleFromRender2(ctx, ngModule, injectableCompiler) {\n const className = identifierName(ngModule.type);\n const rawImports = ngModule.rawImports ? [ngModule.rawImports] : [];\n const rawExports = ngModule.rawExports ? [ngModule.rawExports] : [];\n const injectorDefArg = mapLiteral({\n 'factory': injectableCompiler.factoryFor({ type: ngModule.type, symbol: ngModule.type.reference }, ctx),\n 'providers': convertMetaToOutput(ngModule.rawProviders, ctx),\n 'imports': convertMetaToOutput([...rawImports, ...rawExports], ctx),\n });\n const injectorDef = importExpr(Identifiers$1.defineInjector).callFn([injectorDefArg]);\n ctx.statements.push(new ClassStmt(\n /* name */ className, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ 'ɵinj', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ injectorDef)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []));\n}\nfunction accessExportScope(module) {\n const selectorScope = new ReadPropExpr(module, 'ɵmod');\n return new ReadPropExpr(selectorScope, 'exported');\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n const expression = importExpr(Identifiers$1.definePipe).callFn([literalMap(definitionMapValues)]);\n const type = new ExpressionType(importExpr(Identifiers$1.PipeDefWithMeta, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n ]));\n return { expression, type };\n}\n/**\n * Write a pipe definition to the output context.\n */\nfunction compilePipeFromRender2(outputCtx, pipe, reflector) {\n const name = identifierName(pipe.type);\n if (!name) {\n return error(`Cannot resolve the name of ${pipe.type}`);\n }\n const type = outputCtx.importExpr(pipe.type.reference);\n const metadata = {\n name,\n type: wrapReference(type),\n internalType: type,\n pipeName: pipe.name,\n typeArgumentCount: 0,\n deps: dependenciesFromGlobalMetadata(pipe.type, outputCtx, reflector),\n pure: pipe.pure,\n };\n const res = compilePipeFromMetadata(metadata);\n const factoryRes = compileFactoryFunction(Object.assign(Object.assign({}, metadata), { injectFn: Identifiers$1.directiveInject, target: R3FactoryTarget.Pipe }));\n const definitionField = outputCtx.constantPool.propertyNameOf(3 /* Pipe */);\n const ngFactoryDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */\n [new ClassField(\n /* name */ 'ɵfac', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ factoryRes.factory)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n const pipeDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ definitionField, \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ res.expression)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n outputCtx.statements.push(ngFactoryDefStatement, pipeDefStatement);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context = null) {\n return null;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nclass Quote extends AST {\n constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {\n super(span, sourceSpan);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n visit(visitor, context = null) {\n return visitor.visitQuote(this, context);\n }\n toString() {\n return 'Quote';\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Receiver when something is accessed through `this` (e.g. `this.foo`). Note that this class\n * inherits from `ImplicitReceiver`, because accessing something through `this` is treated the\n * same as accessing it implicitly inside of an Angular template (e.g. `[attr.title]=\"this.title\"`\n * is the same as `[attr.title]=\"title\"`.). Inheriting allows for the `this` accesses to be treated\n * the same as implicit ones, except for a couple of exceptions like `$event` and `$any`.\n * TODO: we should find a way for this class not to extend from `ImplicitReceiver` in the future.\n */\nclass ThisReceiver extends ImplicitReceiver {\n visit(visitor, context = null) {\n var _a;\n return (_a = visitor.visitThisReceiver) === null || _a === void 0 ? void 0 : _a.call(visitor, this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, obj, key) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, obj, key, value) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass MethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitMethodCall(this, context);\n }\n}\nclass SafeMethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeMethodCall(this, context);\n }\n}\nclass FunctionCall extends AST {\n constructor(span, sourceSpan, target, args) {\n super(span, sourceSpan);\n this.target = target;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitFunctionCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor$1 {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitFunctionCall(ast, context) {\n if (ast.target) {\n this.visit(ast.target, context);\n }\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitThisReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitQuote(ast, context) { }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer$1 {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitMethodCall(ast, context) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitSafeMethodCall(ast, context) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitFunctionCall(ast, context) {\n return new FunctionCall(ast.span, ast.sourceSpan, ast.target.visit(this), this.visitAll(ast.args));\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitQuote(ast, context) {\n return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitSafeMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitFunctionCall(ast, context) {\n const target = ast.target && ast.target.visit(this);\n const args = this.visitAll(ast.args);\n if (target !== ast.target || args !== ast.args) {\n return new FunctionCall(ast.span, ast.sourceSpan, target, args);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.obj || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.obj || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitQuote(ast, context) {\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, \n // TODO(atscott): `keySpan` should really be required but allows `undefined` so VE does\n // not need to be updated. Make `keySpan` required when VE is removed.\n sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\nclass ConvertActionBindingResult {\n constructor(\n /**\n * Render2 compatible statements,\n */\n stmts, \n /**\n * Variable name used with render2 compatible statements.\n */\n allowDefault) {\n this.stmts = stmts;\n this.allowDefault = allowDefault;\n /**\n * This is bit of a hack. It converts statements which render2 expects to statements which are\n * expected by render3.\n *\n * Example: `
` will generate:\n *\n * Render3:\n * ```\n * const pd_b:any = ((ctx.doSomething($event)) !== false);\n * return pd_b;\n * ```\n *\n * but render2 expects:\n * ```\n * return ctx.doSomething($event);\n * ```\n */\n // TODO(misko): remove this hack once we no longer support ViewEngine.\n this.render3Stmts = stmts.map((statement) => {\n if (statement instanceof DeclareVarStmt && statement.name == allowDefault.name &&\n statement.value instanceof BinaryOperatorExpr) {\n const lhs = statement.value.lhs;\n return new ReturnStatement(lhs.value);\n }\n return statement;\n });\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses, globals) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver(globals);\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n let preventDefaultVar = null;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n const returnExpr = convertStmtIntoExpression(lastStatement);\n if (returnExpr) {\n // Note: We need to cast the result of the method call to dynamic,\n // as it might be a void method!\n preventDefaultVar = createPreventDefaultVar(bindingId);\n actionStmts[lastIndex] =\n preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))\n .toDeclStmt(null, [StmtModifier.Final]);\n }\n }\n return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\nvar BindingForm;\n(function (BindingForm) {\n // The general form of binding expression, supports all expressions.\n BindingForm[BindingForm[\"General\"] = 0] = \"General\";\n // Try to generate a simple binding (no temporaries or statements)\n // otherwise generate a general binding\n BindingForm[BindingForm[\"TrySimple\"] = 1] = \"TrySimple\";\n // Inlines assignment of temporaries into the generated expression. The result may still\n // have statements attached for declarations of temporary variables.\n // This is the only relevant form for Ivy, the other forms are only used in ViewEngine.\n BindingForm[BindingForm[\"Expression\"] = 2] = \"Expression\";\n})(BindingForm || (BindingForm = {}));\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId, form, interpolationFunction) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n if (visitor.temporaryCount === 0 && form == BindingForm.TrySimple) {\n return new ConvertPropertyBindingResult([], outputExpr);\n }\n else if (form === BindingForm.Expression) {\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n }\n const currValExpr = createCurrValueExpr(bindingId);\n stmts.push(currValExpr.set(outputExpr).toDeclStmt(DYNAMIC_TYPE, [StmtModifier.Final]));\n return new ConvertPropertyBindingResult(stmts, currValExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, undefined);\n const outputExpr = expressionWithArgumentsToExtract.visit(visitor, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n // Removing the first argument, because it was a length for ViewEngine, not Ivy.\n let args = outputExpr.args.slice(1);\n if (expressionWithArgumentsToExtract instanceof Interpolation) {\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = expressionWithArgumentsToExtract.strings;\n if (args.length === 3 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (args.length >= 19) {\n // 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n }\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer$1 {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.interpolationFunction = interpolationFunction;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitFunctionCall(ast, mode) {\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n let fnResult;\n if (ast instanceof BuiltinFunctionCall) {\n fnResult = ast.converter(convertedArgs);\n }\n else {\n fnResult = this._visit(ast.target, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, fnResult);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitThisReceiver(ast, mode) {\n return this.visitImplicitReceiver(ast, mode);\n }\n visitInterpolation(ast, mode) {\n ensureExpressionMode(mode, ast);\n const args = [literal(ast.expressions.length)];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n if (this.interpolationFunction) {\n return this.interpolationFunction(args);\n }\n return ast.expressions.length <= 9 ?\n importExpr(Identifiers.inlineInterpolate).callFn(args) :\n importExpr(Identifiers.interpolate).callFn([\n args[0], literalArr(args.slice(1), undefined, this.convertSourceSpan(ast.span))\n ]);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.obj, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.obj, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name, receiver) {\n var _a;\n if (((_a = this._localResolver.globals) === null || _a === void 0 ? void 0 : _a.has(name)) && receiver instanceof ThisReceiver) {\n return null;\n }\n return this._localResolver.getLocal(name);\n }\n visitMethodCall(ast, mode) {\n if (ast.receiver instanceof ImplicitReceiver &&\n !(ast.receiver instanceof ThisReceiver) && ast.name === '$any') {\n const args = this.visitAll(ast.args, _Mode.Expression);\n if (args.length != 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${args.length || 'none'}`);\n }\n return args[0].cast(DYNAMIC_TYPE, this.convertSourceSpan(ast.span));\n }\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n const args = this.visitAll(ast.args, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let result = null;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n const varExpr = this._getLocal(ast.name, ast.receiver);\n if (varExpr) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n result = varExpr.callFn(args);\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.callMethod(ast.name, args, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, assertNotNull(this._visit(ast.expression, _Mode.Expression)));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name, ast.receiver);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name, ast.receiver);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeMethodCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitQuote(ast, mode) {\n throw new Error(`Quotes are not supported for evaluation!\n Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporary(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeMethodCall) {\n this._nodeMap.set(leftMostSafe, new MethodCall(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(literal(null), access));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitFunctionCall(ast) {\n return null;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitThisReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.obj);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitMethodCall(ast) {\n return visit(this, ast.receiver);\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitQuote(ast) {\n return null;\n },\n visitSafeMethodCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporary(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitFunctionCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitThisReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitMethodCall(ast) {\n return true;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitQuote(ast) {\n return false;\n },\n visitSafeMethodCall(ast) {\n return true;\n },\n visitSafePropertyRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n const fullStart = this.baseSourceSpan.fullStart.moveBy(span.start);\n return new ParseSourceSpan(start, end, fullStart);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nclass DefaultLocalResolver {\n constructor(globals) {\n this.globals = globals;\n }\n notifyImplicitReceiverUse() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nfunction createCurrValueExpr(bindingId) {\n return variable(`currVal_${bindingId}`); // fix syntax highlighting: `\n}\nfunction createPreventDefaultVar(bindingId) {\n return variable(`pd_${bindingId}`);\n}\nfunction convertStmtIntoExpression(stmt) {\n if (stmt instanceof ExpressionStatement) {\n return stmt.expr;\n }\n else if (stmt instanceof ReturnStatement) {\n return stmt.value;\n }\n return null;\n}\nclass BuiltinFunctionCall extends FunctionCall {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, null, args);\n this.args = args;\n this.converter = converter;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n *\n * Please make sure to keep to edits in sync with the source file.\n *\n * Source:\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n *\n * The original file level comment is reproduced below\n */\n/*\n This is a limited shim for ShadowDOM css styling.\n https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles\n\n The intention here is to support only the styling features which can be\n relatively simply implemented. The goal is to allow users to avoid the\n most obvious pitfalls and do so without compromising performance significantly.\n For ShadowDOM styling that's not covered here, a set of best practices\n can be provided that should allow users to accomplish more complex styling.\n\n The following is a list of specific ShadowDOM styling features and a brief\n discussion of the approach used to shim.\n\n Shimmed features:\n\n * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host\n element using the :host rule. To shim this feature, the :host styles are\n reformatted and prefixed with a given scope name and promoted to a\n document level stylesheet.\n For example, given a scope name of .foo, a rule like this:\n\n :host {\n background: red;\n }\n }\n\n becomes:\n\n .foo {\n background: red;\n }\n\n * encapsulation: Styles defined within ShadowDOM, apply only to\n dom inside the ShadowDOM. Polymer uses one of two techniques to implement\n this feature.\n\n By default, rules are prefixed with the host element tag name\n as a descendant selector. This ensures styling does not leak out of the 'top'\n of the element's ShadowDOM. For example,\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n x-foo div {\n font-weight: bold;\n }\n\n becomes:\n\n\n Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then\n selectors are scoped by adding an attribute selector suffix to each\n simple selector that contains the host element tag name. Each element\n in the element's ShadowDOM template is also given the scope attribute.\n Thus, these rules match only elements that have the scope attribute.\n For example, given a scope name of x-foo, a rule like this:\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n div[x-foo] {\n font-weight: bold;\n }\n\n Note that elements that are dynamically added to a scope must have the scope\n selector added to them manually.\n\n * upper/lower bound encapsulation: Styles which are defined outside a\n shadowRoot should not cross the ShadowDOM boundary and should not apply\n inside a shadowRoot.\n\n This styling behavior is not emulated. Some possible ways to do this that\n were rejected due to complexity and/or performance concerns include: (1) reset\n every possible property for every possible selector for a given scope name;\n (2) re-implement css in javascript.\n\n As an alternative, users should make sure to use selectors\n specific to the scope in which they are working.\n\n * ::distributed: This behavior is not emulated. It's often not necessary\n to style the contents of a specific insertion point and instead, descendants\n of the host element can be styled selectively. Users can also create an\n extra node around an insertion point and style that node's contents\n via descendent selectors. For example, with a shadowRoot like this:\n\n \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nclass ShadowCss {\n constructor() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n shimCssText(cssText, selector, hostSelector = '') {\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return [scopedCssText, ...commentsWithHash].join('\\n');\n }\n _insertDirectives(cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n }\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n _insertPolyfillDirectivesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function (...m) {\n return m[2] + '{';\n });\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n _insertPolyfillRulesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, (...m) => {\n const rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n }\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n _scopeCssText(cssText, scopeSelector, hostSelector) {\n const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n _extractUnscopedRulesFromCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n let r = '';\n let m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n const rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n }\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n _convertColonHost(cssText) {\n return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n }\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo scopeName > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n _convertColonHostContext(cssText) {\n return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n }\n _convertColonRule(cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function (...m) {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n }\n _colonHostContextPartReplacer(host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return this._colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n }\n _colonHostPartReplacer(host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n }\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n _convertShadowDOMSelectors(cssText) {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n }\n // change a selector like 'div' to 'name div'\n _scopeSelectors(cssText, scopeSelector, hostSelector) {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n }\n _scopeSelector(selector, scopeSelector, hostSelector, strict) {\n return selector.split(',')\n .map(part => part.trim().split(_shadowDeepSelectors))\n .map((deepParts) => {\n const [shallowPart, ...otherParts] = deepParts;\n const applyScope = (shallowPart) => {\n if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return [applyScope(shallowPart), ...otherParts].join(' ');\n })\n .join(', ');\n }\n _selectorNeedsScoping(selector, scopeSelector) {\n const re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n }\n _makeScopeMatcher(scopeSelector) {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n }\n _applySelectorScope(selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n }\n // scope via name and [is=name]\n _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {\n return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n }\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const attrName = '[' + scopeSelector + ']';\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n const matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n }\n _insertPolyfillHostInCssText(selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n }\n}\nclass SafeSelector {\n constructor(selector) {\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(keep);\n this.index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(exp);\n this.index++;\n return pseudo + replaceBy;\n });\n }\n restore(content) {\n return content.replace(/__ph-(\\d+)__/g, (ph, index) => this.placeholders[+index]);\n }\n content() {\n return this._content;\n }\n}\nconst _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nconst _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nconst _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nconst _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst QUOTE_PLACEHOLDER = '%QUOTED%';\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _quotedRe = /%QUOTED%/g;\nconst CONTENT_PAIRS = new Map([['{', '}']]);\nconst QUOTE_PAIRS = new Map([[`\"`, `\"`], [`'`, `'`]]);\nclass CssRule {\n constructor(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n}\nfunction processRules(input, ruleCallback) {\n const inputWithEscapedQuotes = escapeBlocks(input, QUOTE_PAIRS, QUOTE_PLACEHOLDER);\n const inputWithEscapedBlocks = escapeBlocks(inputWithEscapedQuotes.escapedString, CONTENT_PAIRS, BLOCK_PLACEHOLDER);\n let nextBlockIndex = 0;\n let nextQuoteIndex = 0;\n return inputWithEscapedBlocks.escapedString\n .replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const rule = ruleCallback(new CssRule(selector, content));\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n })\n .replace(_quotedRe, () => inputWithEscapedQuotes.blocks[nextQuoteIndex++]);\n}\nclass StringWithEscapedBlocks {\n constructor(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n}\nfunction escapeBlocks(input, charPairs, placeholder) {\n const resultParts = [];\n const escapedBlocks = [];\n let openCharCount = 0;\n let nonBlockStartIndex = 0;\n let blockStartIndex = -1;\n let openChar;\n let closeChar;\n for (let i = 0; i < input.length; i++) {\n const char = input[i];\n if (char === '\\\\') {\n i++;\n }\n else if (char === closeChar) {\n openCharCount--;\n if (openCharCount === 0) {\n escapedBlocks.push(input.substring(blockStartIndex, i));\n resultParts.push(placeholder);\n nonBlockStartIndex = i;\n blockStartIndex = -1;\n openChar = closeChar = undefined;\n }\n }\n else if (char === openChar) {\n openCharCount++;\n }\n else if (openCharCount === 0 && charPairs.has(char)) {\n openChar = char;\n closeChar = charPairs.get(char);\n openCharCount = 1;\n blockStartIndex = i + 1;\n resultParts.push(input.substring(nonBlockStartIndex, blockStartIndex));\n }\n }\n if (blockStartIndex !== -1) {\n escapedBlocks.push(input.substring(blockStartIndex));\n resultParts.push(placeholder);\n }\n else {\n resultParts.push(input.substring(nonBlockStartIndex));\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\nclass StylesCompileDependency {\n constructor(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n}\nclass CompiledStylesheet {\n constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n}\nclass StyleCompiler {\n constructor(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n compileComponent(outputCtx, comp) {\n const template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n }\n compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n }\n needsStyleShim(comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n }\n _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));\n const dependencies = [];\n stylesheet.styleUrls.forEach((styleUrl) => {\n const exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n const stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n }\n _shimIfNeeded(style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n }\n}\nfunction getStylesVarName(component) {\n let result = `styles`;\n if (component) {\n result += `_${identifierName(component.type)}`;\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nclass AstPath {\n constructor(path, position = -1) {\n this.path = path;\n this.position = position;\n }\n get empty() {\n return !this.path || !this.path.length;\n }\n get head() {\n return this.path[0];\n }\n get tail() {\n return this.path[this.path.length - 1];\n }\n parentOf(node) {\n return node && this.path[this.path.indexOf(node) - 1];\n }\n childOf(node) {\n return this.path[this.path.indexOf(node) + 1];\n }\n first(ctor) {\n for (let i = this.path.length - 1; i >= 0; i--) {\n let item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n }\n push(node) {\n this.path.push(node);\n }\n pop() {\n return this.path.pop();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass NodeWithI18n {\n constructor(sourceSpan, i18n) {\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n}\nclass Text$3 extends NodeWithI18n {\n constructor(value, sourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.value = value;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\nclass Expansion extends NodeWithI18n {\n constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansion(this, context);\n }\n}\nclass ExpansionCase {\n constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansionCase(this, context);\n }\n}\nclass Attribute extends NodeWithI18n {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.value = value;\n this.valueSpan = valueSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttribute(this, context);\n }\n}\nclass Element$1 extends NodeWithI18n {\n constructor(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan = null, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\nclass Comment {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitComment(this, context);\n }\n}\nfunction visitAll$1(visitor, nodes, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n nodes.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nclass RecursiveVisitor$1 {\n constructor() { }\n visitElement(ast, context) {\n this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.children);\n });\n }\n visitAttribute(ast, context) { }\n visitText(ast, context) { }\n visitComment(ast, context) { }\n visitExpansion(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.cases);\n });\n }\n visitExpansionCase(ast, context) { }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children)\n results.push(visitAll$1(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\nfunction spanOf(ast) {\n const start = ast.sourceSpan.start.offset;\n let end = ast.sourceSpan.end.offset;\n if (ast instanceof Element$1) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start, end };\n}\nfunction findNode(nodes, position) {\n const path = [];\n const visitor = new class extends RecursiveVisitor$1 {\n visit(ast, context) {\n const span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n }\n };\n visitAll$1(visitor, nodes);\n return new AstPath(path, position);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"INCOMPLETE_TAG_OPEN\"] = 4] = \"INCOMPLETE_TAG_OPEN\";\n TokenType[TokenType[\"TEXT\"] = 5] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 6] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 7] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 8] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 9] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 10] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 11] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 12] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_QUOTE\"] = 13] = \"ATTR_QUOTE\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 14] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 15] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 16] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 17] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 18] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 19] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 20] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 21] = \"EOF\";\n})(TokenType || (TokenType = {}));\nclass Token {\n constructor(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n}\nclass TokenError extends ParseError {\n constructor(errorMsg, tokenType, span) {\n super(span, errorMsg);\n this.tokenType = tokenType;\n }\n}\nclass TokenizeResult {\n constructor(tokens, errors, nonNormalizedIcuExpressions) {\n this.tokens = tokens;\n this.errors = errors;\n this.nonNormalizedIcuExpressions = nonNormalizedIcuExpressions;\n }\n}\nfunction tokenize(source, url, getTagDefinition, options = {}) {\n const tokenizer = new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options);\n tokenizer.tokenize();\n return new TokenizeResult(mergeTextTokens(tokenizer.tokens), tokenizer.errors, tokenizer.nonNormalizedIcuExpressions);\n}\nconst _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return `Unexpected character \"${char}\"`;\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return `Unknown entity \"${entitySrc}\" - use the \"&#;\" or \"&#x;\" syntax`;\n}\nfunction _unparsableEntityErrorMsg(type, entityStr) {\n return `Unable to parse entity \"${entityStr}\" - ${type} character reference entities must end with \";\"`;\n}\nvar CharacterReferenceType;\n(function (CharacterReferenceType) {\n CharacterReferenceType[\"HEX\"] = \"hexadecimal\";\n CharacterReferenceType[\"DEC\"] = \"decimal\";\n})(CharacterReferenceType || (CharacterReferenceType = {}));\nclass _ControlFlowError {\n constructor(error) {\n this.error = error;\n }\n}\n// See https://www.w3.org/TR/html51/syntax.html#writing-html-documents\nclass _Tokenizer {\n /**\n * @param _file The html source file being tokenized.\n * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.\n * @param options Configuration of the tokenization.\n */\n constructor(_file, _getTagDefinition, options) {\n this._getTagDefinition = _getTagDefinition;\n this._currentTokenStart = null;\n this._currentTokenType = null;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this.nonNormalizedIcuExpressions = [];\n this._tokenizeIcu = options.tokenizeExpansionForms || false;\n this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;\n this._leadingTriviaCodePoints =\n options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);\n const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };\n this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :\n new PlainCharacterCursor(_file, range);\n this._preserveLineEndings = options.preserveLineEndings || false;\n this._escapedString = options.escapedString || false;\n this._i18nNormalizeLineEndingsInICUs = options.i18nNormalizeLineEndingsInICUs || false;\n try {\n this._cursor.init();\n }\n catch (e) {\n this.handleError(e);\n }\n }\n _processCarriageReturns(content) {\n if (this._preserveLineEndings) {\n return content;\n }\n // https://www.w3.org/TR/html51/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n }\n tokenize() {\n while (this._cursor.peek() !== $EOF) {\n const start = this._cursor.clone();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n this.handleError(e);\n }\n }\n this._beginToken(TokenType.EOF);\n this._endToken([]);\n }\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _tokenizeExpansionForm() {\n if (this.isExpansionFormStart()) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._cursor.peek() === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n }\n _beginToken(type, start = this._cursor.clone()) {\n this._currentTokenStart = start;\n this._currentTokenType = type;\n }\n _endToken(parts, end) {\n if (this._currentTokenStart === null) {\n throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));\n }\n if (this._currentTokenType === null) {\n throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));\n }\n const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n }\n _createError(msg, span) {\n if (this._isInExpansionForm()) {\n msg += ` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`;\n }\n const error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n }\n handleError(e) {\n if (e instanceof CursorError) {\n e = this._createError(e.msg, this._cursor.getSpan(e.cursor));\n }\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n _attemptCharCode(charCode) {\n if (this._cursor.peek() === charCode) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _attemptCharCodeCaseInsensitive(charCode) {\n if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _requireCharCode(charCode) {\n const location = this._cursor.clone();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptStr(chars) {\n const len = chars.length;\n if (this._cursor.charsLeft() < len) {\n return false;\n }\n const initialPosition = this._cursor.clone();\n for (let i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._cursor = initialPosition;\n return false;\n }\n }\n return true;\n }\n _attemptStrCaseInsensitive(chars) {\n for (let i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n }\n _requireStr(chars) {\n const location = this._cursor.clone();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptCharCodeUntilFn(predicate) {\n while (!predicate(this._cursor.peek())) {\n this._cursor.advance();\n }\n }\n _requireCharCodeUntilFn(predicate, len) {\n const start = this._cursor.clone();\n this._attemptCharCodeUntilFn(predicate);\n if (this._cursor.diff(start) < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n }\n _attemptUntilChar(char) {\n while (this._cursor.peek() !== char) {\n this._cursor.advance();\n }\n }\n _readChar(decodeEntities) {\n if (decodeEntities && this._cursor.peek() === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n // Don't rely upon reading directly from `_input` as the actual char value\n // may have been generated from an escape sequence.\n const char = String.fromCodePoint(this._cursor.peek());\n this._cursor.advance();\n return char;\n }\n }\n _decodeEntity() {\n const start = this._cursor.clone();\n this._cursor.advance();\n if (this._attemptCharCode($HASH)) {\n const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n const codeStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n // Advance cursor to include the peeked character in the string provided to the error\n // message.\n this._cursor.advance();\n const entityType = isHex ? CharacterReferenceType.HEX : CharacterReferenceType.DEC;\n throw this._createError(_unparsableEntityErrorMsg(entityType, this._cursor.getChars(start)), this._cursor.getSpan());\n }\n const strNum = this._cursor.getChars(codeStart);\n this._cursor.advance();\n try {\n const charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (_a) {\n throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());\n }\n }\n else {\n const nameStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n this._cursor = nameStart;\n return '&';\n }\n const name = this._cursor.getChars(nameStart);\n this._cursor.advance();\n const char = NAMED_ENTITIES[name];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));\n }\n return char;\n }\n }\n _consumeRawText(decodeEntities, endMarkerPredicate) {\n this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);\n const parts = [];\n while (true) {\n const tagCloseStart = this._cursor.clone();\n const foundEndMarker = endMarkerPredicate();\n this._cursor = tagCloseStart;\n if (foundEndMarker) {\n break;\n }\n parts.push(this._readChar(decodeEntities));\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _consumeComment(start) {\n this._beginToken(TokenType.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr('-->'));\n this._beginToken(TokenType.COMMENT_END);\n this._requireStr('-->');\n this._endToken([]);\n }\n _consumeCdata(start) {\n this._beginToken(TokenType.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr(']]>'));\n this._beginToken(TokenType.CDATA_END);\n this._requireStr(']]>');\n this._endToken([]);\n }\n _consumeDocType(start) {\n this._beginToken(TokenType.DOC_TYPE, start);\n const contentStart = this._cursor.clone();\n this._attemptUntilChar($GT);\n const content = this._cursor.getChars(contentStart);\n this._cursor.advance();\n this._endToken([content]);\n }\n _consumePrefixAndName() {\n const nameOrPrefixStart = this._cursor.clone();\n let prefix = '';\n while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {\n this._cursor.advance();\n }\n let nameStart;\n if (this._cursor.peek() === $COLON) {\n prefix = this._cursor.getChars(nameOrPrefixStart);\n this._cursor.advance();\n nameStart = this._cursor.clone();\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);\n const name = this._cursor.getChars(nameStart);\n return [prefix, name];\n }\n _consumeTagOpen(start) {\n let tagName;\n let prefix;\n let openTagToken;\n try {\n if (!isAsciiLetter(this._cursor.peek())) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n openTagToken = this._consumeTagOpenStart(start);\n prefix = openTagToken.parts[0];\n tagName = openTagToken.parts[1];\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT &&\n this._cursor.peek() !== $LT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n if (openTagToken) {\n // We errored before we could close the opening tag, so it is incomplete.\n openTagToken.type = TokenType.INCOMPLETE_TAG_OPEN;\n }\n else {\n // When the start tag is invalid, assume we want a \"<\" as text.\n // Back to back text tokens are merged at the end.\n this._beginToken(TokenType.TEXT, start);\n this._endToken(['<']);\n }\n return;\n }\n throw e;\n }\n const contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, true);\n }\n }\n _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {\n const textToken = this._consumeRawText(decodeEntities, () => {\n if (!this._attemptCharCode($LT))\n return false;\n if (!this._attemptCharCode($SLASH))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!this._attemptStrCaseInsensitive(tagName))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n return this._attemptCharCode($GT);\n });\n this._beginToken(TokenType.TAG_CLOSE);\n this._requireCharCodeUntilFn(code => code === $GT, 3);\n this._cursor.advance(); // Consume the `>`\n this._endToken([prefix, tagName]);\n }\n _consumeTagOpenStart(start) {\n this._beginToken(TokenType.TAG_OPEN_START, start);\n const parts = this._consumePrefixAndName();\n return this._endToken(parts);\n }\n _consumeAttributeName() {\n const attrNameStart = this._cursor.peek();\n if (attrNameStart === $SQ || attrNameStart === $DQ) {\n throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());\n }\n this._beginToken(TokenType.ATTR_NAME);\n const prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n }\n _consumeAttributeValue() {\n let value;\n if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {\n this._beginToken(TokenType.ATTR_QUOTE);\n const quoteChar = this._cursor.peek();\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n this._beginToken(TokenType.ATTR_VALUE);\n const parts = [];\n while (this._cursor.peek() !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._endToken([this._processCarriageReturns(value)]);\n this._beginToken(TokenType.ATTR_QUOTE);\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n }\n else {\n this._beginToken(TokenType.ATTR_VALUE);\n const valueStart = this._cursor.clone();\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._cursor.getChars(valueStart);\n this._endToken([this._processCarriageReturns(value)]);\n }\n }\n _consumeTagOpenEnd() {\n const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n }\n _consumeTagClose(start) {\n this._beginToken(TokenType.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n const prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n }\n _consumeExpansionFormStart() {\n this._beginToken(TokenType.EXPANSION_FORM_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n this._beginToken(TokenType.RAW_TEXT);\n const condition = this._readUntil($COMMA);\n const normalizedCondition = this._processCarriageReturns(condition);\n if (this._i18nNormalizeLineEndingsInICUs) {\n // We explicitly want to normalize line endings for this text.\n this._endToken([normalizedCondition]);\n }\n else {\n // We are not normalizing line endings.\n const conditionToken = this._endToken([condition]);\n if (normalizedCondition !== condition) {\n this.nonNormalizedIcuExpressions.push(conditionToken);\n }\n }\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.RAW_TEXT);\n const type = this._readUntil($COMMA);\n this._endToken([type]);\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n _consumeExpansionCaseStart() {\n this._beginToken(TokenType.EXPANSION_CASE_VALUE);\n const value = this._readUntil($LBRACE).trim();\n this._endToken([value]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.EXPANSION_CASE_EXP_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n }\n _consumeExpansionCaseEnd() {\n this._beginToken(TokenType.EXPANSION_CASE_EXP_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n }\n _consumeExpansionFormEnd() {\n this._beginToken(TokenType.EXPANSION_FORM_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n }\n _consumeText() {\n const start = this._cursor.clone();\n this._beginToken(TokenType.TEXT, start);\n const parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _isTextEnd() {\n if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (this.isExpansionFormStart()) {\n // start of an expansion form\n return true;\n }\n if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n }\n _readUntil(char) {\n const start = this._cursor.clone();\n this._attemptUntilChar(char);\n return this._cursor.getChars(start);\n }\n _isInExpansionCase() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_CASE_EXP_START;\n }\n _isInExpansionForm() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_FORM_START;\n }\n isExpansionFormStart() {\n if (this._cursor.peek() !== $LBRACE) {\n return false;\n }\n if (this._interpolationConfig) {\n const start = this._cursor.clone();\n const isInterpolation = this._attemptStr(this._interpolationConfig.start);\n this._cursor = start;\n return !isInterpolation;\n }\n return true;\n }\n}\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $LT ||\n code === $SLASH || code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionCaseStart(peek) {\n return peek !== $RBRACE;\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n const dstTokens = [];\n let lastDstToken = undefined;\n for (let i = 0; i < srcTokens.length; i++) {\n const token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\nclass PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof PlainCharacterCursor) {\n this.file = fileOrCursor.file;\n this.input = fileOrCursor.input;\n this.end = fileOrCursor.end;\n const state = fileOrCursor.state;\n // Note: avoid using `{...fileOrCursor.state}` here as that has a severe performance penalty.\n // In ES5 bundles the object spread operator is translated into the `__assign` helper, which\n // is not optimized by VMs as efficiently as a raw object literal. Since this constructor is\n // called in tight loops, this difference matters.\n this.state = {\n peek: state.peek,\n offset: state.offset,\n line: state.line,\n column: state.column,\n };\n }\n else {\n if (!range) {\n throw new Error('Programming error: the range argument must be provided with a file argument.');\n }\n this.file = fileOrCursor;\n this.input = fileOrCursor.content;\n this.end = range.endPos;\n this.state = {\n peek: -1,\n offset: range.startPos,\n line: range.startLine,\n column: range.startCol,\n };\n }\n }\n clone() {\n return new PlainCharacterCursor(this);\n }\n peek() {\n return this.state.peek;\n }\n charsLeft() {\n return this.end - this.state.offset;\n }\n diff(other) {\n return this.state.offset - other.state.offset;\n }\n advance() {\n this.advanceState(this.state);\n }\n init() {\n this.updatePeek(this.state);\n }\n getSpan(start, leadingTriviaCodePoints) {\n start = start || this;\n let fullStart = start;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (fullStart === start) {\n start = start.clone();\n }\n start.advance();\n }\n }\n const startLocation = this.locationFromCursor(start);\n const endLocation = this.locationFromCursor(this);\n const fullStartLocation = fullStart !== start ? this.locationFromCursor(fullStart) : startLocation;\n return new ParseSourceSpan(startLocation, endLocation, fullStartLocation);\n }\n getChars(start) {\n return this.input.substring(start.state.offset, this.state.offset);\n }\n charAt(pos) {\n return this.input.charCodeAt(pos);\n }\n advanceState(state) {\n if (state.offset >= this.end) {\n this.state = state;\n throw new CursorError('Unexpected character \"EOF\"', this);\n }\n const currentChar = this.charAt(state.offset);\n if (currentChar === $LF) {\n state.line++;\n state.column = 0;\n }\n else if (!isNewLine(currentChar)) {\n state.column++;\n }\n state.offset++;\n this.updatePeek(state);\n }\n updatePeek(state) {\n state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);\n }\n locationFromCursor(cursor) {\n return new ParseLocation(cursor.file, cursor.state.offset, cursor.state.line, cursor.state.column);\n }\n}\nclass EscapedCharacterCursor extends PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof EscapedCharacterCursor) {\n super(fileOrCursor);\n this.internalState = Object.assign({}, fileOrCursor.internalState);\n }\n else {\n super(fileOrCursor, range);\n this.internalState = this.state;\n }\n }\n advance() {\n this.state = this.internalState;\n super.advance();\n this.processEscapeSequence();\n }\n init() {\n super.init();\n this.processEscapeSequence();\n }\n clone() {\n return new EscapedCharacterCursor(this);\n }\n getChars(start) {\n const cursor = start.clone();\n let chars = '';\n while (cursor.internalState.offset < this.internalState.offset) {\n chars += String.fromCodePoint(cursor.peek());\n cursor.advance();\n }\n return chars;\n }\n /**\n * Process the escape sequence that starts at the current position in the text.\n *\n * This method is called to ensure that `peek` has the unescaped value of escape sequences.\n */\n processEscapeSequence() {\n const peek = () => this.internalState.peek;\n if (peek() === $BACKSLASH) {\n // We have hit an escape sequence so we need the internal state to become independent\n // of the external state.\n this.internalState = Object.assign({}, this.state);\n // Move past the backslash\n this.advanceState(this.internalState);\n // First check for standard control char sequences\n if (peek() === $n) {\n this.state.peek = $LF;\n }\n else if (peek() === $r) {\n this.state.peek = $CR;\n }\n else if (peek() === $v) {\n this.state.peek = $VTAB;\n }\n else if (peek() === $t) {\n this.state.peek = $TAB;\n }\n else if (peek() === $b) {\n this.state.peek = $BSPACE;\n }\n else if (peek() === $f) {\n this.state.peek = $FF;\n }\n // Now consider more complex sequences\n else if (peek() === $u) {\n // Unicode code-point sequence\n this.advanceState(this.internalState); // advance past the `u` char\n if (peek() === $LBRACE) {\n // Variable length Unicode, e.g. `\\x{123}`\n this.advanceState(this.internalState); // advance past the `{` char\n // Advance past the variable number of hex digits until we hit a `}` char\n const digitStart = this.clone();\n let length = 0;\n while (peek() !== $RBRACE) {\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = this.decodeHexDigits(digitStart, length);\n }\n else {\n // Fixed length Unicode, e.g. `\\u1234`\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 4);\n }\n }\n else if (peek() === $x) {\n // Hex char code, e.g. `\\x2F`\n this.advanceState(this.internalState); // advance past the `x` char\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 2);\n }\n else if (isOctalDigit(peek())) {\n // Octal char code, e.g. `\\012`,\n let octal = '';\n let length = 0;\n let previous = this.clone();\n while (isOctalDigit(peek()) && length < 3) {\n previous = this.clone();\n octal += String.fromCodePoint(peek());\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = parseInt(octal, 8);\n // Backup one char\n this.internalState = previous.internalState;\n }\n else if (isNewLine(this.internalState.peek)) {\n // Line continuation `\\` followed by a new line\n this.advanceState(this.internalState); // advance over the newline\n this.state = this.internalState;\n }\n else {\n // If none of the `if` blocks were executed then we just have an escaped normal character.\n // In that case we just, effectively, skip the backslash from the character.\n this.state.peek = this.internalState.peek;\n }\n }\n }\n decodeHexDigits(start, length) {\n const hex = this.input.substr(start.internalState.offset, length);\n const charCode = parseInt(hex, 16);\n if (!isNaN(charCode)) {\n return charCode;\n }\n else {\n start.state = start.internalState;\n throw new CursorError('Invalid hexadecimal escape sequence', start);\n }\n }\n}\nclass CursorError {\n constructor(msg, cursor) {\n this.msg = msg;\n this.cursor = cursor;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TreeError extends ParseError {\n constructor(elementName, span, msg) {\n super(span, msg);\n this.elementName = elementName;\n }\n static create(elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n }\n}\nclass ParseTreeResult {\n constructor(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n}\nclass Parser {\n constructor(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n parse(source, url, options) {\n const tokenizeResult = tokenize(source, url, this.getTagDefinition, options);\n const parser = new _TreeBuilder(tokenizeResult.tokens, this.getTagDefinition);\n parser.build();\n return new ParseTreeResult(parser.rootNodes, tokenizeResult.errors.concat(parser.errors));\n }\n}\nclass _TreeBuilder {\n constructor(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._elementStack = [];\n this.rootNodes = [];\n this.errors = [];\n this._advance();\n }\n build() {\n while (this._peek.type !== TokenType.EOF) {\n if (this._peek.type === TokenType.TAG_OPEN_START ||\n this._peek.type === TokenType.INCOMPLETE_TAG_OPEN) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||\n this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n }\n _advance() {\n const prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n }\n _advanceIf(type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n }\n _consumeCdata(_startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType.CDATA_END);\n }\n _consumeComment(token) {\n const text = this._advanceIf(TokenType.RAW_TEXT);\n this._advanceIf(TokenType.COMMENT_END);\n const value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n }\n _consumeExpansion(token) {\n const switchValue = this._advance();\n const type = this._advance();\n const cases = [];\n // read =\n while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {\n const expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType.EXPANSION_FORM_END) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return;\n }\n const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end, token.sourceSpan.fullStart);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n }\n _parseExpansionCase() {\n const value = this._advance();\n // read {\n if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));\n return null;\n }\n // read until }\n const start = this._advance();\n const exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n const end = this._advance();\n exp.push(new Token(TokenType.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n const expansionCaseParser = new _TreeBuilder(exp, this.getTagDefinition);\n expansionCaseParser.build();\n if (expansionCaseParser.errors.length > 0) {\n this.errors = this.errors.concat(expansionCaseParser.errors);\n return null;\n }\n const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end, value.sourceSpan.fullStart);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end, start.sourceSpan.fullStart);\n return new ExpansionCase(value.parts[0], expansionCaseParser.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n }\n _collectExpansionExpTokens(start) {\n const exp = [];\n const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType.EXPANSION_FORM_START ||\n this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EOF) {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n exp.push(this._advance());\n }\n }\n _consumeText(token) {\n let text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n const parent = this._getParentElement();\n if (parent != null && parent.children.length == 0 &&\n this.getTagDefinition(parent.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text$3(text, token.sourceSpan));\n }\n }\n _closeVoidElement() {\n const el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n _consumeStartTag(startTagToken) {\n const [prefix, name] = startTagToken.parts;\n const attrs = [];\n while (this._peek.type === TokenType.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n const fullName = this._getElementFullName(prefix, name, this._getParentElement());\n let selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n const tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this.errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed \"${startTagToken.parts[1]}\"`));\n }\n }\n else if (this._peek.type === TokenType.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n const end = this._peek.sourceSpan.start;\n const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n // Create a separate `startSpan` because `span` will be modified when there is an `end` span.\n const startSpan = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n const el = new Element$1(fullName, attrs, [], span, startSpan, undefined);\n this._pushElement(el);\n if (selfClosing) {\n // Elements that are self-closed have their `endSourceSpan` set to the full span, as the\n // element start tag also represents the end tag.\n this._popElement(fullName, span);\n }\n else if (startTagToken.type === TokenType.INCOMPLETE_TAG_OPEN) {\n // We already know the opening tag is not complete, so it is unlikely it has a corresponding\n // close tag. Let's optimistically parse it as a full element and emit an error.\n this._popElement(fullName, null);\n this.errors.push(TreeError.create(fullName, span, `Opening tag \"${fullName}\" not terminated.`));\n }\n }\n _pushElement(el) {\n const parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n this._addToParent(el);\n this._elementStack.push(el);\n }\n _consumeEndTag(endTagToken) {\n const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this.getTagDefinition(fullName).isVoid) {\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags \"${endTagToken.parts[1]}\"`));\n }\n else if (!this._popElement(fullName, endTagToken.sourceSpan)) {\n const errMsg = `Unexpected closing tag \"${fullName}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n }\n /**\n * Closes the nearest element with the tag name `fullName` in the parse tree.\n * `endSourceSpan` is the span of the closing tag, or null if the element does\n * not have a closing tag (for example, this happens when an incomplete\n * opening tag is recovered).\n */\n _popElement(fullName, endSourceSpan) {\n for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n const el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n // Record the parse span with the element that is being closed. Any elements that are\n // removed from the element stack at this point are closed implicitly, so they won't get\n // an end source span (as there is no explicit closing element).\n el.endSourceSpan = endSourceSpan;\n el.sourceSpan.end = endSourceSpan !== null ? endSourceSpan.end : el.sourceSpan.end;\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n }\n _consumeAttr(attrName) {\n const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n let end = attrName.sourceSpan.end;\n let value = '';\n let valueSpan = undefined;\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n this._advance();\n }\n if (this._peek.type === TokenType.ATTR_VALUE) {\n const valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n const quoteToken = this._advance();\n end = quoteToken.sourceSpan.end;\n }\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end, attrName.sourceSpan.fullStart), valueSpan);\n }\n _getParentElement() {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n }\n _addToParent(node) {\n const parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this.rootNodes.push(node);\n }\n }\n _getElementFullName(prefix, localName, parentElement) {\n if (prefix === '') {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';\n if (prefix === '' && parentElement != null) {\n const parentTagName = splitNsName(parentElement.name)[1];\n const parentTagDefinition = this.getTagDefinition(parentTagName);\n if (!parentTagDefinition.preventNamespaceInheritance) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n }\n return mergeNsAndName(prefix, localName);\n }\n}\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlParser extends Parser {\n constructor() {\n super(getHtmlTagDefinition);\n }\n parse(source, url, options) {\n return super.parse(source, url, options);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nconst SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nconst WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nconst NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);\nconst WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nclass WhitespaceVisitor {\n visitElement(element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n return new Element$1(element.name, element.attrs, visitAllWithSiblings(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n visitAttribute(attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n }\n visitText(text, context) {\n const isNotBlank = text.value.match(NO_WS_REGEXP);\n const hasExpansionSibling = context &&\n (context.prev instanceof Expansion || context.next instanceof Expansion);\n if (isNotBlank || hasExpansionSibling) {\n return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);\n }\n return null;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(expansion, context) {\n return expansion;\n }\n visitExpansionCase(expansionCase, context) {\n return expansionCase;\n }\n}\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\nfunction visitAllWithSiblings(visitor, nodes) {\n const result = [];\n nodes.forEach((ast, i) => {\n const context = { prev: nodes[i - 1], next: nodes[i + 1] };\n const astResult = ast.visit(visitor, context);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nconst PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero\n * one\n * more than one\n * \n * ```\n */\nfunction expandNodes(nodes) {\n const expander = new _Expander();\n return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);\n}\nclass ExpansionResult {\n constructor(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n}\nclass ExpansionError extends ParseError {\n constructor(span, errorMsg) {\n super(span, errorMsg);\n }\n}\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\nclass _Expander {\n constructor() {\n this.isExpanded = false;\n this.errors = [];\n }\n visitElement(element, context) {\n return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n visitAttribute(attribute, context) {\n return attribute;\n }\n visitText(text, context) {\n return text;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n }\n visitExpansionCase(icuCase, context) {\n throw new Error('Should not be reached');\n }\n}\n// Plural forms are expanded to `NgPlural` and `NgPluralCase`s\nfunction _expandPluralForm(ast, errors) {\n const children = ast.cases.map(c => {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be \"=\" or one of ${PLURAL_CASES.join(', ')}`));\n }\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s\nfunction _expandDefaultForm(ast, errors) {\n const children = ast.cases.map(c => {\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n if (c.value === 'other') {\n // other is the default case when no values match\n return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n }\n return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A segment of text within the template.\n */\nclass TextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n/**\n * A bound expression within the text of a template.\n */\nclass BoundTextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitBoundText(this, context);\n }\n}\n/**\n * A plain attribute on an element.\n */\nclass AttrAst {\n constructor(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttr(this, context);\n }\n}\nconst BoundPropertyMapping = {\n [4 /* Animation */]: 4 /* Animation */,\n [1 /* Attribute */]: 1 /* Attribute */,\n [2 /* Class */]: 2 /* Class */,\n [0 /* Property */]: 0 /* Property */,\n [3 /* Style */]: 3 /* Style */,\n};\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\nclass BoundElementPropertyAst {\n constructor(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.isAnimation = this.type === 4 /* Animation */;\n }\n static fromBoundProperty(prop) {\n const type = BoundPropertyMapping[prop.type];\n return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n }\n visit(visitor, context) {\n return visitor.visitElementProperty(this, context);\n }\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\nclass BoundEventAst {\n constructor(name, target, phase, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);\n this.isAnimation = !!this.phase;\n }\n static calcFullName(name, target, phase) {\n if (target) {\n return `${target}:${name}`;\n }\n if (phase) {\n return `@${name}.${phase}`;\n }\n return name;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor, context) {\n return visitor.visitEvent(this, context);\n }\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nclass ReferenceAst {\n constructor(name, value, originalValue, sourceSpan) {\n this.name = name;\n this.value = value;\n this.originalValue = originalValue;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitReference(this, context);\n }\n}\n/**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\nclass VariableAst {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n static fromParsedVariable(v) {\n return new VariableAst(v.name, v.value, v.sourceSpan, v.valueSpan);\n }\n visit(visitor, context) {\n return visitor.visitVariable(this, context);\n }\n}\n/**\n * An element declaration in a template.\n */\nclass ElementAst {\n constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\n/**\n * A `` element included in an Angular template.\n */\nclass EmbeddedTemplateAst {\n constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n }\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nclass BoundDirectivePropertyAst {\n constructor(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n }\n}\n/**\n * A directive declared on an element.\n */\nclass DirectiveAst {\n constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.contentQueryStartId = contentQueryStartId;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirective(this, context);\n }\n}\n/**\n * A provider declared on an element\n */\nclass ProviderAst {\n constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n this.isModule = isModule;\n }\n visit(visitor, context) {\n // No visit method in the visitor for now...\n return null;\n }\n}\nvar ProviderAstType;\n(function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n})(ProviderAstType || (ProviderAstType = {}));\n/**\n * Position where content is to be projected (instance of `` in a template).\n */\nclass NgContentAst {\n constructor(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitNgContent(this, context);\n }\n}\n/**\n * A visitor that accepts each node but doesn't do anything. It is intended to be used\n * as the base class for a visitor that is only interested in a subset of the node types.\n */\nclass NullTemplateVisitor {\n visitNgContent(ast, context) { }\n visitEmbeddedTemplate(ast, context) { }\n visitElement(ast, context) { }\n visitReference(ast, context) { }\n visitVariable(ast, context) { }\n visitEvent(ast, context) { }\n visitElementProperty(ast, context) { }\n visitAttr(ast, context) { }\n visitBoundText(ast, context) { }\n visitText(ast, context) { }\n visitDirective(ast, context) { }\n visitDirectiveProperty(ast, context) { }\n}\n/**\n * Base class that can be used to build a visitor that visits each node\n * in an template ast recursively.\n */\nclass RecursiveTemplateAstVisitor extends NullTemplateVisitor {\n constructor() {\n super();\n }\n // Nodes with children\n visitEmbeddedTemplate(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.references);\n visit(ast.variables);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitElement(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.inputs);\n visit(ast.outputs);\n visit(ast.references);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitDirective(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.inputs);\n visit(ast.hostProperties);\n visit(ast.hostEvents);\n });\n }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children && children.length)\n results.push(templateVisitAll(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\n/**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\nfunction templateVisitAll(visitor, asts, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n asts.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ProviderError extends ParseError {\n constructor(message, span) {\n super(span, message);\n }\n}\nclass ProviderViewContext {\n constructor(reflector, component) {\n this.reflector = reflector;\n this.component = component;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n component.viewProviders.forEach((provider) => {\n if (this.viewProviders.get(tokenReference(provider.token)) == null) {\n this.viewProviders.set(tokenReference(provider.token), true);\n }\n });\n }\n}\nclass ProviderElementContext {\n constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._queriedTokens = new Map();\n this.transformedHasViewContainer = false;\n this._attrs = {};\n attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);\n const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);\n });\n if (isTemplate) {\n const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);\n this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);\n }\n refs.forEach((refAst) => {\n let defaultQueryValue = refAst.value ||\n createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);\n this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);\n });\n if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {\n this.transformedHasViewContainer = true;\n }\n // create the providers that we know are eager first\n Array.from(this._allProviders.values()).forEach((provider) => {\n const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));\n if (eager) {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n afterElement() {\n // collect lazy providers\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n }\n get transformProviders() {\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n get transformedDirectiveAsts() {\n const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);\n const sortedDirectives = this._directiveAsts.slice();\n sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type));\n return sortedDirectives;\n }\n get queryMatches() {\n const allMatches = [];\n this._queriedTokens.forEach((matches) => {\n allMatches.push(...matches);\n });\n return allMatches;\n }\n _addQueryReadsTo(token, defaultValue, queryReadTokens) {\n this._getQueriesFor(token).forEach((query) => {\n const queryValue = query.meta.read || defaultValue;\n const tokenRef = tokenReference(queryValue);\n let queryMatches = queryReadTokens.get(tokenRef);\n if (!queryMatches) {\n queryMatches = [];\n queryReadTokens.set(tokenRef, queryMatches);\n }\n queryMatches.push({ queryId: query.queryId, value: queryValue });\n });\n }\n _getQueriesFor(token) {\n const result = [];\n let currentEl = this;\n let distance = 0;\n let queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries);\n }\n return result;\n }\n _getOrCreateLocalProvider(requestingProviderType, token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider ||\n ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n ((requestingProviderType === ProviderAstType.PrivateService ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.Builtin)) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getLocalDependency(requestingProviderType, dep, eager = false) {\n if (dep.isAttribute) {\n const attrValue = this._attrs[dep.token.value];\n return { isValue: true, value: attrValue == null ? null : attrValue };\n }\n if (dep.token != null) {\n // access builtints\n if ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.Component)) {\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {\n return dep;\n }\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {\n this.transformedHasViewContainer = true;\n }\n }\n // access the injector\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {\n return dep;\n }\n // access providers\n if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {\n return dep;\n }\n }\n return null;\n }\n _getDependency(requestingProviderType, dep, eager = false) {\n let currElement = this;\n let currEager = eager;\n let result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = { isValue: true, value: null };\n }\n }\n else {\n // check parent elements\n while (!result && currElement._parent) {\n const prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.isHost ||\n this.viewContext.component.type.reference === tokenReference(dep.token) ||\n this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {\n result = dep;\n }\n else {\n result = dep.isOptional ? { isValue: true, value: null } : null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));\n }\n return result;\n }\n}\nclass NgModuleProviderAnalyzer {\n constructor(reflector, ngModule, extraProviders, sourceSpan) {\n this.reflector = reflector;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n ngModule.transitiveModule.modules.forEach((ngModuleType) => {\n const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);\n });\n _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders, \n /* isModule */ false);\n }\n parse() {\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n const errorString = this._errors.join('\\n');\n throw new Error(`Provider parse errors:\\n${errorString}`);\n }\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n _getOrCreateLocalProvider(token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getDependency(dep, eager = false, requestorSourceSpan) {\n let foundLocal = false;\n if (!dep.isSkipSelf && dep.token != null) {\n // access the injector\n if (tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.Injector) ||\n tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {\n foundLocal = true;\n // access providers\n }\n else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {\n foundLocal = true;\n }\n }\n return dep;\n }\n}\nfunction _transformProvider(provider, { useExisting, useValue, deps }) {\n return {\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n };\n}\nfunction _transformProviderAst(provider, { eager, providers }) {\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);\n}\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n const providersByToken = new Map();\n directives.forEach((directive) => {\n const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n // Note: directives need to be able to overwrite providers of a component!\n const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));\n directivesWithComponentFirst.forEach((directive) => {\n _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n return providersByToken;\n}\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {\n providers.forEach((provider) => {\n let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {\n targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));\n }\n if (!resolvedProvider) {\n const lifecycleHooks = provider.token.identifier &&\n provider.token.identifier.lifecycleHooks ?\n provider.token.identifier.lifecycleHooks :\n [];\n const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);\n resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);\n targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n }\n else {\n if (!provider.multi) {\n resolvedProvider.providers.length = 0;\n }\n resolvedProvider.providers.push(provider);\n }\n });\n}\nfunction _getViewQueries(component) {\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n let viewQueryId = 1;\n const viewQueries = new Map();\n if (component.viewQueries) {\n component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));\n }\n return viewQueries;\n}\nfunction _getContentQueries(contentQueryStartId, directives) {\n let contentQueryId = contentQueryStartId;\n const contentQueries = new Map();\n directives.forEach((directive, directiveIndex) => {\n if (directive.queries) {\n directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));\n }\n });\n return contentQueries;\n}\nfunction _addQueryToTokenMap(map, query) {\n query.meta.selectors.forEach((token) => {\n let entry = map.get(tokenReference(token));\n if (!entry) {\n entry = [];\n map.set(tokenReference(token), entry);\n }\n entry.push(query);\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass StyleWithImports {\n constructor(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n}\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n const foundUrls = [];\n const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, (...m) => {\n const url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nconst CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nconst CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nconst URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PROPERTY_PARTS_SEPARATOR = '.';\nconst ATTRIBUTE_PREFIX = 'attr';\nconst CLASS_PREFIX = 'class';\nconst STYLE_PREFIX = 'style';\nconst TEMPLATE_ATTR_PREFIX = '*';\nconst ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nclass BindingParser {\n constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n const pipesByName = new Map();\n pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));\n this.pipesByName = pipesByName;\n }\n }\n get interpolationConfig() {\n return this._interpolationConfig;\n }\n getUsedPipes() {\n return Array.from(this._usedPipes.values());\n }\n createBoundHostProperties(dirMeta, sourceSpan) {\n if (dirMeta.hostProperties) {\n const boundProps = [];\n Object.keys(dirMeta.hostProperties).forEach(propName => {\n const expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], \n // Use the `sourceSpan` for `keySpan`. This isn't really accurate, but neither is the\n // sourceSpan, as it represents the sourceSpan of the host itself rather than the\n // source of the host binding (which doesn't exist in the template). Regardless,\n // neither of these values are used in Ivy but are only here to satisfy the function\n // signature. This should likely be refactored in the future so that `sourceSpan`\n // isn't being used inaccurately.\n boundProps, sourceSpan);\n }\n else {\n this._reportError(`Value of the host property binding \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return boundProps;\n }\n return null;\n }\n createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {\n const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));\n }\n createDirectiveHostEventAsts(dirMeta, sourceSpan) {\n if (dirMeta.hostListeners) {\n const targetEvents = [];\n Object.keys(dirMeta.hostListeners).forEach(propName => {\n const expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n // TODO: pass a more accurate handlerSpan for this event.\n this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents);\n }\n else {\n this._reportError(`Value of the host listener \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return targetEvents;\n }\n return null;\n }\n parseInterpolation(value, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolation(value, sourceInfo, sourceSpan.start.offset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Similar to `parseInterpolation`, but treats the provided string as a single expression\n * element that would normally appear within the interpolation prefix and suffix (`{{` and `}}`).\n * This is used for parsing the switch expression in ICUs.\n */\n parseInterpolationExpression(expression, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolationExpression(expression, sourceInfo, sourceSpan.start.offset);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, and converts them to\n * `ParsedProperty` or `ParsedVariable`.\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteValueOffset start of the tplValue relative to the entire template\n * @param targetMatchableAttrs potential attributes to match in the template\n * @param targetProps target property bindings in the template\n * @param targetVars target variables in the template\n */\n parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteValueOffset, targetMatchableAttrs, targetProps, targetVars, isIvyAst) {\n const absoluteKeyOffset = sourceSpan.start.offset + TEMPLATE_ATTR_PREFIX.length;\n const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset);\n for (const binding of bindings) {\n // sourceSpan is for the entire HTML attribute. bindingSpan is for a particular\n // binding within the microsyntax expression so it's more narrow than sourceSpan.\n const bindingSpan = moveParseSourceSpan(sourceSpan, binding.sourceSpan);\n const key = binding.key.source;\n const keySpan = moveParseSourceSpan(sourceSpan, binding.key.span);\n if (binding instanceof VariableBinding) {\n const value = binding.value ? binding.value.source : '$implicit';\n const valueSpan = binding.value ? moveParseSourceSpan(sourceSpan, binding.value.span) : undefined;\n targetVars.push(new ParsedVariable(key, value, bindingSpan, keySpan, valueSpan));\n }\n else if (binding.value) {\n const srcSpan = isIvyAst ? bindingSpan : sourceSpan;\n const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);\n this._parsePropertyAst(key, binding.value, srcSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([key, '' /* value */]);\n // Since this is a literal attribute with no RHS, source span should be\n // just the key span.\n this.parseLiteralAttr(key, null /* value */, keySpan, absoluteValueOffset, undefined /* valueSpan */, targetMatchableAttrs, targetProps, keySpan);\n }\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, e.g.\n * ```\n * \n * ```\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteKeyOffset start of the `tplKey`\n * @param absoluteValueOffset start of the `tplValue`\n */\n _parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, absoluteKeyOffset, absoluteValueOffset);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach((binding) => {\n if (binding.value instanceof ASTWithSource) {\n this._checkPipes(binding.value, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach((warning) => {\n this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING);\n });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return [];\n }\n }\n parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (value) {\n this._reportError(`Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid.` +\n ` Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, keySpan, valueSpan));\n }\n }\n parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetMatchableAttrs, targetProps, keySpan) {\n if (name.length === 0) {\n this._reportError(`Property name is missing in binding`, sourceSpan);\n }\n let isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n }\n parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n const expr = this.parseInterpolation(value, valueSpan || sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n }\n _parsePropertyAst(name, ast, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));\n }\n _parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError('Animation trigger is missing', sourceSpan);\n }\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, keySpan, valueSpan));\n }\n _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n const ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n let unit = null;\n let bindingType = undefined;\n let boundPropertyName = null;\n const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n let securityContexts = undefined;\n // Check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts.slice(1).join(PROPERTY_PARTS_SEPARATOR);\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n }\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n const nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n const ns = boundPropertyName.substring(0, nsSeparatorIdx);\n const name = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);\n boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);\n bindingType = 0 /* Property */;\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);\n }\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n if (name.length === 0) {\n this._reportError(`Event name is missing in binding`, sourceSpan);\n }\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents);\n }\n }\n calcPossibleSecurityContexts(selector, propName, isAttribute) {\n const prop = this._schemaRegistry.getMappedPropName(propName);\n return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);\n }\n _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents) {\n const matches = splitAtPeriod(name, [name, '']);\n const eventName = matches[0];\n const phase = matches[1].toLowerCase();\n if (phase) {\n switch (phase) {\n case 'start':\n case 'done':\n const ast = this._parseAction(expression, handlerSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan));\n break;\n default:\n this._reportError(`The provided animation output phase value \"${phase}\" for \"@${eventName}\" is not supported (use start or done)`, sourceSpan);\n break;\n }\n }\n else {\n this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);\n }\n }\n _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n // long format: 'target: eventName'\n const [target, eventName] = splitAtColon(name, [null, name]);\n const ast = this._parseAction(expression, handlerSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n }\n _parseAction(value, sourceSpan) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;\n try {\n const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(`Empty expressions are not allowed`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {\n this.errors.push(new ParseError(sourceSpan, message, level));\n }\n _reportExpressionParserErrors(errors, sourceSpan) {\n for (const error of errors) {\n this._reportError(error.message, sourceSpan);\n }\n }\n // Make sure all the used pipes are known in `this.pipesByName`\n _checkPipes(ast, sourceSpan) {\n if (ast && this.pipesByName) {\n const collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach((ast, pipeName) => {\n const pipeMeta = this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n }\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {\n const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n }\n}\nclass PipeCollector extends RecursiveAstVisitor$1 {\n constructor() {\n super(...arguments);\n this.pipes = new Map();\n }\n visitPipe(ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n }\n}\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n const ctxs = [];\n CssSelector.parse(selector).forEach((selector) => {\n const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())\n .map((selector) => selector.element));\n const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));\n ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n/**\n * Compute a new ParseSourceSpan based off an original `sourceSpan` by using\n * absolute offsets from the specified `absoluteSpan`.\n *\n * @param sourceSpan original source span\n * @param absoluteSpan absolute source span to move to\n */\nfunction moveParseSourceSpan(sourceSpan, absoluteSpan) {\n // The difference of two absolute offsets provide the relative offset\n const startDiff = absoluteSpan.start - sourceSpan.start.offset;\n const endDiff = absoluteSpan.end - sourceSpan.end.offset;\n return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_CONTENT_SELECT_ATTR = 'select';\nconst LINK_ELEMENT = 'link';\nconst LINK_STYLE_REL_ATTR = 'rel';\nconst LINK_STYLE_HREF_ATTR = 'href';\nconst LINK_STYLE_REL_VALUE = 'stylesheet';\nconst STYLE_ELEMENT = 'style';\nconst SCRIPT_ELEMENT = 'script';\nconst NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nconst NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n let selectAttr = null;\n let hrefAttr = null;\n let relAttr = null;\n let nonBindable = false;\n let projectAs = '';\n ast.attrs.forEach(attr => {\n const lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n const nodeName = ast.name.toLowerCase();\n let type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nclass PreparsedElement {\n constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n}\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nconst KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nconst KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nconst KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nconst KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nconst KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nconst KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nconst IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nconst IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nconst IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nconst IDENT_EVENT_IDX = 10;\nconst TEMPLATE_ATTR_PREFIX$1 = '*';\nconst CLASS_ATTR = 'class';\nlet _TEXT_CSS_SELECTOR;\nfunction TEXT_CSS_SELECTOR() {\n if (!_TEXT_CSS_SELECTOR) {\n _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n }\n return _TEXT_CSS_SELECTOR;\n}\nclass TemplateParseError extends ParseError {\n constructor(message, span, level) {\n super(span, message, level);\n }\n}\nclass TemplateParseResult {\n constructor(templateAst, usedPipes, errors) {\n this.templateAst = templateAst;\n this.usedPipes = usedPipes;\n this.errors = errors;\n }\n}\nclass TemplateParser {\n constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._config = _config;\n this._reflector = _reflector;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n get expressionParser() {\n return this._exprParser;\n }\n parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n var _a;\n const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);\n const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);\n const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);\n if (warnings.length > 0) {\n (_a = this._console) === null || _a === void 0 ? void 0 : _a.warn(`Template parse warnings:\\n${warnings.join('\\n')}`);\n }\n if (errors.length > 0) {\n const errorString = errors.join('\\n');\n throw syntaxError(`Template parse errors:\\n${errorString}`, errors);\n }\n return { template: result.templateAst, pipes: result.usedPipes };\n }\n tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n let htmlParseResult = typeof template === 'string' ?\n this._htmlParser.parse(template, templateUrl, {\n tokenizeExpansionForms: true,\n interpolationConfig: this.getInterpolationConfig(component)\n }) :\n template;\n if (!preserveWhitespaces) {\n htmlParseResult = removeWhitespaces(htmlParseResult);\n }\n return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);\n }\n tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {\n let result;\n const errors = htmlAstWithErrors.errors;\n const usedPipes = [];\n if (htmlAstWithErrors.rootNodes.length > 0) {\n const uniqDirectives = removeSummaryDuplicates(directives);\n const uniqPipes = removeSummaryDuplicates(pipes);\n const providerViewContext = new ProviderViewContext(this._reflector, component);\n let interpolationConfig = undefined;\n if (component.template && component.template.interpolation) {\n interpolationConfig = {\n start: component.template.interpolation[0],\n end: component.template.interpolation[1]\n };\n }\n const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push(...providerViewContext.errors);\n usedPipes.push(...bindingParser.getUsedPipes());\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, usedPipes, errors);\n }\n if (this.transforms) {\n this.transforms.forEach((transform) => {\n result = templateVisitAll(transform, result);\n });\n }\n return new TemplateParseResult(result, usedPipes, errors);\n }\n expandHtml(htmlAstWithErrors, forced = false) {\n const errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push(...expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n }\n getInterpolationConfig(component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n return undefined;\n }\n /** @internal */\n _assertNoReferenceDuplicationOnTemplate(result, errors) {\n const existingReferences = [];\n result.filter(element => !!element.references)\n .forEach(element => element.references.forEach((reference) => {\n const name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n const error = new TemplateParseError(`Reference \"#${name}\" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);\n errors.push(error);\n }\n }));\n }\n}\nclass TemplateParseVisitor {\n constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n this.reflector = reflector;\n this.config = config;\n this.providerViewContext = providerViewContext;\n this._bindingParser = _bindingParser;\n this._schemaRegistry = _schemaRegistry;\n this._schemas = _schemas;\n this._targetErrors = _targetErrors;\n this.selectorMatcher = new SelectorMatcher();\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;\n directives.forEach((directive, index) => {\n const selector = CssSelector.parse(directive.selector);\n this.selectorMatcher.addSelectables(selector, directive);\n this.directivesIndex.set(directive, index);\n });\n }\n visitExpansion(expansion, context) {\n return null;\n }\n visitExpansionCase(expansionCase, context) {\n return null;\n }\n visitText(text, parent) {\n const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());\n const valueNoNgsp = replaceNgsp(text.value);\n const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);\n return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :\n new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);\n }\n visitAttribute(attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n }\n visitComment(comment, context) {\n return null;\n }\n visitElement(element, parent) {\n const queryStartIndex = this.contentQueryStartId;\n const elName = element.name;\n const preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping