{ "version": 3, "sources": [ "node_modules/browser-pack/_prelude.js", "node_modules/@mapbox/polylabel/polylabel.js", "node_modules/@mapbox/unitbezier/index.js", "node_modules/base64-js/index.js", "node_modules/browser-resolve/empty.js", "node_modules/browser-split/index.js", "node_modules/browserify/node_modules/process/browser.js", "node_modules/buffer/index.js", "node_modules/earcut/src/earcut.js", "node_modules/ev-store/index.js", "node_modules/falcor-http-datasource/src/XMLHttpSource.js", "node_modules/falcor-http-datasource/src/buildQueryObject.js", "node_modules/falcor-http-datasource/src/getCORSRequest.js", "node_modules/falcor-http-datasource/src/getXMLHttpRequest.browser.js", "node_modules/falcor-http-datasource/src/request.js", "node_modules/falcor/dist/falcor.browser.min.js", "node_modules/global/document.js", "node_modules/ieee754/index.js", "node_modules/individual/index.js", "node_modules/individual/one-version.js", "node_modules/is-object/index.js", "node_modules/latlon-geohash/latlon-geohash.js", "node_modules/martinez-polygon-clipping/dist/martinez.umd.js", "node_modules/path-browserify/index.js", "node_modules/pbf/index.js", "node_modules/quickselect/quickselect.js", "node_modules/rbush/index.js", "node_modules/rxjs/index.js", "node_modules/rxjs/internal/AsyncSubject.js", "node_modules/rxjs/internal/BehaviorSubject.js", "node_modules/rxjs/internal/InnerSubscriber.js", "node_modules/rxjs/internal/Notification.js", "node_modules/rxjs/internal/Observable.js", "node_modules/rxjs/internal/Observer.js", "node_modules/rxjs/internal/OuterSubscriber.js", "node_modules/rxjs/internal/ReplaySubject.js", "node_modules/rxjs/internal/Scheduler.js", "node_modules/rxjs/internal/Subject.js", "node_modules/rxjs/internal/SubjectSubscription.js", "node_modules/rxjs/internal/Subscriber.js", "node_modules/rxjs/internal/Subscription.js", "node_modules/rxjs/internal/config.js", "node_modules/rxjs/internal/observable/ConnectableObservable.js", "node_modules/rxjs/internal/observable/SubscribeOnObservable.js", "node_modules/rxjs/internal/observable/bindCallback.js", "node_modules/rxjs/internal/observable/bindNodeCallback.js", "node_modules/rxjs/internal/observable/combineLatest.js", "node_modules/rxjs/internal/observable/concat.js", "node_modules/rxjs/internal/observable/defer.js", "node_modules/rxjs/internal/observable/empty.js", "node_modules/rxjs/internal/observable/forkJoin.js", "node_modules/rxjs/internal/observable/from.js", "node_modules/rxjs/internal/observable/fromArray.js", "node_modules/rxjs/internal/observable/fromEvent.js", "node_modules/rxjs/internal/observable/fromEventPattern.js", "node_modules/rxjs/internal/observable/fromIterable.js", "node_modules/rxjs/internal/observable/fromObservable.js", "node_modules/rxjs/internal/observable/fromPromise.js", "node_modules/rxjs/internal/observable/generate.js", "node_modules/rxjs/internal/observable/iif.js", "node_modules/rxjs/internal/observable/interval.js", "node_modules/rxjs/internal/observable/merge.js", "node_modules/rxjs/internal/observable/never.js", "node_modules/rxjs/internal/observable/of.js", "node_modules/rxjs/internal/observable/onErrorResumeNext.js", "node_modules/rxjs/internal/observable/pairs.js", "node_modules/rxjs/internal/observable/race.js", "node_modules/rxjs/internal/observable/range.js", "node_modules/rxjs/internal/observable/scalar.js", "node_modules/rxjs/internal/observable/throwError.js", "node_modules/rxjs/internal/observable/timer.js", "node_modules/rxjs/internal/observable/using.js", "node_modules/rxjs/internal/observable/zip.js", "node_modules/rxjs/internal/operators/audit.js", "node_modules/rxjs/internal/operators/auditTime.js", "node_modules/rxjs/internal/operators/buffer.js", "node_modules/rxjs/internal/operators/bufferCount.js", "node_modules/rxjs/internal/operators/bufferTime.js", "node_modules/rxjs/internal/operators/bufferToggle.js", "node_modules/rxjs/internal/operators/bufferWhen.js", "node_modules/rxjs/internal/operators/catchError.js", "node_modules/rxjs/internal/operators/combineAll.js", "node_modules/rxjs/internal/operators/combineLatest.js", "node_modules/rxjs/internal/operators/concat.js", "node_modules/rxjs/internal/operators/concatAll.js", "node_modules/rxjs/internal/operators/concatMap.js", "node_modules/rxjs/internal/operators/concatMapTo.js", "node_modules/rxjs/internal/operators/count.js", "node_modules/rxjs/internal/operators/debounce.js", "node_modules/rxjs/internal/operators/debounceTime.js", "node_modules/rxjs/internal/operators/defaultIfEmpty.js", "node_modules/rxjs/internal/operators/delay.js", "node_modules/rxjs/internal/operators/delayWhen.js", "node_modules/rxjs/internal/operators/dematerialize.js", "node_modules/rxjs/internal/operators/distinct.js", "node_modules/rxjs/internal/operators/distinctUntilChanged.js", "node_modules/rxjs/internal/operators/distinctUntilKeyChanged.js", "node_modules/rxjs/internal/operators/elementAt.js", "node_modules/rxjs/internal/operators/endWith.js", "node_modules/rxjs/internal/operators/every.js", "node_modules/rxjs/internal/operators/exhaust.js", "node_modules/rxjs/internal/operators/exhaustMap.js", "node_modules/rxjs/internal/operators/expand.js", "node_modules/rxjs/internal/operators/filter.js", "node_modules/rxjs/internal/operators/finalize.js", "node_modules/rxjs/internal/operators/find.js", "node_modules/rxjs/internal/operators/findIndex.js", "node_modules/rxjs/internal/operators/first.js", "node_modules/rxjs/internal/operators/groupBy.js", "node_modules/rxjs/internal/operators/ignoreElements.js", "node_modules/rxjs/internal/operators/isEmpty.js", "node_modules/rxjs/internal/operators/last.js", "node_modules/rxjs/internal/operators/map.js", "node_modules/rxjs/internal/operators/mapTo.js", "node_modules/rxjs/internal/operators/materialize.js", "node_modules/rxjs/internal/operators/max.js", "node_modules/rxjs/internal/operators/merge.js", "node_modules/rxjs/internal/operators/mergeAll.js", "node_modules/rxjs/internal/operators/mergeMap.js", "node_modules/rxjs/internal/operators/mergeMapTo.js", "node_modules/rxjs/internal/operators/mergeScan.js", "node_modules/rxjs/internal/operators/min.js", "node_modules/rxjs/internal/operators/multicast.js", "node_modules/rxjs/internal/operators/observeOn.js", "node_modules/rxjs/internal/operators/onErrorResumeNext.js", "node_modules/rxjs/internal/operators/pairwise.js", "node_modules/rxjs/internal/operators/partition.js", "node_modules/rxjs/internal/operators/pluck.js", "node_modules/rxjs/internal/operators/publish.js", "node_modules/rxjs/internal/operators/publishBehavior.js", "node_modules/rxjs/internal/operators/publishLast.js", "node_modules/rxjs/internal/operators/publishReplay.js", "node_modules/rxjs/internal/operators/race.js", "node_modules/rxjs/internal/operators/reduce.js", "node_modules/rxjs/internal/operators/refCount.js", "node_modules/rxjs/internal/operators/repeat.js", "node_modules/rxjs/internal/operators/repeatWhen.js", "node_modules/rxjs/internal/operators/retry.js", "node_modules/rxjs/internal/operators/retryWhen.js", "node_modules/rxjs/internal/operators/sample.js", "node_modules/rxjs/internal/operators/sampleTime.js", "node_modules/rxjs/internal/operators/scan.js", "node_modules/rxjs/internal/operators/sequenceEqual.js", "node_modules/rxjs/internal/operators/share.js", "node_modules/rxjs/internal/operators/shareReplay.js", "node_modules/rxjs/internal/operators/single.js", "node_modules/rxjs/internal/operators/skip.js", "node_modules/rxjs/internal/operators/skipLast.js", "node_modules/rxjs/internal/operators/skipUntil.js", "node_modules/rxjs/internal/operators/skipWhile.js", "node_modules/rxjs/internal/operators/startWith.js", "node_modules/rxjs/internal/operators/subscribeOn.js", "node_modules/rxjs/internal/operators/switchAll.js", "node_modules/rxjs/internal/operators/switchMap.js", "node_modules/rxjs/internal/operators/switchMapTo.js", "node_modules/rxjs/internal/operators/take.js", "node_modules/rxjs/internal/operators/takeLast.js", "node_modules/rxjs/internal/operators/takeUntil.js", "node_modules/rxjs/internal/operators/takeWhile.js", "node_modules/rxjs/internal/operators/tap.js", "node_modules/rxjs/internal/operators/throttle.js", "node_modules/rxjs/internal/operators/throttleTime.js", "node_modules/rxjs/internal/operators/throwIfEmpty.js", "node_modules/rxjs/internal/operators/timeInterval.js", "node_modules/rxjs/internal/operators/timeout.js", "node_modules/rxjs/internal/operators/timeoutWith.js", "node_modules/rxjs/internal/operators/timestamp.js", "node_modules/rxjs/internal/operators/toArray.js", "node_modules/rxjs/internal/operators/window.js", "node_modules/rxjs/internal/operators/windowCount.js", "node_modules/rxjs/internal/operators/windowTime.js", "node_modules/rxjs/internal/operators/windowToggle.js", "node_modules/rxjs/internal/operators/windowWhen.js", "node_modules/rxjs/internal/operators/withLatestFrom.js", "node_modules/rxjs/internal/operators/zip.js", "node_modules/rxjs/internal/operators/zipAll.js", "node_modules/rxjs/internal/scheduler/Action.js", "node_modules/rxjs/internal/scheduler/AnimationFrameAction.js", "node_modules/rxjs/internal/scheduler/AnimationFrameScheduler.js", "node_modules/rxjs/internal/scheduler/AsapAction.js", "node_modules/rxjs/internal/scheduler/AsapScheduler.js", "node_modules/rxjs/internal/scheduler/AsyncAction.js", "node_modules/rxjs/internal/scheduler/AsyncScheduler.js", "node_modules/rxjs/internal/scheduler/QueueAction.js", "node_modules/rxjs/internal/scheduler/QueueScheduler.js", "node_modules/rxjs/internal/scheduler/VirtualTimeScheduler.js", "node_modules/rxjs/internal/scheduler/animationFrame.js", "node_modules/rxjs/internal/scheduler/asap.js", "node_modules/rxjs/internal/scheduler/async.js", "node_modules/rxjs/internal/scheduler/queue.js", "node_modules/rxjs/internal/symbol/iterator.js", "node_modules/rxjs/internal/symbol/observable.js", "node_modules/rxjs/internal/symbol/rxSubscriber.js", "node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js", "node_modules/rxjs/internal/util/EmptyError.js", "node_modules/rxjs/internal/util/Immediate.js", "node_modules/rxjs/internal/util/ObjectUnsubscribedError.js", "node_modules/rxjs/internal/util/TimeoutError.js", "node_modules/rxjs/internal/util/UnsubscriptionError.js", "node_modules/rxjs/internal/util/canReportError.js", "node_modules/rxjs/internal/util/errorObject.js", "node_modules/rxjs/internal/util/hostReportError.js", "node_modules/rxjs/internal/util/identity.js", "node_modules/rxjs/internal/util/isArray.js", "node_modules/rxjs/internal/util/isArrayLike.js", "node_modules/rxjs/internal/util/isDate.js", "node_modules/rxjs/internal/util/isFunction.js", "node_modules/rxjs/internal/util/isInteropObservable.js", "node_modules/rxjs/internal/util/isIterable.js", "node_modules/rxjs/internal/util/isNumeric.js", "node_modules/rxjs/internal/util/isObject.js", "node_modules/rxjs/internal/util/isObservable.js", "node_modules/rxjs/internal/util/isPromise.js", "node_modules/rxjs/internal/util/isScheduler.js", "node_modules/rxjs/internal/util/noop.js", "node_modules/rxjs/internal/util/not.js", "node_modules/rxjs/internal/util/pipe.js", "node_modules/rxjs/internal/util/subscribeTo.js", "node_modules/rxjs/internal/util/subscribeToArray.js", "node_modules/rxjs/internal/util/subscribeToIterable.js", "node_modules/rxjs/internal/util/subscribeToObservable.js", "node_modules/rxjs/internal/util/subscribeToPromise.js", "node_modules/rxjs/internal/util/subscribeToResult.js", "node_modules/rxjs/internal/util/toSubscriber.js", "node_modules/rxjs/internal/util/tryCatch.js", "node_modules/rxjs/operators/index.js", "node_modules/three/build/three.min.js", "node_modules/tinyqueue/index.js", "node_modules/virtual-dom/create-element.js", "node_modules/virtual-dom/diff.js", "node_modules/virtual-dom/h.js", "node_modules/virtual-dom/index.js", "node_modules/virtual-dom/patch.js", "node_modules/virtual-dom/vdom/apply-properties.js", "node_modules/virtual-dom/vdom/create-element.js", "node_modules/virtual-dom/vdom/dom-index.js", "node_modules/virtual-dom/vdom/patch-op.js", "node_modules/virtual-dom/vdom/patch.js", "node_modules/virtual-dom/vdom/update-widget.js", "node_modules/virtual-dom/virtual-hyperscript/hooks/ev-hook.js", "node_modules/virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js", "node_modules/virtual-dom/virtual-hyperscript/index.js", "node_modules/virtual-dom/virtual-hyperscript/parse-tag.js", "node_modules/virtual-dom/vnode/handle-thunk.js", "node_modules/virtual-dom/vnode/is-thunk.js", "node_modules/virtual-dom/vnode/is-vhook.js", "node_modules/virtual-dom/vnode/is-vnode.js", "node_modules/virtual-dom/vnode/is-vtext.js", "node_modules/virtual-dom/vnode/is-widget.js", "node_modules/virtual-dom/vnode/version.js", "node_modules/virtual-dom/vnode/vnode.js", "node_modules/virtual-dom/vnode/vpatch.js", "node_modules/virtual-dom/vnode/vtext.js", "node_modules/virtual-dom/vtree/diff-props.js", "node_modules/virtual-dom/vtree/diff.js", "node_modules/when/lib/Promise.js", "node_modules/when/lib/Scheduler.js", "node_modules/when/lib/TimeoutError.js", "node_modules/when/lib/apply.js", "node_modules/when/lib/decorators/array.js", "node_modules/when/lib/decorators/flow.js", "node_modules/when/lib/decorators/fold.js", "node_modules/when/lib/decorators/inspect.js", "node_modules/when/lib/decorators/iterate.js", "node_modules/when/lib/decorators/progress.js", "node_modules/when/lib/decorators/timed.js", "node_modules/when/lib/decorators/unhandledRejection.js", "node_modules/when/lib/decorators/with.js", "node_modules/when/lib/env.js", "node_modules/when/lib/format.js", "node_modules/when/lib/makePromise.js", "node_modules/when/lib/state.js", "node_modules/when/when.js", "node_modules/x-is-array/index.js", "src/API.ts", "src/Component.ts", "src/Edge.ts", "src/Error.ts", "src/Geo.ts", "src/Graph.ts", "src/Mapillary.ts", "src/Render.ts", "src/State.ts", "src/Support.ts", "src/Tiles.ts", "src/Utils.ts", "src/Viewer.ts", "src/api/APIv3.ts", "src/api/ModelCreator.ts", "src/component/AttributionComponent.ts", "src/component/BackgroundComponent.ts", "src/component/BearingComponent.ts", "src/component/CacheComponent.ts", "src/component/Component.ts", "src/component/ComponentService.ts", "src/component/CoverComponent.ts", "src/component/DebugComponent.ts", "src/component/ImageComponent.ts", "src/component/LoadingComponent.ts", "src/component/NavigationComponent.ts", "src/component/RouteComponent.ts", "src/component/StatsComponent.ts", "src/component/direction/DirectionComponent.ts", "src/component/direction/DirectionDOMCalculator.ts", "src/component/direction/DirectionDOMRenderer.ts", "src/component/imageplane/ImagePlaneComponent.ts", "src/component/imageplane/ImagePlaneGLRenderer.ts", "src/component/interfaces/ICoverConfiguration.ts", "src/component/interfaces/ISliderConfiguration.ts", "src/component/interfaces/interfaces.ts", "src/component/keyboard/KeyPlayHandler.ts", "src/component/keyboard/KeySequenceNavigationHandler.ts", "src/component/keyboard/KeySpatialNavigationHandler.ts", "src/component/keyboard/KeyZoomHandler.ts", "src/component/keyboard/KeyboardComponent.ts", "src/component/marker/Marker.ts", "src/component/marker/MarkerComponent.ts", "src/component/marker/MarkerScene.ts", "src/component/marker/MarkerSet.ts", "src/component/marker/marker/CircleMarker.ts", "src/component/marker/marker/Marker.ts", "src/component/marker/marker/SimpleMarker.ts", "src/component/mouse/BounceHandler.ts", "src/component/mouse/DoubleClickZoomHandler.ts", "src/component/mouse/DragPanHandler.ts", "src/component/mouse/EarthControlHandler.ts", "src/component/mouse/ImageBoundary.ts", "src/component/mouse/MouseComponent.ts", "src/component/mouse/ScrollZoomHandler.ts", "src/component/mouse/TouchZoomHandler.ts", "src/component/popup/Popup.ts", "src/component/popup/PopupComponent.ts", "src/component/popup/popup/Popup.ts", "src/component/sequence/SequenceComponent.ts", "src/component/sequence/SequenceDOMRenderer.ts", "src/component/sequence/SequenceMode.ts", "src/component/shaders/Shaders.ts", "src/component/slider/SliderComponent.ts", "src/component/slider/SliderDOMRenderer.ts", "src/component/slider/SliderGLRenderer.ts", "src/component/spatialdata/SpatialDataCache.ts", "src/component/spatialdata/SpatialDataComponent.ts", "src/component/spatialdata/SpatialDataScene.ts", "src/component/tag/Tag.ts", "src/component/tag/TagComponent.ts", "src/component/tag/TagCreator.ts", "src/component/tag/TagDOMRenderer.ts", "src/component/tag/TagMode.ts", "src/component/tag/TagOperation.ts", "src/component/tag/TagScene.ts", "src/component/tag/TagSet.ts", "src/component/tag/error/GeometryTagError.ts", "src/component/tag/geometry/Geometry.ts", "src/component/tag/geometry/PointGeometry.ts", "src/component/tag/geometry/PolygonGeometry.ts", "src/component/tag/geometry/RectGeometry.ts", "src/component/tag/geometry/VertexGeometry.ts", "src/component/tag/handlers/CreateHandlerBase.ts", "src/component/tag/handlers/CreatePointHandler.ts", "src/component/tag/handlers/CreatePolygonHandler.ts", "src/component/tag/handlers/CreateRectDragHandler.ts", "src/component/tag/handlers/CreateRectHandler.ts", "src/component/tag/handlers/CreateVertexHandler.ts", "src/component/tag/handlers/EditVertexHandler.ts", "src/component/tag/handlers/TagHandlerBase.ts", "src/component/tag/tag/OutlineCreateTag.ts", "src/component/tag/tag/OutlineRenderTag.ts", "src/component/tag/tag/OutlineTag.ts", "src/component/tag/tag/RenderTag.ts", "src/component/tag/tag/SpotRenderTag.ts", "src/component/tag/tag/SpotTag.ts", "src/component/tag/tag/Tag.ts", "src/component/tag/tag/TagDomain.ts", "src/component/utils/ComponentSize.ts", "src/component/utils/HandlerBase.ts", "src/component/utils/MeshFactory.ts", "src/component/utils/MeshScene.ts", "src/component/utils/MouseOperator.ts", "src/component/zoom/ZoomComponent.ts", "src/error/AbortMapillaryError.ts", "src/error/ArgumentMapillaryError.ts", "src/error/GraphMapillaryError.ts", "src/error/MapillaryError.ts", "src/geo/Camera.ts", "src/geo/Geo.ts", "src/geo/GeoCoords.ts", "src/geo/Lines.ts", "src/geo/Spatial.ts", "src/geo/Transform.ts", "src/geo/ViewportCoords.ts", "src/graph/FilterCreator.ts", "src/graph/Graph.ts", "src/graph/GraphCalculator.ts", "src/graph/GraphMode.ts", "src/graph/GraphService.ts", "src/graph/ImageLoadingService.ts", "src/graph/MeshReader.ts", "src/graph/Node.ts", "src/graph/NodeCache.ts", "src/graph/Sequence.ts", "src/graph/edge/EdgeCalculator.ts", "src/graph/edge/EdgeCalculatorCoefficients.ts", "src/graph/edge/EdgeCalculatorDirections.ts", "src/graph/edge/EdgeCalculatorSettings.ts", "src/graph/edge/EdgeDirection.ts", "src/render/DOMRenderer.ts", "src/render/GLRenderStage.ts", "src/render/GLRenderer.ts", "src/render/RenderCamera.ts", "src/render/RenderMode.ts", "src/render/RenderService.ts", "src/state/FrameGenerator.ts", "src/state/RotationDelta.ts", "src/state/State.ts", "src/state/StateContext.ts", "src/state/StateService.ts", "src/state/TransitionMode.ts", "src/state/states/EarthState.ts", "src/state/states/InteractiveStateBase.ts", "src/state/states/InteractiveWaitingState.ts", "src/state/states/StateBase.ts", "src/state/states/TraversingState.ts", "src/state/states/WaitingState.ts", "src/tiles/ImageTileLoader.ts", "src/tiles/ImageTileStore.ts", "src/tiles/RegionOfInterestCalculator.ts", "src/tiles/TextureProvider.ts", "src/utils/DOM.ts", "src/utils/EventEmitter.ts", "src/utils/Settings.ts", "src/utils/Support.ts", "src/utils/Urls.ts", "src/viewer/Alignment.ts", "src/viewer/CacheService.ts", "src/viewer/ComponentController.ts", "src/viewer/Container.ts", "src/viewer/ImageSize.ts", "src/viewer/KeyboardService.ts", "src/viewer/LoadingService.ts", "src/viewer/MouseService.ts", "src/viewer/Navigator.ts", "src/viewer/Observer.ts", "src/viewer/PanService.ts", "src/viewer/PlayService.ts", "src/viewer/Projection.ts", "src/viewer/SpriteService.ts", "src/viewer/TouchService.ts", "src/viewer/Viewer.ts" ], "names": [], "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1oBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7NA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACljBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/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;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5GA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACr7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxCA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC37BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACRA,qCAAkC;AAA1B,wBAAA,KAAK,CAAA;AACb,mDAAgD;AAAxC,sCAAA,YAAY,CAAA;;;;;;;;ACDpB,mDAAgD;AAAxC,gCAAA,SAAS,CAAA;AACjB,iEAA8D;AAAtD,8CAAA,gBAAgB,CAAA;AACxB,6DAA0D;AAAlD,oCAAA,WAAW,CAAA;AACnB,6DAA0D;AAAlD,oCAAA,WAAW,CAAA;AACnB,yDAAsD;AAA9C,gCAAA,SAAS,CAAA;AACjB,iEAA8D;AAAtD,wCAAA,aAAa,CAAA;AACrB,iEAA8D;AAAtD,wCAAA,aAAa,CAAA;AACrB,yEAAsE;AAA9D,sDAAA,oBAAoB,CAAA;AAC5B,uEAAoE;AAA5D,oDAAA,mBAAmB,CAAA;AAC3B,iEAA8D;AAAtD,8CAAA,gBAAgB,CAAA;AACxB,6DAA0D;A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", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o maxX) maxX = p[0];\n if (!i || p[1] > maxY) maxY = p[1];\n }\n\n var width = maxX - minX;\n var height = maxY - minY;\n var cellSize = Math.min(width, height);\n var h = cellSize / 2;\n\n // a priority queue of cells in order of their \"potential\" (max distance to polygon)\n var cellQueue = new Queue(null, compareMax);\n\n if (cellSize === 0) return [minX, minY];\n\n // cover polygon with initial cells\n for (var x = minX; x < maxX; x += cellSize) {\n for (var y = minY; y < maxY; y += cellSize) {\n cellQueue.push(new Cell(x + h, y + h, h, polygon));\n }\n }\n\n // take centroid as the first best guess\n var bestCell = getCentroidCell(polygon);\n\n // special case for rectangular polygons\n var bboxCell = new Cell(minX + width / 2, minY + height / 2, 0, polygon);\n if (bboxCell.d > bestCell.d) bestCell = bboxCell;\n\n var numProbes = cellQueue.length;\n\n while (cellQueue.length) {\n // pick the most promising cell from the queue\n var cell = cellQueue.pop();\n\n // update the best cell if we found a better one\n if (cell.d > bestCell.d) {\n bestCell = cell;\n if (debug) console.log('found best %d after %d probes', Math.round(1e4 * cell.d) / 1e4, numProbes);\n }\n\n // do not drill down further if there's no chance of a better solution\n if (cell.max - bestCell.d <= precision) continue;\n\n // split the cell into four cells\n h = cell.h / 2;\n cellQueue.push(new Cell(cell.x - h, cell.y - h, h, polygon));\n cellQueue.push(new Cell(cell.x + h, cell.y - h, h, polygon));\n cellQueue.push(new Cell(cell.x - h, cell.y + h, h, polygon));\n cellQueue.push(new Cell(cell.x + h, cell.y + h, h, polygon));\n numProbes += 4;\n }\n\n if (debug) {\n console.log('num probes: ' + numProbes);\n console.log('best distance: ' + bestCell.d);\n }\n\n return [bestCell.x, bestCell.y];\n}\n\nfunction compareMax(a, b) {\n return b.max - a.max;\n}\n\nfunction Cell(x, y, h, polygon) {\n this.x = x; // cell center x\n this.y = y; // cell center y\n this.h = h; // half the cell size\n this.d = pointToPolygonDist(x, y, polygon); // distance from cell center to polygon\n this.max = this.d + this.h * Math.SQRT2; // max distance to polygon within a cell\n}\n\n// signed distance from point to polygon outline (negative if point is outside)\nfunction pointToPolygonDist(x, y, polygon) {\n var inside = false;\n var minDistSq = Infinity;\n\n for (var k = 0; k < polygon.length; k++) {\n var ring = polygon[k];\n\n for (var i = 0, len = ring.length, j = len - 1; i < len; j = i++) {\n var a = ring[i];\n var b = ring[j];\n\n if ((a[1] > y !== b[1] > y) &&\n (x < (b[0] - a[0]) * (y - a[1]) / (b[1] - a[1]) + a[0])) inside = !inside;\n\n minDistSq = Math.min(minDistSq, getSegDistSq(x, y, a, b));\n }\n }\n\n return (inside ? 1 : -1) * Math.sqrt(minDistSq);\n}\n\n// get polygon centroid\nfunction getCentroidCell(polygon) {\n var area = 0;\n var x = 0;\n var y = 0;\n var points = polygon[0];\n\n for (var i = 0, len = points.length, j = len - 1; i < len; j = i++) {\n var a = points[i];\n var b = points[j];\n var f = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * f;\n y += (a[1] + b[1]) * f;\n area += f * 3;\n }\n if (area === 0) return new Cell(points[0][0], points[0][1], 0, polygon);\n return new Cell(x / area, y / area, 0, polygon);\n}\n\n// get squared distance from a point to a segment\nfunction getSegDistSq(px, py, a, b) {\n\n var x = a[0];\n var y = a[1];\n var dx = b[0] - x;\n var dy = b[1] - y;\n\n if (dx !== 0 || dy !== 0) {\n\n var t = ((px - x) * dx + (py - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = b[0];\n y = b[1];\n\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = px - x;\n dy = py - y;\n\n return dx * dx + dy * dy;\n}\n", "/*\n * Copyright (C) 2008 Apple Inc. All Rights Reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * Ported from Webkit\n * http://svn.webkit.org/repository/webkit/trunk/Source/WebCore/platform/graphics/UnitBezier.h\n */\n\nmodule.exports = UnitBezier;\n\nfunction UnitBezier(p1x, p1y, p2x, p2y) {\n // Calculate the polynomial coefficients, implicit first and last control points are (0,0) and (1,1).\n this.cx = 3.0 * p1x;\n this.bx = 3.0 * (p2x - p1x) - this.cx;\n this.ax = 1.0 - this.cx - this.bx;\n\n this.cy = 3.0 * p1y;\n this.by = 3.0 * (p2y - p1y) - this.cy;\n this.ay = 1.0 - this.cy - this.by;\n\n this.p1x = p1x;\n this.p1y = p2y;\n this.p2x = p2x;\n this.p2y = p2y;\n}\n\nUnitBezier.prototype.sampleCurveX = function(t) {\n // `ax t^3 + bx t^2 + cx t' expanded using Horner's rule.\n return ((this.ax * t + this.bx) * t + this.cx) * t;\n};\n\nUnitBezier.prototype.sampleCurveY = function(t) {\n return ((this.ay * t + this.by) * t + this.cy) * t;\n};\n\nUnitBezier.prototype.sampleCurveDerivativeX = function(t) {\n return (3.0 * this.ax * t + 2.0 * this.bx) * t + this.cx;\n};\n\nUnitBezier.prototype.solveCurveX = function(x, epsilon) {\n if (typeof epsilon === 'undefined') epsilon = 1e-6;\n\n var t0, t1, t2, x2, i;\n\n // First try a few iterations of Newton's method -- normally very fast.\n for (t2 = x, i = 0; i < 8; i++) {\n\n x2 = this.sampleCurveX(t2) - x;\n if (Math.abs(x2) < epsilon) return t2;\n\n var d2 = this.sampleCurveDerivativeX(t2);\n if (Math.abs(d2) < 1e-6) break;\n\n t2 = t2 - x2 / d2;\n }\n\n // Fall back to the bisection method for reliability.\n t0 = 0.0;\n t1 = 1.0;\n t2 = x;\n\n if (t2 < t0) return t0;\n if (t2 > t1) return t1;\n\n while (t0 < t1) {\n\n x2 = this.sampleCurveX(t2);\n if (Math.abs(x2 - x) < epsilon) return t2;\n\n if (x > x2) {\n t0 = t2;\n } else {\n t1 = t2;\n }\n\n t2 = (t1 - t0) * 0.5 + t0;\n }\n\n // Failure.\n return t2;\n};\n\nUnitBezier.prototype.solve = function(x, epsilon) {\n return this.sampleCurveY(this.solveCurveX(x, epsilon));\n};\n", "'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n", "", "/*!\n * Cross-Browser Split 1.1.1\n * Copyright 2007-2012 Steven Levithan \n * Available under the MIT License\n * ECMAScript compliant, uniform cross-browser split method\n */\n\n/**\n * Splits a string into an array of strings using a regex or string separator. Matches of the\n * separator are not included in the result array. However, if `separator` is a regex that contains\n * capturing groups, backreferences are spliced into the result each time `separator` is matched.\n * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably\n * cross-browser.\n * @param {String} str String to split.\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n * @example\n *\n * // Basic use\n * split('a b c d', ' ');\n * // -> ['a', 'b', 'c', 'd']\n *\n * // With limit\n * split('a b c d', ' ', 2);\n * // -> ['a', 'b']\n *\n * // Backreferences in result array\n * split('..word1 word2..', /([a-z]+)(\\d+)/i);\n * // -> ['..', 'word', '1', ' ', 'word', '2', '..']\n */\nmodule.exports = (function split(undef) {\n\n var nativeSplit = String.prototype.split,\n compliantExecNpcg = /()??/.exec(\"\")[1] === undef,\n // NPCG: nonparticipating capturing group\n self;\n\n self = function(str, separator, limit) {\n // If `separator` is not a regex, use `nativeSplit`\n if (Object.prototype.toString.call(separator) !== \"[object RegExp]\") {\n return nativeSplit.call(str, separator, limit);\n }\n var output = [],\n flags = (separator.ignoreCase ? \"i\" : \"\") + (separator.multiline ? \"m\" : \"\") + (separator.extended ? \"x\" : \"\") + // Proposed for ES6\n (separator.sticky ? \"y\" : \"\"),\n // Firefox 3+\n lastLastIndex = 0,\n // Make `global` and avoid `lastIndex` issues by working with a copy\n separator = new RegExp(separator.source, flags + \"g\"),\n separator2, match, lastIndex, lastLength;\n str += \"\"; // Type-convert\n if (!compliantExecNpcg) {\n // Doesn't need flags gy, but they don't hurt\n separator2 = new RegExp(\"^\" + separator.source + \"$(?!\\\\s)\", flags);\n }\n /* Values for `limit`, per the spec:\n * If undefined: 4294967295 // Math.pow(2, 32) - 1\n * If 0, Infinity, or NaN: 0\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\n * If other: Type-convert, then use the above rules\n */\n limit = limit === undef ? -1 >>> 0 : // Math.pow(2, 32) - 1\n limit >>> 0; // ToUint32(limit)\n while (match = separator.exec(str)) {\n // `separator.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0].length;\n if (lastIndex > lastLastIndex) {\n output.push(str.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\n // nonparticipating capturing groups\n if (!compliantExecNpcg && match.length > 1) {\n match[0].replace(separator2, function() {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undef) {\n match[i] = undef;\n }\n }\n });\n }\n if (match.length > 1 && match.index < str.length) {\n Array.prototype.push.apply(output, match.slice(1));\n }\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= limit) {\n break;\n }\n }\n if (separator.lastIndex === match.index) {\n separator.lastIndex++; // Avoid an infinite loop\n }\n }\n if (lastLastIndex === str.length) {\n if (lastLength || !separator.test(\"\")) {\n output.push(\"\");\n }\n } else {\n output.push(str.slice(lastLastIndex));\n }\n return output.length > limit ? output.slice(0, limit) : output;\n };\n\n return self;\n})();\n", "// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n", "/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('Invalid typed array length')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\n// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\nif (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n })\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (isArrayBuffer(value)) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n return fromObject(value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nBuffer.prototype.__proto__ = Uint8Array.prototype\nBuffer.__proto__ = Uint8Array\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj) {\n if (isArrayBufferView(obj) || 'length' in obj) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (isArrayBufferView(string) || isArrayBuffer(string)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : new Buffer(val, encoding)\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffers from another context (i.e. an iframe) do not pass the `instanceof` check\n// but they should be treated as valid. See: https://github.com/feross/buffer/issues/166\nfunction isArrayBuffer (obj) {\n return obj instanceof ArrayBuffer ||\n (obj != null && obj.constructor != null && obj.constructor.name === 'ArrayBuffer' &&\n typeof obj.byteLength === 'number')\n}\n\n// Node 0.10 supports `ArrayBuffer` but lacks `ArrayBuffer.isView`\nfunction isArrayBufferView (obj) {\n return (typeof ArrayBuffer.isView === 'function') && ArrayBuffer.isView(obj)\n}\n\nfunction numberIsNaN (obj) {\n return obj !== obj // eslint-disable-line no-self-compare\n}\n", "'use strict';\n\nmodule.exports = earcut;\nmodule.exports.default = earcut;\n\nfunction earcut(data, holeIndices, dim) {\n\n dim = dim || 2;\n\n var hasHoles = holeIndices && holeIndices.length,\n outerLen = hasHoles ? holeIndices[0] * dim : data.length,\n outerNode = linkedList(data, 0, outerLen, dim, true),\n triangles = [];\n\n if (!outerNode) return triangles;\n\n var minX, minY, maxX, maxY, x, y, invSize;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = maxX = data[0];\n minY = maxY = data[1];\n\n for (var i = dim; i < outerLen; i += dim) {\n x = data[i];\n y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and invSize are later used to transform coords into integers for z-order calculation\n invSize = Math.max(maxX - minX, maxY - minY);\n invSize = invSize !== 0 ? 1 / invSize : 0;\n }\n\n earcutLinked(outerNode, triangles, dim, minX, minY, invSize);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\nfunction linkedList(data, start, end, dim, clockwise) {\n var i, last;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);\n } else {\n for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// eliminate colinear or duplicate points\nfunction filterPoints(start, end) {\n if (!start) return start;\n if (!end) end = start;\n\n var p = start,\n again;\n do {\n again = false;\n\n if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n removeNode(p);\n p = end = p.prev;\n if (p === p.next) break;\n again = true;\n\n } else {\n p = p.next;\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\nfunction earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {\n if (!ear) return;\n\n // interlink polygon nodes in z-order\n if (!pass && invSize) indexCurve(ear, minX, minY, invSize);\n\n var stop = ear,\n prev, next;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n prev = ear.prev;\n next = ear.next;\n\n if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {\n // cut off the triangle\n triangles.push(prev.i / dim);\n triangles.push(ear.i / dim);\n triangles.push(next.i / dim);\n\n removeNode(ear);\n\n // skipping the next vertice leads to less sliver triangles\n ear = next.next;\n stop = next.next;\n\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering points and slicing again\n if (!pass) {\n earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);\n\n // if this didn't work, try curing all small self-intersections locally\n } else if (pass === 1) {\n ear = cureLocalIntersections(ear, triangles, dim);\n earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);\n\n // as a last resort, try splitting the remaining polygon into two\n } else if (pass === 2) {\n splitEarcut(ear, triangles, dim, minX, minY, invSize);\n }\n\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\nfunction isEar(ear) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // now make sure we don't have other points inside the potential ear\n var p = ear.next.next;\n\n while (p !== ear.prev) {\n if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n\n return true;\n}\n\nfunction isEarHashed(ear, minX, minY, invSize) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // triangle bbox; min & max are calculated like this for speed\n var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),\n minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),\n maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),\n maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);\n\n // z-order range for the current triangle bbox;\n var minZ = zOrder(minTX, minTY, minX, minY, invSize),\n maxZ = zOrder(maxTX, maxTY, minX, minY, invSize);\n\n var p = ear.prevZ,\n n = ear.nextZ;\n\n // look for points inside the triangle in both directions\n while (p && p.z >= minZ && n && n.z <= maxZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n // look for remaining points in decreasing z-order\n while (p && p.z >= minZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n\n // look for remaining points in increasing z-order\n while (n && n.z <= maxZ) {\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\nfunction cureLocalIntersections(start, triangles, dim) {\n var p = start;\n do {\n var a = p.prev,\n b = p.next.next;\n\n if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i / dim);\n triangles.push(p.i / dim);\n triangles.push(b.i / dim);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n }\n p = p.next;\n } while (p !== start);\n\n return p;\n}\n\n// try splitting polygon into two and triangulate them independently\nfunction splitEarcut(start, triangles, dim, minX, minY, invSize) {\n // look for a valid diagonal that divides the polygon into two\n var a = start;\n do {\n var b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n var c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, dim, minX, minY, invSize);\n earcutLinked(c, triangles, dim, minX, minY, invSize);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n var queue = [],\n i, len, start, end, list;\n\n for (i = 0, len = holeIndices.length; i < len; i++) {\n start = holeIndices[i] * dim;\n end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n list = linkedList(data, start, end, dim, false);\n if (list === list.next) list.steiner = true;\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareX);\n\n // process holes from left to right\n for (i = 0; i < queue.length; i++) {\n eliminateHole(queue[i], outerNode);\n outerNode = filterPoints(outerNode, outerNode.next);\n }\n\n return outerNode;\n}\n\nfunction compareX(a, b) {\n return a.x - b.x;\n}\n\n// find a bridge between vertices that connects hole with an outer ring and and link it\nfunction eliminateHole(hole, outerNode) {\n outerNode = findHoleBridge(hole, outerNode);\n if (outerNode) {\n var b = splitPolygon(outerNode, hole);\n filterPoints(b, b.next);\n }\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\nfunction findHoleBridge(hole, outerNode) {\n var p = outerNode,\n hx = hole.x,\n hy = hole.y,\n qx = -Infinity,\n m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n do {\n if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n if (x === hx) {\n if (hy === p.y) return p;\n if (hy === p.next.y) return p.next;\n }\n m = p.x < p.next.x ? p : p.next;\n }\n }\n p = p.next;\n } while (p !== outerNode);\n\n if (!m) return null;\n\n if (hx === qx) return m.prev; // hole touches outer segment; pick lower endpoint\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n var stop = m,\n mx = m.x,\n my = m.y,\n tanMin = Infinity,\n tan;\n\n p = m.next;\n\n while (p !== stop) {\n if (hx >= p.x && p.x >= mx && hx !== p.x &&\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n }\n\n return m;\n}\n\n// interlink polygon nodes in z-order\nfunction indexCurve(start, minX, minY, invSize) {\n var p = start;\n do {\n if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, invSize);\n p.prevZ = p.prev;\n p.nextZ = p.next;\n p = p.next;\n } while (p !== start);\n\n p.prevZ.nextZ = null;\n p.prevZ = null;\n\n sortLinked(p);\n}\n\n// Simon Tatham's linked list merge sort algorithm\n// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\nfunction sortLinked(list) {\n var i, p, q, e, tail, numMerges, pSize, qSize,\n inSize = 1;\n\n do {\n p = list;\n list = null;\n tail = null;\n numMerges = 0;\n\n while (p) {\n numMerges++;\n q = p;\n pSize = 0;\n for (i = 0; i < inSize; i++) {\n pSize++;\n q = q.nextZ;\n if (!q) break;\n }\n qSize = inSize;\n\n while (pSize > 0 || (qSize > 0 && q)) {\n\n if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {\n e = p;\n p = p.nextZ;\n pSize--;\n } else {\n e = q;\n q = q.nextZ;\n qSize--;\n }\n\n if (tail) tail.nextZ = e;\n else list = e;\n\n e.prevZ = tail;\n tail = e;\n }\n\n p = q;\n }\n\n tail.nextZ = null;\n inSize *= 2;\n\n } while (numMerges > 1);\n\n return list;\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\nfunction zOrder(x, y, minX, minY, invSize) {\n // coords are transformed into non-negative 15-bit integer range\n x = 32767 * (x - minX) * invSize;\n y = 32767 * (y - minY) * invSize;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\nfunction getLeftmost(start) {\n var p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&\n (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&\n (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\nfunction isValidDiagonal(a, b) {\n return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) &&\n locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);\n}\n\n// signed area of a triangle\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect\nfunction intersects(p1, q1, p2, q2) {\n if ((equals(p1, q1) && equals(p2, q2)) ||\n (equals(p1, q2) && equals(p2, q1))) return true;\n return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 &&\n area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0;\n}\n\n// check if a polygon diagonal intersects any polygon segments\nfunction intersectsPolygon(a, b) {\n var p = a;\n do {\n if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&\n intersects(p, p.next, a, b)) return true;\n p = p.next;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\nfunction middleInside(a, b) {\n var p = a,\n inside = false,\n px = (a.x + b.x) / 2,\n py = (a.y + b.y) / 2;\n do {\n if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&\n (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))\n inside = !inside;\n p = p.next;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\nfunction splitPolygon(a, b) {\n var a2 = new Node(a.i, a.x, a.y),\n b2 = new Node(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\nfunction insertNode(i, x, y, last) {\n var p = new Node(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n}\n\nfunction Node(i, x, y) {\n // vertice index in coordinates array\n this.i = i;\n\n // vertex coordinates\n this.x = x;\n this.y = y;\n\n // previous and next vertice nodes in a polygon ring\n this.prev = null;\n this.next = null;\n\n // z-order curve value\n this.z = null;\n\n // previous and next nodes in z-order\n this.prevZ = null;\n this.nextZ = null;\n\n // indicates whether this is a steiner point\n this.steiner = false;\n}\n\n// return a percentage difference between the polygon area and its triangulation area;\n// used to verify correctness of triangulation\nearcut.deviation = function (data, holeIndices, dim, triangles) {\n var hasHoles = holeIndices && holeIndices.length;\n var outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (var i = 0, len = holeIndices.length; i < len; i++) {\n var start = holeIndices[i] * dim;\n var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n var trianglesArea = 0;\n for (i = 0; i < triangles.length; i += 3) {\n var a = triangles[i] * dim;\n var b = triangles[i + 1] * dim;\n var c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n};\n\nfunction signedArea(data, start, end, dim) {\n var sum = 0;\n for (var i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n// turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts\nearcut.flatten = function (data) {\n var dim = data[0][0].length,\n result = {vertices: [], holes: [], dimensions: dim},\n holeIndex = 0;\n\n for (var i = 0; i < data.length; i++) {\n for (var j = 0; j < data[i].length; j++) {\n for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);\n }\n if (i > 0) {\n holeIndex += data[i - 1].length;\n result.holes.push(holeIndex);\n }\n }\n return result;\n};\n", "'use strict';\n\nvar OneVersionConstraint = require('individual/one-version');\n\nvar MY_VERSION = '7';\nOneVersionConstraint('ev-store', MY_VERSION);\n\nvar hashKey = '__EV_STORE_KEY@' + MY_VERSION;\n\nmodule.exports = EvStore;\n\nfunction EvStore(elem) {\n var hash = elem[hashKey];\n\n if (!hash) {\n hash = elem[hashKey] = {};\n }\n\n return hash;\n}\n", "'use strict';\nvar request = require('./request');\nvar buildQueryObject = require('./buildQueryObject');\nvar isArray = Array.isArray;\n\nfunction simpleExtend(obj, obj2) {\n var prop;\n for (prop in obj2) {\n obj[prop] = obj2[prop];\n }\n return obj;\n}\n\nfunction XMLHttpSource(jsongUrl, config) {\n this._jsongUrl = jsongUrl;\n if (typeof config === 'number') {\n var newConfig = {\n timeout: config\n };\n config = newConfig;\n }\n this._config = simpleExtend({\n timeout: 15000,\n headers: {}\n }, config || {});\n}\n\nXMLHttpSource.prototype = {\n // because javascript\n constructor: XMLHttpSource,\n /**\n * buildQueryObject helper\n */\n buildQueryObject: buildQueryObject,\n\n /**\n * @inheritDoc DataSource#get\n */\n get: function httpSourceGet(pathSet) {\n var method = 'GET';\n var queryObject = this.buildQueryObject(this._jsongUrl, method, {\n paths: pathSet,\n method: 'get'\n });\n var config = simpleExtend(queryObject, this._config);\n // pass context for onBeforeRequest callback\n var context = this;\n return request(method, config, context);\n },\n\n /**\n * @inheritDoc DataSource#set\n */\n set: function httpSourceSet(jsongEnv) {\n var method = 'POST';\n var queryObject = this.buildQueryObject(this._jsongUrl, method, {\n jsonGraph: jsongEnv,\n method: 'set'\n });\n var config = simpleExtend(queryObject, this._config);\n config.headers[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\n \n // pass context for onBeforeRequest callback\n var context = this;\n return request(method, config, context);\n\n },\n\n /**\n * @inheritDoc DataSource#call\n */\n call: function httpSourceCall(callPath, args, pathSuffix, paths) {\n // arguments defaults\n args = args || [];\n pathSuffix = pathSuffix || [];\n paths = paths || [];\n\n var method = 'POST';\n var queryData = [];\n queryData.push('method=call');\n queryData.push('callPath=' + encodeURIComponent(JSON.stringify(callPath)));\n queryData.push('arguments=' + encodeURIComponent(JSON.stringify(args)));\n queryData.push('pathSuffixes=' + encodeURIComponent(JSON.stringify(pathSuffix)));\n queryData.push('paths=' + encodeURIComponent(JSON.stringify(paths)));\n\n var queryObject = this.buildQueryObject(this._jsongUrl, method, queryData.join('&'));\n var config = simpleExtend(queryObject, this._config);\n config.headers[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\n \n // pass context for onBeforeRequest callback\n var context = this;\n return request(method, config, context);\n }\n};\n// ES6 modules\nXMLHttpSource.XMLHttpSource = XMLHttpSource;\nXMLHttpSource['default'] = XMLHttpSource;\n// commonjs\nmodule.exports = XMLHttpSource;\n", "'use strict';\nmodule.exports = function buildQueryObject(url, method, queryData) {\n var qData = [];\n var keys;\n var data = {url: url};\n var isQueryParamUrl = url.indexOf('?') !== -1;\n var startUrl = (isQueryParamUrl) ? '&' : '?';\n\n if (typeof queryData === 'string') {\n qData.push(queryData);\n } else {\n\n keys = Object.keys(queryData);\n keys.forEach(function (k) {\n var value = (typeof queryData[k] === 'object') ? JSON.stringify(queryData[k]) : queryData[k];\n qData.push(k + '=' + encodeURIComponent(value));\n });\n }\n\n if (method === 'GET') {\n data.url += startUrl + qData.join('&');\n } else {\n data.data = qData.join('&');\n }\n\n return data;\n};\n", "'use strict';\n// Get CORS support even for older IE\nmodule.exports = function getCORSRequest() {\n var xhr = new global.XMLHttpRequest();\n if ('withCredentials' in xhr) {\n return xhr;\n } else if (!!global.XDomainRequest) {\n return new XDomainRequest();\n } else {\n throw new Error('CORS is not supported by your browser');\n }\n};\n", "'use strict';\nmodule.exports = function getXMLHttpRequest() {\n var progId,\n progIds,\n i;\n if (global.XMLHttpRequest) {\n return new global.XMLHttpRequest();\n } else {\n try {\n progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n for (i = 0; i < 3; i++) {\n try {\n progId = progIds[i];\n if (new global.ActiveXObject(progId)) {\n break;\n }\n } catch(e) { }\n }\n return new global.ActiveXObject(progId);\n } catch (e) {\n throw new Error('XMLHttpRequest is not supported by your browser');\n }\n }\n};\n", "'use strict';\nvar getXMLHttpRequest = require('./getXMLHttpRequest');\nvar getCORSRequest = require('./getCORSRequest');\nvar hasOwnProp = Object.prototype.hasOwnProperty;\n\nvar noop = function() {};\n\nfunction Observable() {}\n\nObservable.create = function(subscribe) {\n var o = new Observable();\n\n o.subscribe = function(onNext, onError, onCompleted) {\n\n var observer;\n var disposable;\n\n if (typeof onNext === 'function') {\n observer = {\n onNext: onNext,\n onError: (onError || noop),\n onCompleted: (onCompleted || noop)\n };\n } else {\n observer = onNext;\n }\n\n disposable = subscribe(observer);\n\n if (typeof disposable === 'function') {\n return {\n dispose: disposable\n };\n } else {\n return disposable;\n }\n };\n\n return o;\n};\n\nfunction request(method, options, context) {\n return Observable.create(function requestObserver(observer) {\n\n var config = {\n method: method || 'GET',\n crossDomain: false,\n async: true,\n headers: {},\n responseType: 'json'\n };\n\n var xhr,\n isDone,\n headers,\n header,\n prop;\n\n for (prop in options) {\n if (hasOwnProp.call(options, prop)) {\n config[prop] = options[prop];\n }\n }\n\n // Add request with Headers\n if (!config.crossDomain && !config.headers['X-Requested-With']) {\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n }\n\n // allow the user to mutate the config open\n if (context.onBeforeRequest != null) {\n context.onBeforeRequest(config);\n }\n\n // create xhr\n try {\n xhr = config.crossDomain ? getCORSRequest() : getXMLHttpRequest();\n } catch (err) {\n observer.onError(err);\n }\n try {\n // Takes the url and opens the connection\n if (config.user) {\n xhr.open(config.method, config.url, config.async, config.user, config.password);\n } else {\n xhr.open(config.method, config.url, config.async);\n }\n\n // Sets timeout information\n xhr.timeout = config.timeout;\n\n // Anything but explicit false results in true.\n xhr.withCredentials = config.withCredentials !== false;\n\n // Fills the request headers\n headers = config.headers;\n for (header in headers) {\n if (hasOwnProp.call(headers, header)) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n\n if (config.responseType) {\n try {\n xhr.responseType = config.responseType;\n } catch (e) {\n // WebKit added support for the json responseType value on 09/03/2013\n // https://bugs.webkit.org/show_bug.cgi?id=73648. Versions of Safari prior to 7 are\n // known to throw when setting the value \"json\" as the response type. Other older\n // browsers implementing the responseType\n //\n // The json response type can be ignored if not supported, because JSON payloads are\n // parsed on the client-side regardless.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n xhr.onreadystatechange = function onreadystatechange(e) {\n // Complete\n if (xhr.readyState === 4) {\n if (!isDone) {\n isDone = true;\n onXhrLoad(observer, xhr, e);\n }\n }\n };\n\n // Timeout\n xhr.ontimeout = function ontimeout(e) {\n if (!isDone) {\n isDone = true;\n onXhrError(observer, xhr, 'timeout error', e);\n }\n };\n\n // Send Request\n xhr.send(config.data);\n\n } catch (e) {\n observer.onError(e);\n }\n // Dispose\n return function dispose() {\n // Doesn't work in IE9\n if (!isDone && xhr.readyState !== 4) {\n isDone = true;\n xhr.abort();\n }\n };//Dispose\n });\n}\n\n/*\n * General handling of ultimate failure (after appropriate retries)\n */\nfunction _handleXhrError(observer, textStatus, errorThrown) {\n // IE9: cross-domain request may be considered errors\n if (!errorThrown) {\n errorThrown = new Error(textStatus);\n }\n\n observer.onError(errorThrown);\n}\n\nfunction onXhrLoad(observer, xhr, e) {\n var responseData,\n responseObject,\n responseType;\n\n // If there's no observer, the request has been (or is being) cancelled.\n if (xhr && observer) {\n responseType = xhr.responseType;\n // responseText is the old-school way of retrieving response (supported by IE8 & 9)\n // response/responseType properties were introduced in XHR Level2 spec (supported by IE10)\n responseData = ('response' in xhr) ? xhr.response : xhr.responseText;\n\n // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n var status = (xhr.status === 1223) ? 204 : xhr.status;\n\n if (status >= 200 && status <= 399) {\n try {\n if (responseType !== 'json') {\n responseData = JSON.parse(responseData || '');\n }\n if (typeof responseData === 'string') {\n responseData = JSON.parse(responseData || '');\n }\n } catch (e) {\n _handleXhrError(observer, 'invalid json', e);\n }\n observer.onNext(responseData);\n observer.onCompleted();\n return;\n\n } else if (status === 401 || status === 403 || status === 407) {\n\n return _handleXhrError(observer, responseData);\n\n } else if (status === 410) {\n // TODO: Retry ?\n return _handleXhrError(observer, responseData);\n\n } else if (status === 408 || status === 504) {\n // TODO: Retry ?\n return _handleXhrError(observer, responseData);\n\n } else {\n\n return _handleXhrError(observer, responseData || ('Response code ' + status));\n\n }//if\n }//if\n}//onXhrLoad\n\nfunction onXhrError(observer, xhr, status, e) {\n _handleXhrError(observer, status || xhr.statusText || 'request error', e);\n}\n\nmodule.exports = request;\n", "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var e;e=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,e.falcor=t()}}(function(){var t;return function e(t,n,r){function o(s,u){if(!n[s]){if(!t[s]){var a=\"function\"==typeof require&&require;if(!u&&a)return a(s,!0);if(i)return i(s,!0);var c=new Error(\"Cannot find module '\"+s+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var p=n[s]={exports:{}};t[s][0].call(p.exports,function(e){var n=t[s][1][e];return o(n?n:e)},p,p.exports,e,t,n,r)}return n[s].exports}for(var i=\"function\"==typeof require&&require,s=0;s1&&!Array.isArray(r)||0===e&&!Array.isArray(r)&&\"string\"!==o||1===e&&!Array.isArray(r)&&!x(r))return new u(function(t){t.onError(new Error(\"Invalid argument\"))})}return c.create(this,t)},r.prototype.invalidate=function(){var t,e=-1,n=arguments.length,r=arguments[n-1];for(t=new Array(n);++e0){var n=o.Observable.of(t);return t.get.apply(t,u)[\"catch\"](o.Observable.empty()).concat(n).last().flatMap(function(){return r(e,a)}).filter(function(t){return t})}return o.Observable[\"return\"](t)}if(s>0){var i=u.map(function(t){return a.concat(t)});return e.get.apply(e,i).concat(o.Observable.defer(function(){return r(e,a)})).last().filter(function(t){return t})}return o.Observable.empty()})}},{134:134,159:159}],6:[function(t,e,n){var r=t(134),o=t(13),i=t(8),s=t(118);e.exports=function(t){var e=r.fromPath(t);if(!Array.isArray(e))throw new Error(\"Model#derefSync must be called with an Array path.\");var n=o(this,this._path.concat(e),!1),u=n.path,a=n.value,c=n.found;if(c&&void 0!==a&&(a.$type!==s||void 0!==a.value)){if(a.$type)throw new i;return this._clone({_path:u})}}},{118:118,13:13,134:134,8:8}],7:[function(t,e,n){function r(){this.message=r.message,this.stack=(new Error).stack}r.prototype=new Error,r.prototype.name=\"BoundJSONGraphModelError\",r.message=\"It is not legal to use the JSON Graph format from a bound Model. JSON Graph format can only be used from a root model.\",e.exports=r},{}],8:[function(t,e,n){function r(t,e){this.message=i,this.stack=(new Error).stack,this.boundPath=t,this.shortedPath=e}var o=\"InvalidModelError\",i=\"The boundPath of the model is not valid since a value or error was found before the path end.\";r.prototype=new Error,r.prototype.name=o,r.message=i,e.exports=r},{}],9:[function(t,e,n){function r(t){this.message=\"An exception was thrown when making a request.\",this.stack=(new Error).stack,this.innerError=t}var o=\"InvalidSourceError\";r.prototype=new Error,r.prototype.name=o,r.is=function(t){return t&&t.name===o},e.exports=r},{}],10:[function(t,e,n){function r(){this.message=\"The allowed number of retries have been exceeded.\",this.stack=(new Error).stack}var o=\"MaxRetryExceededError\";r.prototype=new Error,r.prototype.name=o,r.is=function(t){return t&&t.name===o},e.exports=r},{}],11:[function(t,e,n){function r(t,e,n,r,o,h,f){for(var l,d,v=n,y=o,b=r,m=0;;){if(0===m&&b[c]?(m=y.length,d=b[c]):(l=y[m++],d=v[l]),d){var g=d.$type,w=g&&d.value||d;if(m_;_++)x[_]=y[_];y=x}return[v,y]}var o=t(26),i=o.create,s=t(22),u=t(27),a=t(120),c=t(33),p=t(29).promote;e.exports=r},{120:120,22:22,26:26,27:27,29:29,33:33}],12:[function(t,e,n){var r=t(15),o=t(8),i=t(7);e.exports=function(t,e){return function(n,s,u){var a,c,p,h=u[0],f={values:u,optimizedPaths:[]},l=n._root.cache,d=n._path,v=l,y=d.length,b=[];if(y){if(e)return{criticalError:new i};if(v=r(n,d),v.$type)return{criticalError:new o(d,d)};for(a=[],c=0;y>c;++c)a[c]=d[c]}else a=[],y=0;for(c=0,p=s.length;p>c;c++)t(n,l,v,s[c],0,h,f,b,a,y,e);return f}}},{15:15,7:7,8:8}],13:[function(t,e,n){var r=t(17),o=t(8);e.exports=function(t,e,n){var i,s,u,a,c,p=e,h=e;for(i=t._boxed,n=t._materialized,s=t._treatErrorsAsValues,t._boxed=!0,t._materialized=void 0===n||n,t._treatErrorsAsValues=!0,u=r(t,p.concat(null),!0),t._boxed=i,t._materialized=n,t._treatErrorsAsValues=s,p=u.optimizedPath,a=u.shorted,c=u.found,u=u.value;p.length&&null===p[p.length-1];)p.pop();if(c&&a)throw new o(h,p);return{path:p,value:u,shorted:a,found:c}}},{17:17,8:8}],14:[function(t,e,n){function r(t){var e,n,r,o={},i=Object.keys(t);for(n=0,r=i.length;r>n;n++)e=i[n],s(e)||(o[e]=t[e]);return o}function o(t,e,n){Object.keys(t).filter(function(e){return!s(e)&&t[e]}).forEach(function(n){var s=t[n],u=e[n];if(u||(u=e[n]={}),s.$type){var a,c=s.value&&\"object\"==typeof s.value,p=!t[i];return a=c||p?r(s):s.value,void(e[n]=a)}o(s,u,n)})}var i=t(37),s=t(97);e.exports=function(t){var e={};return o(t,e),e}},{37:37,97:97}],15:[function(t,e,n){e.exports=function(t,e){for(var n=t._root.cache,r=-1,o=e.length;++rw;){if(p=e[w++],null!==p&&(x=_[p],b[b.length]=p),!x){S=void 0,m=!0,E=!1;break}if(f=x.$type,f===a&&void 0===x.value){S=void 0,E=!1,m=y>w;break}if(y>w){if(f===u){if(i(x)){C=!0,S=void 0,E=!1;break}if(l=r(t,v,v,x,x.value),d=l[0],!d){S=void 0,x=void 0,E=!1;break}f=d.$type,x=d,b=l[1].slice(0)}if(f)break}else S=x;_=x}if(y>w&&!C){for(h=w;y>h;++h)if(null!==e[w]){g=!0;break}for(g?(m=!0,S=void 0):S=x,h=w;y>h;++h)null!==e[h]&&(b[b.length]=e[h])}if(S&&f&&(i(S)?S=void 0:s(t,S)),S&&f===c&&!t._treatErrorsAsValues)throw{path:w===y?e:e.slice(0,w),value:S.value};return S&&t._boxed?S=Boolean(f)&&!n?o(S):S:!S&&t._materialized?S={$type:a}:S&&(S=S.value),{value:S,shorted:m,optimizedPath:b,found:E}}},{11:11,118:118,119:119,120:120,25:25,27:27,29:29}],18:[function(t,e,n){var r=t(46);e.exports=function(t,e){var n=t._getValueSync({_boxed:!0,_root:t._root,_treatErrorsAsValues:t._treatErrorsAsValues},e,!0).value,o=n&&n[r];return null==o?-1:o}},{46:46}],19:[function(t,e,n){var r=t(12),o=t(31),i=r(o,!1),s=r(o,!0);e.exports={getValueSync:t(17),getBoundValue:t(13),getWithPathsAsPathMap:i,getWithPathsAsJSONGraph:s}},{12:12,13:13,17:17,31:31}],20:[function(t,e,n){var r=t(29),o=t(25),i=r.promote;e.exports=function(t,e,n,r,s){var u=e.value;s.errors||(s.errors=[]),t._boxed&&(u=o(e)),s.errors.push({path:r.slice(0,n+1),value:u}),i(t,e)}},{25:25,29:29}],21:[function(t,e,n){function r(t,e,n,r,o,i,s){s.requestedMissingPaths.push(r.slice(0,n).concat(e)),s.optimizedMissingPaths.push(o.slice(0,i).concat(e))}var o=t(30),i=o.fastCopy;e.exports=function(t,e,n,o,s,u,a){var c;o.requestedMissingPaths||(o.requestedMissingPaths=[],o.optimizedMissingPaths=[]),c=ny;y++)g=f[y],w[g]||(w[g]={}),w=w[g];g=f[y],w[g]=E?{$type:u}:S,h&&n.paths.push(h.slice(0,r))}else if(0===r)n.json=S;else{for(w=n.json,w||(w=n.json={}),y=0;r-1>y;y++)m=h[y],w[m]||(w[m]={}),x=w,_=m,w=w[m];m=h[y],null!==m?w[m]=S:x[_]=S}}}},{118:118,119:119,120:120,25:25,29:29,37:37}],23:[function(t,e,n){var r=t(27),o=t(26),i=t(29),s=o.remove,u=i.splice,a=t(119),c=t(20),p=t(22),h=t(21),f=t(28),l=t(35);e.exports=function(t,e,n,o,i,d,v,y,b,m,g){var w=e&&e.$type,x=e&&void 0===e.value;return e&&w?void(r(e)?(e[l]||(u(t,e),s(e)),h(t,n,o,d,v,y,b)):w===a?(g&&(v[o]=null),m||t._treatErrorsAsValues?p(t,e,i,o,d,v,y,b,m,g):c(t,e,o,v,d)):(g&&(v[o]=null),(!x||x&&t._materialized)&&p(t,e,i,o,d,v,y,b,m,g))):void(f(t)?p(t,e,i,o,d,v,y,b,m,g):h(t,n,o,d,v,y,b))}},{119:119,20:20,21:21,22:22,26:26,27:27,28:28,29:29,35:35}],24:[function(t,e,n){var r=t(134);e.exports=function(t){var e=r.fromPath(t);if(Array.isArray(e)===!1)throw new Error(\"Model#getValueSync must be called with an Array path.\");return this._path.length&&(e=this._path.concat(e)),this._syncCheck(\"getValueSync\")&&this._getValueSync(this,e).value}},{134:134}],25:[function(t,e,n){var r=t(40);e.exports=function(t){var e,n,o,i=Object.keys(t);for(e={},n=0,o=i.length;o>n;n++){var s=i[n];s[0]!==r&&(e[s]=t[s])}return e}},{40:40}],26:[function(t,e,n){function r(t,e){var n=e[a]||0;e[i+n]=t,e[a]=n+1,t[u]=n,t[s]=e}function o(t){var e=t[s];if(e){for(var n=t[u],r=e[a];r>n;)e[i+n]=e[i+n+1],++n;e[a]=r-1,t[s]=void 0,t[u]=void 0}}var i=t(43),s=t(33),u=t(42),a=t(44);e.exports={create:r,remove:o}},{33:33,42:42,43:43,44:44}],27:[function(t,e,n){var r=t(106);e.exports=function(t){var e=void 0===t.$expires&&-1||t.$expires;return-1!==e&&1!==e&&(0===e||eo;r++,o++)i[r]=t[o];return i}function o(t,e){var n,r,o,i=[];for(n=0,r=t.length;r>n;n++)i[n]=t[n];for(o=0,r=e.length;r>o;o++)null!==e[o]&&(i[n++]=e[o]);return i}function i(t,e){var n,r,o,i=[];for(n=0,r=t.length;r>n;n++)i[n]=t[n];for(o=0,r=e.length;r>o;o++)i[n++]=e[o];return i}e.exports={fastCat:i,fastCatSkipNulls:o,fastCopy:r}},{}],31:[function(t,e,n){var r=t(11),o=t(23),i=t(27),s=t(143).iterateKeySet,u=t(120),a=t(29).promote;e.exports=function c(t,e,n,p,h,f,l,d,v,y,b,m){var g=m,w=v;if(!n||n&&n.$type||h===p.length)return void o(t,n,p,h,f,l,d,w,y,b,g);var x,_;x=p[h];var S=\"object\"==typeof x,E=h+1,C=!1,A=x;if(S&&(C={},A=s(x,C)),void 0!==A||!C.done){var N=y+1;do{g=!1;var k;null===A?k=n:(k=n[A],w[y]=A,d[h]=A);var O=w,P=N;if(k){var j=k.$type,D=j&&k.value||k;if(E_;++_)O[_]=R[_]}}c(t,e,k,p,E,f,l,d,O,P,b,g),C&&!C.done&&(A=s(x,C))}while(C&&!C.done)}}},{11:11,120:120,143:143,23:23,27:27,29:29}],32:[function(t,e,n){\"use strict\";function r(t){return new r.Model(t)}\"function\"==typeof Promise?r.Promise=Promise:r.Promise=t(151),e.exports=r,r.Model=t(2)},{151:151,2:2}],33:[function(t,e,n){e.exports=t(40)+\"context\"},{40:40}],34:[function(t,e,n){e.exports=t(40)+\"head\"},{40:40}],35:[function(t,e,n){e.exports=t(40)+\"invalidated\"},{40:40}],36:[function(t,e,n){e.exports=t(40)+\"key\"},{40:40}],37:[function(t,e,n){e.exports=\"$modelCreated\"},{}],38:[function(t,e,n){e.exports=t(40)+\"next\"},{40:40}],39:[function(t,e,n){e.exports=t(40)+\"parent\"},{40:40}],40:[function(t,e,n){e.exports=String.fromCharCode(30)},{}],41:[function(t,e,n){e.exports=t(40)+\"prev\"},{40:40}],42:[function(t,e,n){e.exports=t(40)+\"ref-index\"},{40:40}],43:[function(t,e,n){e.exports=t(40)+\"ref\"},{40:40}],44:[function(t,e,n){e.exports=t(40)+\"refs-length\"},{40:40}],45:[function(t,e,n){e.exports=t(40)+\"tail\"},{40:40}],46:[function(t,e,n){e.exports=t(40)+\"version\"},{40:40}],47:[function(t,e,n){function r(t,e,n,o,s,u,c,p,h,f){if(!_(t)&&!t.$type)for(var l in t)if(l[0]!==a&&\"$\"!==l[0]&&m(t,l)){var d=t[l],v=g(d)&&!d.$type,y=i(n,o,s,l,d,v,!1,u,c,p,h,f),w=y[0],x=y[1];w&&(v?r(d,e+1,n,x,w,u,c,p,h,f):A(w,x,l,p)&&C(x,b(w),p,u))}}function o(t,e,n,r,o,s,a,h){if(w(n))return S(n,o,s),[void 0,e];y(s,n);var d=n,v=n.value,b=e;if(n=n[p],null!=n)b=n[c]||e;else{var m=0,g=v.length-1;b=n=e;do{var x=v[m],E=g>m,C=i(e,b,n,x,t,E,!0,r,o,s,a,h);if(n=C[0],_(n))return C;b=C[1]}while(m++d,_=i(t,l,e,m,x,!0,n,r,o);if(e=_[0],g(e))return _;l=_[1]}while(d++=h){var x=t[s];for(b=x;d>=w&&b;)x=x[a],m=b.$size||0,d-=m,g===!0&&p(b,m,t,l),b=x;t[s]=t[a]=b,null==b?t[i]=t[u]=void 0:b[u]=void 0}}},{108:108,115:115,34:34,36:36,38:38,39:39,41:41,45:45}],50:[function(t,e,n){var r=t(121),o=t(34),i=t(45),s=t(38),u=t(41),a=t(100);e.exports=function(t,e){if(a(e)&&e.$expires!==r){var n=t[o],c=t[i],p=e[s],h=e[u];e!==n&&(null!=p&&\"object\"==typeof p&&(p[u]=h),null!=h&&\"object\"==typeof h&&(h[s]=p),p=n,null!=n&&\"object\"==typeof n&&(n[u]=e),t[o]=t[s]=n=e,n[s]=p,n[u]=void 0),null!=c&&e!==c||(t[i]=t[u]=c=h||e)}return e}},{100:100,121:121,34:34,38:38,41:41,45:45}],51:[function(t,e,n){var r=t(34),o=t(45),i=t(38),s=t(41);e.exports=function(t,e){var n=t[r],u=t[o],a=e[i],c=e[s];null!=a&&\"object\"==typeof a&&(a[s]=c),null!=c&&\"object\"==typeof c&&(c[i]=a),e===n&&(t[r]=t[i]=a),e===u&&(t[o]=t[s]=c),e[i]=e[s]=void 0,n=u=a=c=void 0}},{34:34,38:38,41:41,45:45}],52:[function(t,e,n){function r(t,e){var n=!1;return function(){if(!n&&!t._disposed){n=!0,t._callbacks[e]=null,t._optimizedPaths[e]=[],t._requestedPaths[e]=[];var r=--t._count;0!==r||t.sent||(t._disposable.dispose(),t.requestQueue.removeRequest(t))}}}function o(t){for(var e=[],n=-1,r=0,o=t.length;o>r;++r)for(var i=t[r],s=0,u=i.length;u>s;++s)e[++n]=i[s];return e}var i=t(59),s=t(60),u=0,a=t(57).GetRequest,c=t(76),p=t(78),h=t(119),f=[],l=function(t,e){this.sent=!1,this.scheduled=!1,this.requestQueue=e,this.id=++u,this.type=a,this._scheduler=t,this._pathMap={},this._optimizedPaths=[],this._requestedPaths=[],this._callbacks=[],this._count=0,this._disposable=null,this._collapsed=null,this._disposed=!1};l.prototype={batch:function(t,e,n){var o=this,i=o._optimizedPaths,u=o._requestedPaths,a=o._callbacks,c=i.length;return i[c]=e,u[c]=t,a[c]=n,++o._count,o.scheduled||(o.scheduled=!0,o._disposable=o._scheduler.schedule(function(){s(o,i,function(t,e){if(o.requestQueue.removeRequest(o),o._disposed=!0,o._count){o._merge(u,t,e);for(var n=0,r=a.length;r>n;++n){var i=a[n];i&&i(t,e)}}})})),r(o,c)},add:function(t,e,n){var o,s,u=this,a=i(t,e,u._pathMap);a?(s=a[2],o=a[1]):(s=t,o=e);var c=!1,p=!1;if(o.lengthi){if(null==c){if(e)return!1;c=u[a]=Object.create(null)}if(this.insertPath(t,e,c,i+1,s)===!1)return!1}else u[a]=(c||0)+1,this.length+=1;h.done||(a=f(p,h))}while(!h.done);return!0},r.prototype.removePath=function(t,e,n,r){var o=n||0,i=r||t.length-1,s=e||this.pathmaps[i+1];if(void 0===s||null===s)return!0;var u,a,c=0,p=t[o],h={};u=f(p,h);do if(a=s[u],void 0!==a&&null!==a){if(i>o){c+=this.removePath(t,a,o+1,i);var l=void 0;for(l in a)break;void 0===l&&delete s[u]}else a=s[u]=(a||1)-1,0===a&&delete s[u],c+=1,this.length-=1;h.done||(u=f(p,h))}while(!h.done);return c},r.prototype.getSourceObserver=function(t){var e=this;return i.create(function(n){n.jsonGraph=n.jsonGraph||n.jsong||n.values||n.value,n.index=e.index,t.onNext(n)},function(e){t.onError(e)},function(){t.onCompleted()})},r.prototype._subscribe=function(t){var e=this,n=this.queue;e.pending=!0;var r=!1,o=new a,i=u.create(function(){r||(r=!0,n&&n._remove(e))}),s=new c(o,i);try{o.setDisposable(this.model._source[this.method](this.getSourceArgs()).subscribe(this.getSourceObserver(t)))}catch(h){throw new p(h)}return s},e.exports=r},{143:143,159:159,9:9}],54:[function(t,e,n){function r(t,e){this.total=0,this.model=t,this.requests=[],this.scheduler=e}var o=t(58),i=t(40),s=t(90),u=t(100),a=t(143);r.prototype.set=function(t){return t.paths=a.collapse(t.paths),o.create(this.model,t)},r.prototype._remove=function(t){var e=this.requests,n=e.indexOf(t);-1!==n&&e.splice(n,1)},r.prototype.distributePaths=function(t,e,n){var r,o,i=this.model,s=-1,u=t.length,a=-1,c=e.length,p=[];t:for(;++s-1;){for(var h=r[n-1],f=o[n-1],l=a[n-1]||(a[n-1]=Object.keys(f));l.length>0;){var d=l.pop();if(d[0]!==i)if(h.hasOwnProperty(d)){var v=h[d],y=s(v),b=f[d],m=s(b);if(u(v)&&u(b)&&!y&&!m){r[n]=v,o[n]=b,n+=1;continue t}p>c&&(h[d]=b)}else h[d]=f[d]}n-=1}return t},e.exports=r},{100:100,143:143,40:40,58:58,90:90}],55:[function(t,e,n){function r(t,e){this.model=t,this.scheduler=e,this.requests=this._requests=[]}var o=t(54),i=t(56);r.prototype.get=i.prototype.get,r.prototype.removeRequest=i.prototype.removeRequest,r.prototype.set=o.prototype.set,r.prototype.call=o.prototype.call,e.exports=r},{54:54,56:56}],56:[function(t,e,n){function r(t,e){this.model=t,this.scheduler=e,this.requests=this._requests=[]}var o=t(57),i=t(52);r.prototype={setScheduler:function(t){this.scheduler=t},get:function(t,e,n){function r(){v||(--h,0===h&&n())}var s,u,a,c=this,p=[],h=0,f=c._requests,l=e,d=t,v=!1;for(s=0,u=f.length;u>s;++s)if(a=f[s],a.type===o.GetRequest){if(a.sent){var y=a.add(d,l,r);y[0]&&(d=y[1],l=y[2],p[p.length]=y[3],++h)}else a.batch(d,l,r),l=[],d=[],++h;if(!l.length)break}if(l.length){a=new i(c.scheduler,c),f[f.length]=a,++h;var b=a.batch(d,l,r);p[p.length]=b}return function(){if(!v&&0!==h){v=!0;for(var t=p.length,e=0;t>e;++e)p[e]()}}},removeRequest:function(t){for(var e=this._requests,n=e.length;--n>=0;)if(e[n].id===t.id){e.splice(n,1);break}}},e.exports=r},{52:52,57:57}],57:[function(t,e,n){e.exports={GetRequest:\"GET\"}},{}],58:[function(t,e,n){function r(){s.call(this)}var o=t(159),i=o.Observer,s=t(53),u=t(83),a=t(76),c=t(78),p=new Array(0);r.create=function(t,e){var n=new r;return n.model=t,n.jsonGraphEnvelope=e,n},r.prototype=Object.create(s.prototype),r.prototype.constructor=r,r.prototype.method=\"set\",r.prototype.insertPath=function(){return!1},r.prototype.removePath=function(){return 0},r.prototype.getSourceArgs=function(){return this.jsonGraphEnvelope},r.prototype.getSourceObserver=function(t){var e=this.model,n=e._path,r=this.jsonGraphEnvelope.paths,o=e._root,h=o.errorSelector,f=o.comparator;return s.prototype.getSourceObserver.call(this,i.create(function(o){e._path=p;var i=a(e,[{paths:r,jsonGraph:o.jsonGraph}],null,h,f);o.paths=i[1],e._path=n,t.onNext(o)},function(o){e._path=p,c(e,u(r,function(t){return{path:t,value:o}}),null,h,f),e._path=n,t.onError(o)},function(){t.onCompleted()}))},e.exports=r},{159:159,53:53,76:76,78:78,83:83}],59:[function(t,e,n){var r=t(143).hasIntersection,o=t(84);e.exports=function(t,e,n){for(var i=[],s=[],u=[],a=-1,c=-1,p=!1,h=0,f=e.length;f>h;++h){var l=e[h],d=n[l.length];d&&r(d,l,0)?(!p&&h>0&&(s=o(t,0,h),i=o(e,0,h)),u[++a]=t[h],p=!0):p&&(i[++c]=l,s[c]=t[h])}return p?[u,i,s]:null}},{143:143,84:84}],60:[function(t,e,n){var r=t(143),o=r.toTree,i=r.toPaths;e.exports=function(t,e,n){if(0===t._count)return void t.requestQueue.removeRequest(t);t.sent=!0,t.scheduled=!1;for(var r=t._pathMap,s=Object.keys(e),u=0,a=s.length;a>u;++u)for(var c=e[u],p=0,h=c.length;h>p;++p){var f=c[p],l=f.length;if(r[l]){var d=r[l];d[d.length]=f}else r[l]=[f]}for(var v=Object.keys(r),y=0,b=v.length;b>y;++y){var m=v[y];r[m]=o(r[m])}var g,w=t._collasped=i(r);t.requestQueue.model._source.get(w).subscribe(function(t){g=t},function(t){n(t,g)},function(){n(null,g)})}},{143:143}],61:[function(t,e,n){function r(t){u.call(this,t||i)}function o(t){return s.Observable.defer(function(){return t})}function i(t){function e(t){function e(t,e){if(Boolean(e.invalidated))t.invalidations.push(t.localThisPath.concat(e.path));else{var n=e.path,r=e.value;Boolean(r)&&\"object\"==typeof r&&r.$type===f?t.references.push({path:i(n),value:e.value}):t.values.push({path:i(n),value:e.value})}return t}function n(t){var e=t.values.concat(t.references);return e.length>0?o(g.set.apply(g,e)._toJSONG()).map(function(e){return{results:t,envelope:e}}):u[\"return\"]({results:t,envelope:{jsonGraph:{},paths:[]}})}function r(t){var e,n=t.envelope,r=t.results,c=r.values,p=r.references,h=r.invalidations,f=c.map(a).map(i),l=p.reduce(s,[]),d=b.map(i),v=l.concat(d);return e=v.length>0?o(m.get.apply(m,f.concat(v))._toJSONG()):u[\"return\"](n),e.doAction(function(t){t.invalidated=h})}function s(t,e){var n=e.path;return t.push.apply(t,y.map(function(t){return n.concat(t)})),t}function a(t){return t.path}var c=t&&t.localFn;if(\"function\"==typeof c){var p=t.model,h=p._path,l=c.apply(p,v).reduce(e,{values:[],references:[],invalidations:[],localThisPath:h}).flatMap(n).flatMap(r);return u[\"return\"](l)}return u.empty()}function n(t){function e(t){var e=t.invalidated;return e&&e.length&&m.invalidate.apply(m,e),t}return t&&\"object\"==typeof t?s.Observable.defer(function(){\nvar e;try{e=t.call(x,v,y,b)}catch(n){e=u[\"throw\"](new p(n))}return e}).map(e):u.empty()}function r(t){return o(g.set(t)).reduce(function(t){return t},null).map(function(){return{invalidated:t.invalidated,paths:t.paths.map(function(t){return t.slice(w.length)})}})}function i(t){return _.concat(t)}var c=this.args,l=this.model,d=h.fromPath(c[0]),v=c[1]||[],y=(c[2]||[]).map(h.fromPath),b=(c[3]||[]).map(h.fromPath),m=l._clone({_path:[]}),g=m.withoutDataSource(),w=l._path,x=w.concat(d),_=x.slice(0,-1),S=o(l.withoutDataSource().get(d)).map(function(t){for(var e=t.json,n=-1,r=d.length;e&&++n0){var p=\"_\"+n+a+\"AsJSON\",h=e[p];h(e,c)}}return t.onCompleted(),s.empty}var i=t(159),s=i.Disposable,u=t(62);r.create=u.create,r.prototype=Object.create(u.prototype),r.prototype.method=\"invalidate\",r.prototype.constructor=r,e.exports=r},{159:159,62:62}],64:[function(t,e,n){function r(t){this._subscribe=t}function o(t){var e=this.model,n=new this.type;return n.model=e,n.args=this.args,n.outputFormat=t.outputFormat||\"AsPathMap\",n.isProgressive=t.isProgressive||!1,n.subscribeCount=0,n.subscribeLimit=t.retryLimit||10,n.initialize().invokeSourceRequest(e).ensureCollect(e).subscribe(t)}var i=t(32),s=t(159)&&t(158),u=s.Observable,a=t(84),c=t(105),p={outputFormat:{value:\"AsJSONG\"}},h={isProgressive:{value:!0}};r.create=function(t,e){var n=new r(o);return n.args=e,n.type=this,n.model=t,n},r.prototype=Object.create(u.prototype),r.prototype.constructor=r,r.prototype._mixin=function(){var t=this,e=a(arguments);return new t.constructor(function(n){return t.subscribe(e.reduce(function(t,e){return Object.create(t,e)},n))})},r.prototype._toJSONG=function(){return this._mixin(p)},r.prototype.progressively=function(){return this._mixin(h)},r.prototype.subscribe=function(t,e,n){var r=t;r&&\"object\"==typeof r||(r={onNext:t||c,onError:e||c,onCompleted:n||c});var o=this._subscribe(r);switch(typeof o){case\"function\":return{dispose:o};case\"object\":return o||{dispose:c};default:return{dispose:c}}},r.prototype.then=function(t,e){var n=this;return new i.Promise(function(t,e){var r,o=!1;n.toArray().subscribe(function(t){r=t.length<=1?t[0]:t},function(t){o=!0,e(t)},function(){o===!1&&t(r)})}).then(t,e)},e.exports=r},{105:105,158:158,159:159,32:32,84:84}],65:[function(t,e,n){function r(t){l.call(this,t||o)}function o(t){return this.isCompleted?s.call(this,t):i.call(this,t)}function i(t){if(this.subscribeCount++>this.subscribeLimit)return t.onError(\"Loop kill switch thrown.\"),h.empty;for(var e=[],n=[],r=this.model,o=this.isMaster,i=r._root,c=this.outputFormat,p=i.errorSelector,f=this.method,l=this.groups,d=-1,y=l.length;++d0){var w=\"_\"+f+m+c,x=r[w],_=x(r,g,null,p);n.push.apply(n,_[1]),\"PathValues\"===m?e.push.apply(e,g.map(u)):\"JSONGs\"===m?e.push.apply(e,v(g,a)):e.push.apply(e,_[0])}}return this.requestedPaths=e,o?(this.isCompleted=!0,s.call(this,t)):void t.onError({method:f,optimizedPaths:n,invokeSourceRequest:!0})}function s(t){var e=new f(this.model,this.requestedPaths);return\"AsJSONG\"===this.outputFormat&&(e=e._toJSONG()),this.isProgressive&&(e=e.progressively()),e.subscribe(t)}function u(t){return t.path}function a(t){return t.paths}var c=t(159),p=c.Observable,h=c.Disposable,f=t(67),l=t(62),d=t(9),v=t(82),y=new Array(0);r.create=l.create,r.prototype=Object.create(l.prototype),r.prototype.method=\"set\",r.prototype.constructor=r,r.prototype.invokeSourceRequest=function(t){var e=this,n=this[\"catch\"](function(r){var o;if(r&&r.invokeSourceRequest===!0){var i={},s=t._path,u=r.optimizedPaths;t._path=y,t._getPathValuesAsJSONG(t._materialize().withoutDataSource(),u,[i]),t._path=s,o=t._request.set(i)[\"do\"](function(t){e.isCompleted=u.length===t.paths.length},function(){e.isCompleted=!0}).materialize().flatMap(function(t){if(\"C\"===t.kind)return p.empty();if(\"E\"===t.kind){var e=t.exception;if(d.is(e))return p[\"throw\"](t.exception)}return n})}else o=p[\"throw\"](r);return o});return new this.constructor(function(t){return n.subscribe(t)})},e.exports=r},{159:159,62:62,67:67,82:82,9:9}],66:[function(t,e,n){var r=function(t){this.disposed=!1,this.currentDisposable=t};r.prototype={dispose:function(){if(!this.disposed&&this.currentDisposable){this.disposed=!0;var t=this.currentDisposable;t.dispose?t.dispose():t()}}},e.exports=r},{}],67:[function(t,e,n){var r=t(64),o=t(68),i=t(69),s={dispose:function(){}},u=t(159).Observable,a=e.exports=function(t,e,n,r){this.model=t,this.currentRemainingPaths=e,this.isJSONGraph=n||!1,this.isProgressive=r||!1};a.prototype=Object.create(u.prototype),a.prototype.subscribe=r.prototype.subscribe,a.prototype.then=r.prototype.then,a.prototype._toJSONG=function(){return new a(this.model,this.currentRemainingPaths,!0,this.isProgressive)},a.prototype.progressively=function(){return new a(this.model,this.currentRemainingPaths,this.isJSONGraph,!0)},a.prototype._subscribe=function(t){var e=[{}],n=[],r=t.isJSONG=this.isJSONGraph,u=this.isProgressive,a=o(this.model,this.currentRemainingPaths,t,u,r,e,n);return a?i(this,this.model,a,t,e,n,1):s}},{159:159,64:64,68:68,69:69}],68:[function(t,e,n){var r=t(19),o=r.getWithPathsAsJSONGraph,i=r.getWithPathsAsPathMap;e.exports=function(t,e,n,r,s,u,a){var c;if(c=s?o(t,e,u):i(t,e,u),c.criticalError)return n.onError(c.criticalError),null;var p=c.hasValue,h=!c.requestedMissingPaths||!t._source,f=u[0].json||u[0].jsonGraph;if(c.errors)for(var l=c.errors,d=a.length,v=0,y=l.length;y>v;++v,++d)a[d]=l[v];if(p&&r||f&&h)try{++t._root.syncRefCount,n.onNext(u[0])}catch(b){throw b}finally{--t._root.syncRefCount}return h?(a.length?n.onError(a):n.onCompleted(),null):c}},{19:19}],69:[function(t,e,n){var r=t(68),o=t(10),i=t(30).fastCat,s=t(49),u=t(88),a=t(66),c=t(46);e.exports=function p(t,e,n,h,f,l,d){if(10===d)throw new o;var v=e._request,y=n.requestedMissingPaths,b=n.optimizedMissingPaths,m=new a,g=[],w=e._path;if(w.length)for(var x=0,_=y.length;_>x;++x)g[x]=i(w,y[x]);else g=y;var S=v.get(g,b,function(){var n=r(e,y,h,t.isProgressive,t.isJSONGraph,f,l);if(n)m.currentDisposable=p(t,e,n,h,f,l,d+1);else{var o=e._root,i=o.cache,a=i[c];s(o,o.expired,u(i),e._maxSize,e._collectRatio,a)}});return m.currentDisposable=S,m}},{10:10,30:30,46:46,49:49,66:66,68:68,88:88}],70:[function(t,e,n){var r=t(67);e.exports=function(t){return new r(this,t)}},{67:67}],71:[function(t,e,n){var r=t(134),o=t(64),i=t(72),s=t(116),u=t(67);e.exports=function(){var t=s(arguments,i,\"get\");if(t!==!0)return new o(function(e){e.onError(t)});var e=r.fromPathsOrPathValues(arguments);return new u(this,e)}},{116:116,134:134,64:64,67:67,72:72}],72:[function(t,e,n){e.exports={path:!0,pathSyntax:!0}},{}],73:[function(t,e,n){function r(){}var o=t(123),i=t(159),s=i.Disposable;r.prototype.schedule=function(t){return o(t),s.empty},r.prototype.scheduleWithState=function(t,e){var n=this;return o(function(){e(n,t)}),s.empty},e.exports=r},{123:123,159:159}],74:[function(t,e,n){function r(){}var o=t(159),i=o.Disposable;r.prototype.schedule=function(t){return t(),i.empty},r.prototype.scheduleWithState=function(t,e){return e(this,t),i.empty},e.exports=r},{159:159}],75:[function(t,e,n){function r(t){this.delay=t}var o=t(159),i=o.Disposable;r.prototype.schedule=function(t){var e=setTimeout(t,this.delay);return i.create(function(){void 0!==e&&(clearTimeout(e),e=void 0)})},r.prototype.scheduleWithState=function(t,e){var n=this,r=setTimeout(function(){e(n,t)},this.delay);return i.create(function(){void 0!==r&&(clearTimeout(r),r=void 0)})},e.exports=r},{159:159}],76:[function(t,e,n){function r(t,e,n,o,s,u,a,c,p,h,f,d,v,y,b,g,w){for(var x={},_=ex,k=i(t,E,e,n,C,r,A,N,!0,o,s,c,f,v,m,g);if(e=k[0],y(e))return s.index=x,k;E=k[1],r=k[2],C=k[3]}while(x++=x)break;h.index=_}}function o(t,e,n,r,o,s,u,c,f,v){var y=n.value;if(o.splice(0,o.length),o.push.apply(o,y),x(n))return o.index=y.length,E(n,u,c),[void 0,e];m(c,n);var b=n,g=e;if(n=n[h],null!=n)g=n[p]||e,o.index=y.length;else{var w=0,_=y.length-1;g=n=e;do{var C=y[w],A=_>w,N=i(e,g,n,C,t,A,!0,r,o,s,u,c,f,v);if(n=N[0],S(n))return o.index=w,N;g=N[1]}while(w++<_);if(o.index=w,b[h]!==n){var k=n[d]||0;n[d]=k+1,n[a+k]=b,b[h]=n,b[l]=k}}return[n,g]}function i(t,e,n,r,i,s,a,c,p,h,f,l,d,y){for(var b=n.$type;b===v;){var m=o(i,t,n,c,p,h,f,l,d,y);if(n=m[0],S(n))return m;e=m[1],b=n&&n.$type}if(void 0!==b)return[n,e];if(null==r){if(s)throw new Error(\"`null` is not allowed in branch key positions.\");n&&(r=n[u])}else e=n,n=e[r];return n=A(e,n,r,i,s,a,c,p,h,f,l,d,y),[n,e]}function s(t){if(w(t)&&!t.$type){var e=[],n=0;b(t)&&(e[n++]=\"length\");for(var r in t)r[0]!==c&&\"$\"!==r[0]&&g(t,r)&&(e[n++]=r);return e}}var u=t(36),a=t(43),c=t(40),p=t(39),h=t(33),f=t(46),l=t(42),d=t(44),v=t(120),y=t(13),b=Array.isArray,m=t(50),g=t(91),w=t(100),x=t(95),_=t(96),S=t(102),E=t(86),C=t(92),A=t(104);e.exports=function(t,e,n,o,i){for(var s=t._root,u=s,a=s.expired,c=C(),h=t._path,l=s.cache,d=h.length?y(t,h).value:l,v=d[p]||l,b=l[f],m=[],g=[],w=[],x=h.length,S=-1,E=e.length;++SS,N=i(e,_,n,C,t,A,!0,r,o,s,p,l,d,b);if(n=N[0],m(n))return o.index=S,N;_=N[1]}while(S++i&&(i=0),n>0&&i>n&&(i=n);for(var s=new Array(i);++oq)return}if(k&&j&&!O)return d(y(e,n,t,g,E),t,g);if(O||!j){if(O===s&&h(A)&&(n=A(m(w,g),n)),O&&e===n)null==e[o]&&(e=l(e,k,e.value),t=b(t,-e.$size,E,_),e=d(e,t,g,_));else{var R=!0;!k&&P||(R=a(n)-1);return t}},{39:39,43:43,44:44,46:46}],115:[function(t,e,n){var r=t(36),o=t(46),i=t(39),s=t(108),u=t(114);e.exports=function(t,e,n,a){var c=t;do{var p=c[i],h=c.$size=(c.$size||0)-e;0>=h&&null!=p?s(c,p,c[r],n):c[o]!==a&&u(c,a),c=p}while(c);return t}},{108:108,114:114,36:36,39:39,46:46}],116:[function(t,e,n){var r=Array.isArray,o=t(101),i=t(99),s=t(98),u=t(134);e.exports=function(t,e,n){for(var a=0,c=t.length;c>a;++a){var p=t[a],h=!1;if(r(p)&&e.path?h=!0:\"string\"==typeof p&&e.pathSyntax?h=!0:o(p)&&e.pathValue?(p.path=u.fromPath(p.path),h=!0):i(p)&&e.jsonGraph?h=!0:s(p)&&e.json?h=!0:\"function\"==typeof p&&a+1===c&&e.selector&&(h=!0),!h)return new Error(\"Unrecognized argument \"+typeof p+\" [\"+String(p)+\"] to Model#\"+n)}return!0}},{101:101,134:134,98:98,99:99}],117:[function(t,e,n){var r=t(130),o=r.atom,i=t(106),s=t(122),u=t(37),a=50,c=t(85),p=Array.isArray,h=t(88),f=t(87);e.exports=function(t,e,n){var r=0,l=t,d=e;if(d?(l=c(l),r=h(l),l.$type=d):(l=o(n),d=l.$type,l[u]=!0),null==n)r=a+1;else if(null==r||0>=r)switch(typeof n){case\"object\":r=p(n)?a+n.length:a+1;break;case\"string\":r=a+n.length;break;default:r=a+1}var v=f(l);return\"number\"==typeof v&&s>v&&(l.$expires=i()+-1*v),l.$size=r,l}},{106:106,122:122,130:130,37:37,85:85,87:87,88:88}],118:[function(t,e,n){e.exports=\"atom\"},{}],119:[function(t,e,n){e.exports=\"error\"},{}],120:[function(t,e,n){e.exports=\"ref\"},{}],121:[function(t,e,n){e.exports=1},{}],122:[function(t,e,n){e.exports=0},{}],123:[function(t,e,n){\"use strict\";function r(){if(a.length)throw a.shift()}function o(t){var e;e=u.length?u.pop():new i,e.task=t,s(e)}function i(){this.task=null}var s=t(124),u=[],a=[],c=s.makeRequestCallFromTimer(r);e.exports=o,i.prototype.call=function(){try{this.task.call()}catch(t){o.onerror?o.onerror(t):(a.push(t),c())}finally{this.task=null,u[u.length]=this}}},{124:124}],124:[function(t,e,n){(function(t){\"use strict\";function n(t){u.length||(s(),a=!0),u[u.length]=t}function r(){for(;cp){for(var e=0,n=u.length-c;n>e;e++)u[e]=u[e+c];u.length-=c,c=0}}u.length=0,c=0,a=!1}function o(t){var e=1,n=new h(t),r=document.createTextNode(\"\");return n.observe(r,{characterData:!0}),function(){e=-e,r.data=e}}function i(t){return function(){function e(){clearTimeout(n),clearInterval(r),t()}var n=setTimeout(e,0),r=setInterval(e,50)}}e.exports=n;var s,u=[],a=!1,c=0,p=1024,h=t.MutationObserver||t.WebKitMutationObserver;s=\"function\"==typeof h?o(r):i(r),n.requestFlush=s,n.makeRequestCallFromTimer=i}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],125:[function(t,e,n){\"use strict\";function r(t,e){var n;for(n in e)t[n]=e[n];return t}function o(t,e){if(this._jsongUrl=t,\"number\"==typeof e){var n={timeout:e};e=n}this._config=r({timeout:15e3,headers:{}},e||{})}var i=t(129),s=t(126);Array.isArray;o.prototype={constructor:o,buildQueryObject:s,get:function(t){var e=\"GET\",n=this.buildQueryObject(this._jsongUrl,e,{paths:t,method:\"get\"}),o=r(n,this._config),s=this;return i(e,o,s)},set:function(t){var e=\"POST\",n=this.buildQueryObject(this._jsongUrl,e,{jsonGraph:t,method:\"set\"}),o=r(n,this._config);o.headers[\"Content-Type\"]=\"application/x-www-form-urlencoded\";var s=this;return i(e,o,s)},call:function(t,e,n,o){e=e||[],n=n||[],o=o||[];var s=\"POST\",u=[];u.push(\"method=call\"),u.push(\"callPath=\"+encodeURIComponent(JSON.stringify(t))),u.push(\"arguments=\"+encodeURIComponent(JSON.stringify(e))),u.push(\"pathSuffixes=\"+encodeURIComponent(JSON.stringify(n))),u.push(\"paths=\"+encodeURIComponent(JSON.stringify(o)));var a=this.buildQueryObject(this._jsongUrl,s,u.join(\"&\")),c=r(a,this._config);c.headers[\"Content-Type\"]=\"application/x-www-form-urlencoded\";var p=this;return i(s,c,p)}},o.XMLHttpSource=o,o[\"default\"]=o,e.exports=o},{126:126,129:129}],126:[function(t,e,n){\"use strict\";e.exports=function(t,e,n){var r,o=[],i={url:t},s=-1!==t.indexOf(\"?\"),u=s?\"&\":\"?\";return\"string\"==typeof n?o.push(n):(r=Object.keys(n),r.forEach(function(t){var e=\"object\"==typeof n[t]?JSON.stringify(n[t]):n[t];o.push(t+\"=\"+encodeURIComponent(e))})),\"GET\"===e?i.url+=u+o.join(\"&\"):i.data=o.join(\"&\"),i}},{}],127:[function(t,e,n){(function(t){\"use strict\";e.exports=function(){var e=new t.XMLHttpRequest;if(\"withCredentials\"in e)return e;if(t.XDomainRequest)return new XDomainRequest;throw new Error(\"CORS is not supported by your browser\")}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],128:[function(t,e,n){(function(t){\"use strict\";e.exports=function(){var e,n,r;if(t.XMLHttpRequest)return new t.XMLHttpRequest;try{for(n=[\"Msxml2.XMLHTTP\",\"Microsoft.XMLHTTP\",\"Msxml2.XMLHTTP.4.0\"],r=0;3>r;r++)try{if(e=n[r],new t.ActiveXObject(e))break}catch(o){}return new t.ActiveXObject(e)}catch(o){throw new Error(\"XMLHttpRequest is not supported by your browser\")}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],129:[function(t,e,n){\"use strict\";function r(){}function o(t,e,n){return r.create(function(r){var o,i,h,f,l,d={method:t||\"GET\",crossDomain:!1,async:!0,headers:{},responseType:\"json\"};for(l in e)p.call(e,l)&&(d[l]=e[l]);d.crossDomain||d.headers[\"X-Requested-With\"]||(d.headers[\"X-Requested-With\"]=\"XMLHttpRequest\"),null!=n.onBeforeRequest&&n.onBeforeRequest(d);try{o=d.crossDomain?c():a()}catch(v){r.onError(v)}try{d.user?o.open(d.method,d.url,d.async,d.user,d.password):o.open(d.method,d.url,d.async),o.timeout=d.timeout,o.withCredentials=d.withCredentials!==!1,h=d.headers;for(f in h)p.call(h,f)&&o.setRequestHeader(f,h[f]);if(d.responseType)try{o.responseType=d.responseType}catch(y){if(\"json\"!==d.responseType)throw y}o.onreadystatechange=function(t){4===o.readyState&&(i||(i=!0,s(r,o,t)))},o.ontimeout=function(t){i||(i=!0,u(r,o,\"timeout error\",t))},o.send(d.data)}catch(y){r.onError(y)}return function(){i||4===o.readyState||(i=!0,o.abort())}})}function i(t,e,n){n||(n=new Error(e)),t.onError(n)}function s(t,e,n){var r,o;if(e&&t){o=e.responseType,r=\"response\"in e?e.response:e.responseText;var s=1223===e.status?204:e.status;if(s>=200&&399>=s){try{\"json\"!==o&&(r=JSON.parse(r||\"\")),\"string\"==typeof r&&(r=JSON.parse(r||\"\"))}catch(n){i(t,\"invalid json\",n)}return t.onNext(r),void t.onCompleted()}return 401===s||403===s||407===s?i(t,r):410===s?i(t,r):408===s||504===s?i(t,r):i(t,r||\"Response code \"+s)}}function u(t,e,n,r){i(t,n||e.statusText||\"request error\",r)}var a=t(128),c=t(127),p=Object.prototype.hasOwnProperty,h=function(){};r.create=function(t){var e=new r;return e.subscribe=function(e,n,r){var o,i;return o=\"function\"==typeof e?{onNext:e,onError:n||h,onCompleted:r||h}:e,i=t(o),\"function\"==typeof i?{dispose:i}:i},e},e.exports=o},{127:127,128:128}],130:[function(t,e,n){function r(t,e,n){var r=Object.create(null);if(null!=n){for(var o in n)r[o]=n[o];return r.$type=t,r.value=e,r}return{$type:t,value:e}}var o=t(134);e.exports={ref:function(t,e){return r(\"ref\",o.fromPath(t),e)},atom:function(t,e){return r(\"atom\",t,e)},undefined:function(){return r(\"atom\")},error:function(t,e){return r(\"error\",t,e)},pathValue:function(t,e){return{path:o.fromPath(t),value:e}},pathInvalidation:function(t){return{path:o.fromPath(t),invalidated:!0}}}},{134:134}],131:[function(t,e,n){e.exports={integers:\"integers\",ranges:\"ranges\",keys:\"keys\"}},{}],132:[function(t,e,n){var r={token:\"token\",dotSeparator:\".\",commaSeparator:\",\",openingBracket:\"[\",closingBracket:\"]\",openingBrace:\"{\",closingBrace:\"}\",escape:\"\\\\\",space:\" \",colon:\":\",quote:\"quote\",unknown:\"unknown\"};e.exports=r},{}],133:[function(t,e,n){e.exports={indexer:{nested:\"Indexers cannot be nested.\",needQuotes:\"unquoted indexers must be numeric.\",empty:\"cannot have empty indexers.\",leadingDot:\"Indexers cannot have leading dots.\",leadingComma:\"Indexers cannot have leading comma.\",requiresComma:\"Indexers require commas between indexer args.\",routedTokens:\"Only one token can be used per indexer when specifying routed tokens.\"},range:{precedingNaN:\"ranges must be preceded by numbers.\",suceedingNaN:\"ranges must be suceeded by numbers.\"},routed:{invalid:\"Invalid routed token. only integers|ranges|keys are supported.\"},quote:{empty:\"cannot have empty quoted keys.\",illegalEscape:\"Invalid escape character. Only quotes are escapable.\"},unexpectedToken:\"Unexpected token.\",invalidIdentifier:\"Invalid Identifier.\",invalidPath:\"Please provide a valid path.\",throwError:function(t,e,n){if(n)throw t+\" -- \"+e.parseString+\" with next token: \"+n;throw t+\" -- \"+e.parseString}}},{}],134:[function(t,e,n){var r=t(140),o=t(135),i=t(131),s=function(t,e){return o(new r(t,e))};e.exports=s,s.fromPathsOrPathValues=function(t,e){if(!t)return[];for(var n=[],r=0,o=t.length;o>r;r++)\"string\"==typeof t[r]?n[r]=s(t[r],e):\"string\"==typeof t[r].path?n[r]={path:s(t[r].path,e),value:t[r].value}:n[r]=t[r];return n},s.fromPath=function(t,e){return t?\"string\"==typeof t?s(t,e):t:[]},s.RoutedTokens=i},{131:131,135:135,140:140}],135:[function(t,e,n){var r=t(132),o=t(133),i=t(136);e.exports=function(t){for(var e=t.next(),n={},s=[];!e.done;){switch(e.type){case r.token:var u=+e.token[0];isNaN(u)||o.throwError(o.invalidIdentifier,t),s[s.length]=e.token;break;case r.dotSeparator:0===s.length&&o.throwError(o.unexpectedToken,t);break;case r.space:break;case r.openingBracket:i(t,e,n,s);break;default:o.throwError(o.unexpectedToken,t)}e=t.next()}return 0===s.length&&o.throwError(o.invalidPath,t),s}},{132:132,133:133,136:136}],136:[function(t,e,n){var r=t(132),o=t(133),i=o.indexer,s=t(138),u=t(137),a=t(139);e.exports=function(t,e,n,c){var p=t.next(),h=!1,f=1,l=!1;for(n.indexer=[];!p.done;){switch(p.type){case r.token:case r.quote:n.indexer.length===f&&o.throwError(i.requiresComma,t)}switch(p.type){case r.openingBrace:l=!0,a(t,p,n,c);break;case r.token:var d=+p.token;isNaN(d)&&o.throwError(i.needQuotes,t),n.indexer[n.indexer.length]=d;break;case r.dotSeparator:n.indexer.length||o.throwError(i.leadingDot,t),s(t,p,n,c);\nbreak;case r.space:break;case r.closingBracket:h=!0;break;case r.quote:u(t,p,n,c);break;case r.openingBracket:o.throwError(i.nested,t);break;case r.commaSeparator:++f;break;default:o.throwError(o.unexpectedToken,t)}if(h)break;p=t.next()}0===n.indexer.length&&o.throwError(i.empty,t),n.indexer.length>1&&l&&o.throwError(i.routedTokens,t),1===n.indexer.length&&(n.indexer=n.indexer[0]),c[c.length]=n.indexer,n.indexer=void 0}},{132:132,133:133,137:137,138:138,139:139}],137:[function(t,e,n){var r=t(132),o=t(133),i=o.quote;e.exports=function(t,e,n,s){for(var u=t.next(),a=\"\",c=e.token,p=!1,h=!1;!u.done;){switch(u.type){case r.token:case r.space:case r.dotSeparator:case r.commaSeparator:case r.openingBracket:case r.closingBracket:case r.openingBrace:case r.closingBrace:p&&o.throwError(i.illegalEscape,t),a+=u.token;break;case r.quote:p?(a+=u.token,p=!1):u.token!==c?a+=u.token:h=!0;break;case r.escape:p=!0;break;default:o.throwError(o.unexpectedToken,t)}if(h)break;u=t.next()}0===a.length&&o.throwError(i.empty,t),n.indexer[n.indexer.length]=a}},{132:132,133:133}],138:[function(t,e,n){var r=t(140),o=t(132),i=t(133);e.exports=function(t,e,n,s){var u,a=t.peek(),c=1,p=!1,h=!0,f=n.indexer.length-1,l=r.toNumber(n.indexer[f]);for(isNaN(l)&&i.throwError(i.range.precedingNaN,t);!p&&!a.done;){switch(a.type){case o.dotSeparator:3===c&&i.throwError(i.unexpectedToken,t),++c,3===c&&(h=!1);break;case o.token:u=r.toNumber(t.next().token),isNaN(u)&&i.throwError(i.range.suceedingNaN,t),p=!0;break;default:p=!0}if(p)break;t.next(),a=t.peek()}n.indexer[f]={from:l,to:h?u:u-1}}},{132:132,133:133,140:140}],139:[function(t,e,n){var r=t(132),o=t(131),i=t(133),s=i.routed;e.exports=function(t,e,n,u){var a=t.next(),c=!1,p=\"\";switch(a.token){case o.integers:case o.ranges:case o.keys:break;default:i.throwError(s.invalid,t)}var h=t.next();if(h.type===r.colon&&(c=!0,h=t.next(),h.type!==r.token&&i.throwError(s.invalid,t),p=h.token,h=t.next()),h.type===r.closingBrace){var f={type:a.token,named:c,name:p};n.indexer[n.indexer.length]=f}else i.throwError(s.invalid,t)}},{131:131,132:132,133:133}],140:[function(t,e,n){function r(t,e,n){return{token:t,done:n,type:e}}function o(t,e,n){var o,g=!1,w=\"\",x=n?m:b;do{if(o=e+1>=t.length)break;var _=t[e+1];if(void 0===_||-1!==x.indexOf(_)){if(w.length)break;++e;var S;switch(_){case s:S=i.dotSeparator;break;case u:S=i.commaSeparator;break;case a:S=i.openingBracket;break;case c:S=i.closingBracket;break;case p:S=i.openingBrace;break;case h:S=i.closingBrace;break;case y:S=i.space;break;case d:case v:S=i.quote;break;case l:S=i.escape;break;case f:S=i.colon;break;default:S=i.unknown}g=r(_,S,!1);break}w+=_,++e}while(!o);return!g&&w.length&&(g=r(w,i.token,!1)),g||(g={done:!0}),{token:g,idx:e}}var i=t(132),s=\".\",u=\",\",a=\"[\",c=\"]\",p=\"{\",h=\"}\",f=\":\",l=\"\\\\\",d='\"',v=\"'\",y=\" \",b=\"\\\\'\\\"[]., \",m=\"\\\\{}'\\\"[]., :\",g=e.exports=function(t,e){this._string=t,this._idx=-1,this._extended=e,this.parseString=\"\"};g.prototype={next:function(){var t=this._nextToken?this._nextToken:o(this._string,this._idx,this._extended);return this._idx=t.idx,this._nextToken=!1,this.parseString+=t.token.token,t.token},peek:function(){var t=this._nextToken?this._nextToken:o(this._string,this._idx,this._extended);return this._nextToken=t,t.token}},g.toNumber=function(t){return isNaN(+t)?NaN:+t}},{132:132}],141:[function(t,e,n){var r=t(147),o=t(148);e.exports=function(t){var e=t.reduce(function(t,e){var n=e.length;return t[n]||(t[n]=[]),t[n].push(e),t},{});return Object.keys(e).forEach(function(t){e[t]=o(e[t])}),r(e)}},{147:147,148:148}],142:[function(t,e,n){var r=t(144);e.exports=function o(t,e,n){for(var i=t,s=!0;s&&nr&&(e.empty=!0)}function o(t,e){e.done=!1;var n=e.isObject=!(!t||\"object\"!=typeof t);e.isArray=n&&i(t),e.arrayOffset=0}var i=Array.isArray;e.exports=function(t,e){if(void 0===e.isArray&&o(t,e),e.isArray){var n;do{e.loaded&&e.rangeOffset>e.to&&(++e.arrayOffset,e.loaded=!1);var i=e.arrayOffset,s=t.length;if(i>=s){e.done=!0;break}var u=t[e.arrayOffset],a=typeof u;if(\"object\"===a){if(e.loaded||r(u,e),e.empty)continue;n=e.rangeOffset++}else++e.arrayOffset,n=u}while(void 0===n);return n}return e.isObject?(e.loaded||r(t,e),e.rangeOffset>e.to?void(e.done=!0):e.rangeOffset++):(e.done=!0,t)}},{}],145:[function(t,e,n){var r=t(142);e.exports=function(t,e){for(var n=[],o=-1,i=0,s=t.length;s>i;++i){var u=t[i];r(e[u.length],u,0)||(n[++o]=u)}return n}},{142:142}],146:[function(t,e,n){var r=t(142);e.exports=function(t,e){for(var n=[],o=-1,i=0,s=t.length;s>i;++i)r(e,t[i],0)||(n[++o]=t[i]);return n}},{142:142}],147:[function(t,e,n){function r(t){return null!==t&&typeof t===f}function o(t,e,n){var r,i,s,u,h,f,l,d,v,y,b,m,g,w,x=c(String(e)),_=Object.create(null),S=[],E=-1,C=0,A=[],N=0;if(u=[],h=-1,n-1>e){for(f=a(t,u);++h0)for(l=i.sets,d=-1,v=l.length,g=u[0];++d1&&u||g;++b1?A[N++]=[u]:A[N++]=u;++h0;++e<=n;){var o=t[e];if(!p(o)){r=!1;break}t[e]=parseInt(o,10)}if(r===!0){t.sort(u);var i=t[0],s=t[n];if(n>=s-i)return{from:i,to:s}}return t}function u(t,e){return t-e}function a(t,e,n){var r=0;for(var o in t)e[r++]=o;return r>1&&e.sort(n),r}function c(t){for(var e=5381,n=-1,r=t.length;++n=0}var h=Array.isArray,f=\"object\";e.exports=function(t){var e,n=[],s=0;for(var u in t)if(p(u)&&r(e=t[u]))for(var a=o(e,0,parseInt(u,10)).sets,c=-1,h=a.length;++c1)for(var n=1;n0?e:0);return new r(function(e,r){o.push(function(t,n){t?r(t):e(n)});var i=t.apply(n,o);!i||\"object\"!=typeof i&&\"function\"!=typeof i||\"function\"!=typeof i.then||e(i)})}},r.nodeify=function(t){return function(){var e=Array.prototype.slice.call(arguments),n=\"function\"==typeof e[e.length-1]?e.pop():null,i=this;try{return t.apply(this,arguments).nodeify(n,i)}catch(s){if(null===n||\"undefined\"==typeof n)return new r(function(t,e){e(s)});o(function(){n.call(i,s)})}}},r.prototype.nodeify=function(t,e){return\"function\"!=typeof t?this:void this.then(function(n){o(function(){t.call(e,null,n)})},function(n){o(function(){t.call(e,n)})})}},{123:123,152:152}],158:[function(e,n,r){(function(o){(function(i){var s={\"boolean\":!1,\"function\":!0,object:!0,number:!1,string:!1,undefined:!1},u=s[typeof window]&&window||this,a=s[typeof r]&&r&&!r.nodeType&&r,c=s[typeof n]&&n&&!n.nodeType&&n,p=(c&&c.exports===a&&a,s[typeof o]&&o);!p||p.global!==p&&p.window!==p||(u=p),\"function\"==typeof t&&t.amd?t([\"rx\"],function(t,e){return i(u,e,t)}):\"object\"==typeof n&&n&&n.exports===a?n.exports=i(u,n.exports,e(159)):u.Rx=i(u,{},u.Rx)}).call(this,function(t,e,n,r){function o(){try{return l.apply(this,arguments)}catch(t){return M.e=t,M}}function i(t){if(!E(t))throw new TypeError(\"fn must be a function\");return l=t,o}function s(t,e,n){return new b(function(r){var o=!1,i=null,s=[];return t.subscribe(function(t){var u,a;try{a=e(t)}catch(c){return void r.onError(c)}if(u=0,o)try{u=n(a,i)}catch(p){return void r.onError(p)}else o=!0,i=a;u>0&&(i=a,s=[]),u>=0&&s.push(t)},function(t){r.onError(t)},function(){r.onNext(s),r.onCompleted()})},t)}function u(t){if(0===t.length)throw new D;return t[0]}function a(t,e,n,r){if(0>e)throw new R;return new b(function(o){var i=e;return t.subscribe(function(t){0===i--&&(o.onNext(t),o.onCompleted())},function(t){o.onError(t)},function(){n?(o.onNext(r),o.onCompleted()):o.onError(new R)})},t)}function c(t,e,n){return new b(function(r){var o=n,i=!1;return t.subscribe(function(t){i?r.onError(new Error(\"Sequence contains more than one element\")):(o=t,i=!0)},function(t){r.onError(t)},function(){i||e?(r.onNext(o),r.onCompleted()):r.onError(new D)})},t)}function p(t,e,n){return new b(function(r){return t.subscribe(function(t){r.onNext(t),r.onCompleted()},function(t){r.onError(t)},function(){e?(r.onNext(n),r.onCompleted()):r.onError(new D)})},t)}function h(t,e,n){return new b(function(r){var o=n,i=!1;return t.subscribe(function(t){o=t,i=!0},function(t){r.onError(t)},function(){i||e?(r.onNext(o),r.onCompleted()):r.onError(new D)})},t)}function f(t,e,n,o){var i=j(e,n,3);return new b(function(e){var n=0;return t.subscribe(function(r){var s;try{s=i(r,n,t)}catch(u){return void e.onError(u)}s?(e.onNext(o?n:r),e.onCompleted()):n++},function(t){e.onError(t)},function(){e.onNext(o?-1:r),e.onCompleted()})},t)}var l,d=n.Observable,v=d.prototype,y=n.CompositeDisposable,b=n.AnonymousObservable,m=n.Disposable.empty,g=(n.internals.isEqual,n.helpers),w=g.not,x=g.defaultComparer,_=g.identity,S=g.defaultSubComparer,E=g.isFunction,C=g.isPromise,A=g.isArrayLike,N=g.isIterable,k=n.internals.inherits,O=d.fromPromise,P=d.from,j=n.internals.bindCallback,D=n.EmptyError,q=n.ObservableBase,R=n.ArgumentOutOfRangeError,M={e:{}};v.aggregate=function(){var t,e,n=!1,r=this;return 2===arguments.length?(n=!0,e=arguments[0],t=arguments[1]):t=arguments[0],new b(function(o){var i,s,u;return r.subscribe(function(r){!u&&(u=!0);try{i?s=t(s,r):(s=n?t(e,r):r,i=!0)}catch(a){return o.onError(a)}},function(t){o.onError(t)},function(){u&&o.onNext(s),!u&&n&&o.onNext(e),!u&&!n&&o.onError(new D),o.onCompleted()})},r)};var T=function(t){function e(e,n,r,o){this.source=e,this.acc=n,this.hasSeed=r,this.seed=o,t.call(this)}function n(t,e){this.o=t,this.acc=e.acc,this.hasSeed=e.hasSeed,this.seed=e.seed,this.hasAccumulation=!1,this.result=null,this.hasValue=!1,this.isStopped=!1}return k(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new n(t,this))},n.prototype.onNext=function(t){this.isStopped||(!this.hasValue&&(this.hasValue=!0),this.hasAccumulation?this.result=i(this.acc)(this.result,t):(this.result=this.hasSeed?i(this.acc)(this.seed,t):t,this.hasAccumulation=!0),this.result===M&&this.o.onError(this.result.e))},n.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},n.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.hasValue&&this.o.onNext(this.result),!this.hasValue&&this.hasSeed&&this.o.onNext(this.seed),!this.hasValue&&!this.hasSeed&&this.o.onError(new D),this.o.onCompleted())},n.prototype.dispose=function(){this.isStopped=!0},n.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},e}(q);return v.reduce=function(t){var e=!1;if(2===arguments.length){e=!0;var n=arguments[1]}return new T(this,t,e,n)},v.some=function(t,e){var n=this;return t?n.filter(t,e).some():new b(function(t){return n.subscribe(function(){t.onNext(!0),t.onCompleted()},function(e){t.onError(e)},function(){t.onNext(!1),t.onCompleted()})},n)},v.any=function(){return this.some.apply(this,arguments)},v.isEmpty=function(){return this.any().map(w)},v.every=function(t,e){return this.filter(function(e){return!t(e)},e).some().map(w)},v.all=function(){return this.every.apply(this,arguments)},v.includes=function(t,e){function n(t,e){return 0===t&&0===e||t===e||isNaN(t)&&isNaN(e)}var r=this;return new b(function(o){var i=0,s=+e||0;return Math.abs(s)===1/0&&(s=0),0>s?(o.onNext(!1),o.onCompleted(),m):r.subscribe(function(e){i++>=s&&n(e,t)&&(o.onNext(!0),o.onCompleted())},function(t){o.onError(t)},function(){o.onNext(!1),o.onCompleted()})},this)},v.contains=function(t,e){v.includes(t,e)},v.count=function(t,e){return t?this.filter(t,e).count():this.reduce(function(t){return t+1},0)},v.indexOf=function(t,e){var n=this;return new b(function(r){var o=0,i=+e||0;return Math.abs(i)===1/0&&(i=0),0>i?(r.onNext(-1),r.onCompleted(),m):n.subscribe(function(e){o>=i&&e===t&&(r.onNext(o),r.onCompleted()),o++},function(t){r.onError(t)},function(){r.onNext(-1),r.onCompleted()})},n)},v.sum=function(t,e){return t&&E(t)?this.map(t,e).sum():this.reduce(function(t,e){return t+e},0)},v.minBy=function(t,e){return e||(e=S),s(this,t,function(t,n){return-1*e(t,n)})},v.min=function(t){return this.minBy(_,t).map(function(t){return u(t)})},v.maxBy=function(t,e){return e||(e=S),s(this,t,e)},v.max=function(t){return this.maxBy(_,t).map(function(t){return u(t)})},v.average=function(t,e){return t&&E(t)?this.map(t,e).average():this.reduce(function(t,e){return{sum:t.sum+e,count:t.count+1}},{sum:0,count:0}).map(function(t){if(0===t.count)throw new D;return t.sum/t.count})},v.sequenceEqual=function(t,e){var n=this;return e||(e=x),new b(function(r){var o=!1,i=!1,s=[],u=[],a=n.subscribe(function(t){var n,o;if(u.length>0){o=u.shift();try{n=e(o,t)}catch(a){return void r.onError(a)}n||(r.onNext(!1),r.onCompleted())}else i?(r.onNext(!1),r.onCompleted()):s.push(t)},function(t){r.onError(t)},function(){o=!0,0===s.length&&(u.length>0?(r.onNext(!1),r.onCompleted()):i&&(r.onNext(!0),r.onCompleted()))});(A(t)||N(t))&&(t=P(t)),C(t)&&(t=O(t));var c=t.subscribe(function(t){var n;if(s.length>0){var i=s.shift();try{n=e(i,t)}catch(a){return void r.onError(a)}n||(r.onNext(!1),r.onCompleted())}else o?(r.onNext(!1),r.onCompleted()):u.push(t)},function(t){r.onError(t)},function(){i=!0,0===u.length&&(s.length>0?(r.onNext(!1),r.onCompleted()):o&&(r.onNext(!0),r.onCompleted()))});return new y(a,c)},n)},v.elementAt=function(t){return a(this,t,!1)},v.elementAtOrDefault=function(t,e){return a(this,t,!0,e)},v.single=function(t,e){return t&&E(t)?this.where(t,e).single():c(this,!1)},v.singleOrDefault=function(t,e,n){return t&&E(t)?this.filter(t,n).singleOrDefault(null,e):c(this,!0,e)},v.first=function(t,e){return t?this.where(t,e).first():p(this,!1)},v.firstOrDefault=function(t,e,n){return t?this.where(t).firstOrDefault(null,e):p(this,!0,e)},v.last=function(t,e){return t?this.where(t,e).last():h(this,!1)},v.lastOrDefault=function(t,e,n){return t?this.where(t,n).lastOrDefault(null,e):h(this,!0,e)},v.find=function(t,e){return f(this,t,e,!1)},v.findIndex=function(t,e){return f(this,t,e,!0)},v.toSet=function(){if(\"undefined\"==typeof t.Set)throw new TypeError;var e=this;return new b(function(n){var r=new t.Set;return e.subscribe(function(t){r.add(t)},function(t){n.onError(t)},function(){n.onNext(r),n.onCompleted()})},e)},v.toMap=function(e,n){if(\"undefined\"==typeof t.Map)throw new TypeError;var r=this;return new b(function(o){var i=new t.Map;return r.subscribe(function(t){var r;try{r=e(t)}catch(s){return void o.onError(s)}var u=t;if(n)try{u=n(t)}catch(s){return void o.onError(s)}i.set(r,u)},function(t){o.onError(t)},function(){o.onNext(i),o.onCompleted()})},r)},n})}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{159:159}],159:[function(e,n,r){(function(e,o){(function(i){function u(t){for(var e=[],n=0,r=t.length;r>n;n++)e.push(t[n]);return e}function a(t,e){if(ct&&e.stack&&\"object\"==typeof t&&null!==t&&t.stack&&-1===t.stack.indexOf(lt)){for(var n=[],r=e;r;r=r.source)r.stack&&n.unshift(r.stack);n.unshift(t.stack);var o=n.join(\"\\n\"+lt+\"\\n\");t.stack=c(o)}}function c(t){for(var e=t.split(\"\\n\"),n=[],r=0,o=e.length;o>r;r++){var i=e[r];p(i)||h(i)||!i||n.push(i)}return n.join(\"\\n\")}function p(t){var e=l(t);if(!e)return!1;var n=e[0],r=e[1];return n===ht&&r>=ft&&$n>=r}function h(t){return-1!==t.indexOf(\"(module.js:\")||-1!==t.indexOf(\"(node.js:\")}function f(){if(ct)try{throw new Error}catch(t){var e=t.stack.split(\"\\n\"),n=e[0].indexOf(\"@\")>0?e[1]:e[2],r=l(n);if(!r)return;return ht=r[0],r[1]}}function l(t){var e=/at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(t);if(e)return[e[1],Number(e[2])];var n=/at ([^ ]+):(\\d+):(?:\\d+)$/.exec(t);if(n)return[n[1],Number(n[2])];var r=/.*@(.+):(\\d+)$/.exec(t);return r?[r[1],Number(r[2])]:void 0}function d(t){var e=[];if(!Ht(t))return e;Ut.nonEnumArgs&&t.length&&Xt(t)&&(t=Yt.call(t));var n=Ut.enumPrototypes&&\"function\"==typeof t,r=Ut.enumErrorProps&&(t===Jt||t instanceof Error);for(var o in t)n&&\"prototype\"==o||r&&(\"message\"==o||\"name\"==o)||e.push(o);if(Ut.nonEnumShadows&&t!==It){var i=t.constructor,s=-1,u=kt;if(t===(i&&i.prototype))var a=t===Lt?$t:t===Jt?qt:Wt.call(t),c=Ft[a];for(;++s-1:void 0});return n.pop(),r.pop(),l}function g(t,e){for(var n=new Array(t),r=0;t>r;r++)n[r]=e();return n}function w(){try{return Qt.apply(this,arguments)}catch(t){return ne.e=t,ne}}function x(t){if(!at(t))throw new TypeError(\"fn must be a function\");return Qt=t,w}function _(t){throw t}function S(t,e){this.id=t,this.value=e}function E(t,e){this.scheduler=t,this.disposable=e,this.isDisposed=!1}function C(t,e){e.isDisposed||(e.isDisposed=!0,e.disposable.dispose())}function A(t){this._s=s}function N(t){this._s=s,this._l=s.length,this._i=0}function k(t){this._a=t}function O(t){this._a=t,this._l=q(t),this._i=0}function P(t){return\"number\"==typeof t&&X.isFinite(t)}function j(t){var e,n=t[xt];if(!n&&\"string\"==typeof t)return e=new A(t),e[xt]();if(!n&&t.length!==i)return e=new k(t),e[xt]();if(!n)throw new TypeError(\"Object is not iterable\");return t[xt]()}function D(t){var e=+t;return 0===e?e:isNaN(e)?e:0>e?-1:1}function q(t){var e=+t.length;return isNaN(e)?0:0!==e&&P(e)?(e=D(e)*Math.floor(Math.abs(e)),0>=e?0:e>en?en:e):e}function R(t,e){this.observer=t,this.parent=e}function M(t,e){return me(t)||(t=_e),new rn(e,t)}function T(t,e){this.observer=t,this.parent=e}function V(t,e){this.observer=t,this.parent=e}function $(t,e){return new qn(function(n){var r=new fe,o=new le;return o.setDisposable(r),r.setDisposable(t.subscribe(function(t){n.onNext(t)},function(t){try{var r=e(t)}catch(i){return n.onError(i)}ut(r)&&(r=Xe(r));var s=new fe;o.setDisposable(s),s.setDisposable(r.subscribe(n))},function(t){n.onCompleted(t)})),o},t)}function W(){return!1}function z(t,e){var n=this;return new qn(function(r){var o=0,i=t.length;return n.subscribe(function(n){if(i>o){var s=t[o++],u=x(e)(n,s);if(u===ne)return r.onError(u.e);r.onNext(u)}else r.onCompleted()},function(t){r.onError(t)},function(){r.onCompleted()})},n)}function W(){return!1}function G(){return[]}function W(){return!1}function J(){return[]}function I(t,e){this.observer=t,this.accumulator=e.accumulator,this.hasSeed=e.hasSeed,this.seed=e.seed,this.hasAccumulation=!1,this.accumulation=null,this.hasValue=!1,this.isStopped=!1}function L(t,e,n){var r=At(e,n,3);return t.map(function(e,n){var o=r(e,n,t);return ut(o)&&(o=Xe(o)),(Et(o)||St(o))&&(o=nn(o)),o}).concatAll()}function B(t,e,n){for(var r=0,o=t.length;o>r;r++)if(n(t[r],e))return r;return-1}function F(t){this.comparer=t,this.set=[]}function U(t,e,n){var r=At(e,n,3);return t.map(function(e,n){var o=r(e,n,t);return ut(o)&&(o=Xe(o)),(Et(o)||St(o))&&(o=nn(o)),o}).mergeAll()}var H={\"boolean\":!1,\"function\":!0,object:!0,number:!1,string:!1,undefined:!1},X=H[typeof window]&&window||this,Q=H[typeof r]&&r&&!r.nodeType&&r,K=H[typeof n]&&n&&!n.nodeType&&n,Y=K&&K.exports===Q&&Q,Z=H[typeof o]&&o;!Z||Z.global!==Z&&Z.window!==Z||(X=Z);var tt={internals:{},config:{Promise:X.Promise},helpers:{}},et=tt.helpers.noop=function(){},nt=(tt.helpers.notDefined=function(t){return\"undefined\"==typeof t},tt.helpers.identity=function(t){return t}),rt=(tt.helpers.pluck=function(t){return function(e){return e[t]}},tt.helpers.just=function(t){return function(){return t}},tt.helpers.defaultNow=Date.now),ot=tt.helpers.defaultComparer=function(t,e){return Kt(t,e)},it=tt.helpers.defaultSubComparer=function(t,e){return t>e?1:e>t?-1:0},st=(tt.helpers.defaultKeySerializer=function(t){return t.toString()},tt.helpers.defaultError=function(t){throw t}),ut=tt.helpers.isPromise=function(t){return!!t&&\"function\"!=typeof t.subscribe&&\"function\"==typeof t.then},at=(tt.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},tt.helpers.not=function(t){return!t},tt.helpers.isFunction=function(){var t=function(t){return\"function\"==typeof t||!1};return t(/x/)&&(t=function(t){return\"function\"==typeof t&&\"[object Function]\"==Wt.call(t)}),t}());tt.config.longStackSupport=!1;var ct=!1;try{throw new Error}catch(pt){ct=!!pt.stack}var ht,ft=f(),lt=\"From previous event:\",dt=tt.EmptyError=function(){this.message=\"Sequence contains no elements.\",Error.call(this)};dt.prototype=Error.prototype;var vt=tt.ObjectDisposedError=function(){this.message=\"Object has been disposed\",Error.call(this)};vt.prototype=Error.prototype;var yt=tt.ArgumentOutOfRangeError=function(){this.message=\"Argument out of range\",Error.call(this)};yt.prototype=Error.prototype;var bt=tt.NotSupportedError=function(t){this.message=t||\"This operation is not supported\",Error.call(this)};bt.prototype=Error.prototype;var mt=tt.NotImplementedError=function(t){this.message=t||\"This operation is not implemented\",Error.call(this)};mt.prototype=Error.prototype;var gt=tt.helpers.notImplemented=function(){throw new mt},wt=tt.helpers.notSupported=function(){throw new bt},xt=\"function\"==typeof Symbol&&Symbol.iterator||\"_es6shim_iterator_\";X.Set&&\"function\"==typeof(new X.Set)[\"@@iterator\"]&&(xt=\"@@iterator\");var _t=tt.doneEnumerator={done:!0,value:i},St=tt.helpers.isIterable=function(t){return t[xt]!==i},Et=tt.helpers.isArrayLike=function(t){return t&&t.length!==i};tt.helpers.iterator=xt;var Ct,At=tt.internals.bindCallback=function(t,e,n){if(\"undefined\"==typeof e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},Nt=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],kt=Nt.length,Ot=\"[object Arguments]\",Pt=\"[object Array]\",jt=\"[object Boolean]\",Dt=\"[object Date]\",qt=\"[object Error]\",Rt=\"[object Function]\",Mt=\"[object Number]\",Tt=\"[object Object]\",Vt=\"[object RegExp]\",$t=\"[object String]\",Wt=Object.prototype.toString,zt=Object.prototype.hasOwnProperty,Gt=Wt.call(arguments)==Ot,Jt=Error.prototype,It=Object.prototype,Lt=String.prototype,Bt=It.propertyIsEnumerable;try{Ct=!(Wt.call(document)==Tt&&!({toString:0}+\"\"))}catch(pt){Ct=!0}var Ft={};Ft[Pt]=Ft[Dt]=Ft[Mt]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},Ft[jt]=Ft[$t]={constructor:!0,toString:!0,valueOf:!0},Ft[qt]=Ft[Rt]=Ft[Vt]={constructor:!0,toString:!0},Ft[Tt]={constructor:!0};var Ut={};!function(){var t=function(){this.x=1},e=[];t.prototype={valueOf:1,y:1};for(var n in new t)e.push(n);for(n in arguments);Ut.enumErrorProps=Bt.call(Jt,\"message\")||Bt.call(Jt,\"name\"),Ut.enumPrototypes=Bt.call(t,\"prototype\"),Ut.nonEnumArgs=0!=n,Ut.nonEnumShadows=!/valueOf/.test(e)}(1);var Ht=tt.internals.isObject=function(t){var e=typeof t;return t&&(\"function\"==e||\"object\"==e)||!1},Xt=function(t){return t&&\"object\"==typeof t?Wt.call(t)==Ot:!1};Gt||(Xt=function(t){return t&&\"object\"==typeof t?zt.call(t,\"callee\"):!1});var Qt,Kt=tt.internals.isEqual=function(t,e){return m(t,e,[],[])},Yt=({}.hasOwnProperty,Array.prototype.slice),Zt=this.inherits=tt.internals.inherits=function(t,e){function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n},te=tt.internals.addProperties=function(t){for(var e=[],n=1,r=arguments.length;r>n;n++)e.push(arguments[n]);for(var o=0,i=e.length;i>o;o++){var s=e[o];for(var u in s)t[u]=s[u]}},ee=tt.internals.addRef=function(t,e){return new qn(function(n){return new ie(e.getDisposable(),t.subscribe(n))})},ne={e:{}};S.prototype.compareTo=function(t){var e=this.value.compareTo(t.value);return 0===e&&(e=this.id-t.id),e};var re=tt.internals.PriorityQueue=function(t){this.items=new Array(t),this.length=0},oe=re.prototype;oe.isHigherPriority=function(t,e){return this.items[t].compareTo(this.items[e])<0},oe.percolate=function(t){if(!(t>=this.length||0>t)){var e=t-1>>1;if(!(0>e||e===t)&&this.isHigherPriority(t,e)){var n=this.items[t];this.items[t]=this.items[e],this.items[e]=n,this.percolate(e)}}},oe.heapify=function(t){if(+t||(t=0),!(t>=this.length||0>t)){var e=2*t+1,n=2*t+2,r=t;if(et;t++)n[t]=arguments[t];for(t=0;e>t;t++)if(!pe(n[t]))throw new TypeError(\"Not a disposable\");this.disposables=n,this.isDisposed=!1,this.length=n.length},se=ie.prototype;se.add=function(t){this.isDisposed?t.dispose():(this.disposables.push(t),this.length++)},se.remove=function(t){var e=!1;if(!this.isDisposed){var n=this.disposables.indexOf(t);-1!==n&&(e=!0,this.disposables.splice(n,1),this.length--,t.dispose())}return e},se.dispose=function(){\nif(!this.isDisposed){this.isDisposed=!0;for(var t=this.disposables.length,e=new Array(t),n=0;t>n;n++)e[n]=this.disposables[n];for(this.disposables=[],this.length=0,n=0;t>n;n++)e[n].dispose()}};var ue=tt.Disposable=function(t){this.isDisposed=!1,this.action=t||et};ue.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var ae=ue.create=function(t){return new ue(t)},ce=ue.empty={dispose:et},pe=ue.isDisposable=function(t){return t&&at(t.dispose)},he=ue.checkDisposed=function(t){if(t.isDisposed)throw new vt},fe=tt.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};fe.prototype.getDisposable=function(){return this.current},fe.prototype.setDisposable=function(t){if(this.current)throw new Error(\"Disposable has already been assigned\");var e=this.isDisposed;!e&&(this.current=t),e&&t&&t.dispose()},fe.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var t=this.current;this.current=null}t&&t.dispose()};var le=tt.SerialDisposable=function(){this.isDisposed=!1,this.current=null};le.prototype.getDisposable=function(){return this.current},le.prototype.setDisposable=function(t){var e=this.isDisposed;if(!e){var n=this.current;this.current=t}n&&n.dispose(),e&&t&&t.dispose()},le.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var t=this.current;this.current=null}t&&t.dispose()};var de=tt.RefCountDisposable=function(){function t(t){this.disposable=t,this.disposable.count++,this.isInnerDisposed=!1}function e(t){this.underlyingDisposable=t,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return t.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},e.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},e.prototype.getDisposable=function(){return this.isDisposed?ce:new t(this)},e}();E.prototype.dispose=function(){this.scheduler.scheduleWithState(this,C)};var ve=tt.internals.ScheduledItem=function(t,e,n,r,o){this.scheduler=t,this.state=e,this.action=n,this.dueTime=r,this.comparer=o||it,this.disposable=new fe};ve.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},ve.prototype.compareTo=function(t){return this.comparer(this.dueTime,t.dueTime)},ve.prototype.isCancelled=function(){return this.disposable.isDisposed},ve.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var ye=tt.Scheduler=function(){function t(t,e,n,r){this.now=t,this._schedule=e,this._scheduleRelative=n,this._scheduleAbsolute=r}function e(t,e){return e(),ce}t.isScheduler=function(e){return e instanceof t};var n=t.prototype;return n.schedule=function(t){return this._schedule(t,e)},n.scheduleWithState=function(t,e){return this._schedule(t,e)},n.scheduleWithRelative=function(t,n){return this._scheduleRelative(n,t,e)},n.scheduleWithRelativeAndState=function(t,e,n){return this._scheduleRelative(t,e,n)},n.scheduleWithAbsolute=function(t,n){return this._scheduleAbsolute(n,t,e)},n.scheduleWithAbsoluteAndState=function(t,e,n){return this._scheduleAbsolute(t,e,n)},t.now=rt,t.normalize=function(t){return 0>t&&(t=0),t},t}(),be=ye.normalize,me=ye.isScheduler;!function(t){function e(t,e){function n(e){o(e,function(e){var r=!1,o=!1,s=t.scheduleWithState(e,function(t,e){return r?i.remove(s):o=!0,n(e),ce});o||(i.add(s),r=!0)})}var r=e[0],o=e[1],i=new ie;return n(r),i}function n(t,e,n){function r(e){i(e,function(e,o){var i=!1,u=!1,a=t[n](e,o,function(t,e){return i?s.remove(a):u=!0,r(e),ce});u||(s.add(a),i=!0)})}var o=e[0],i=e[1],s=new ie;return r(o),s}function r(t,e){t(function(n){e(t,n)})}t.scheduleRecursive=function(t){return this.scheduleRecursiveWithState(t,r)},t.scheduleRecursiveWithState=function(t,n){return this.scheduleWithState([t,n],e)},t.scheduleRecursiveWithRelative=function(t,e){return this.scheduleRecursiveWithRelativeAndState(e,t,r)},t.scheduleRecursiveWithRelativeAndState=function(t,e,r){return this._scheduleRelative([t,r],e,function(t,e){return n(t,e,\"scheduleWithRelativeAndState\")})},t.scheduleRecursiveWithAbsolute=function(t,e){return this.scheduleRecursiveWithAbsoluteAndState(e,t,r)},t.scheduleRecursiveWithAbsoluteAndState=function(t,e,r){return this._scheduleAbsolute([t,r],e,function(t,e){return n(t,e,\"scheduleWithAbsoluteAndState\")})}}(ye.prototype),function(t){ye.prototype.schedulePeriodic=function(t,e){return this.schedulePeriodicWithState(null,t,e)},ye.prototype.schedulePeriodicWithState=function(t,e,n){if(\"undefined\"==typeof X.setInterval)throw new bt;e=be(e);var r=t,o=X.setInterval(function(){r=n(r)},e);return ae(function(){X.clearInterval(o)})}}(ye.prototype),function(t){t.catchError=t[\"catch\"]=function(t){return new Ae(this,t)}}(ye.prototype);var ge,we,xe=(tt.internals.SchedulePeriodicRecursive=function(){function t(t,e){e(0,this._period);try{this._state=this._action(this._state)}catch(n){throw this._cancel.dispose(),n}}function e(t,e,n,r){this._scheduler=t,this._state=e,this._period=n,this._action=r}return e.prototype.start=function(){var e=new fe;return this._cancel=e,e.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,t.bind(this))),e},e}(),ye.immediate=function(){function t(t,e){return e(this,t)}return new ye(rt,t,wt,wt)}()),_e=ye.currentThread=function(){function t(){for(;n.length>0;){var t=n.dequeue();!t.isCancelled()&&t.invoke()}}function e(e,r){var o=new ve(this,e,r,this.now());if(n)n.enqueue(o);else{n=new re(4),n.enqueue(o);var i=x(t)();if(n=null,i===ne)return _(i.e)}return o.disposable}var n,r=new ye(rt,e,wt,wt);return r.scheduleRequired=function(){return!n},r}(),Se=function(){var t,e=et;if(X.setTimeout)t=X.setTimeout,e=X.clearTimeout;else{if(!X.WScript)throw new bt;t=function(t,e){X.WScript.Sleep(e),t()}}return{setTimeout:t,clearTimeout:e}}(),Ee=Se.setTimeout,Ce=Se.clearTimeout;!function(){function t(e){if(s)Ee(function(){t(e)},0);else{var n=i[e];if(n){s=!0;var r=x(n)();if(we(e),s=!1,r===ne)return _(r.e)}}}function n(){if(!X.postMessage||X.importScripts)return!1;var t=!1,e=X.onmessage;return X.onmessage=function(){t=!0},X.postMessage(\"\",\"*\"),X.onmessage=e,t}function r(e){\"string\"==typeof e.data&&e.data.substring(0,c.length)===c&&t(e.data.substring(c.length))}var o=1,i={},s=!1;we=function(t){delete i[t]};var u=RegExp(\"^\"+String(Wt).replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\").replace(/toString| for [^\\]]+/g,\".*?\")+\"$\"),a=\"function\"==typeof(a=Z&&Y&&Z.setImmediate)&&!u.test(a)&&a;if(at(a))ge=function(e){var n=o++;return i[n]=e,a(function(){t(n)}),n};else if(\"undefined\"!=typeof e&&\"[object process]\"==={}.toString.call(e))ge=function(n){var r=o++;return i[r]=n,e.nextTick(function(){t(r)}),r};else if(n()){var c=\"ms.rx.schedule\"+Math.random();X.addEventListener?X.addEventListener(\"message\",r,!1):X.attachEvent?X.attachEvent(\"onmessage\",r):X.onmessage=r,ge=function(t){var e=o++;return i[e]=t,X.postMessage(c+currentId,\"*\"),e}}else if(X.MessageChannel){var p=new X.MessageChannel;p.port1.onmessage=function(e){t(e.data)},ge=function(t){var e=o++;return i[e]=t,p.port2.postMessage(e),e}}else ge=\"document\"in X&&\"onreadystatechange\"in X.document.createElement(\"script\")?function(e){var n=X.document.createElement(\"script\"),r=o++;return i[r]=e,n.onreadystatechange=function(){t(r),n.onreadystatechange=null,n.parentNode.removeChild(n),n=null},X.document.documentElement.appendChild(n),r}:function(e){var n=o++;return i[n]=e,Ee(function(){t(n)},0),n}}();var Ae=(ye.timeout=ye[\"default\"]=function(){function t(t,e){var n=this,r=new fe,o=ge(function(){!r.isDisposed&&r.setDisposable(e(n,t))});return new ie(r,ae(function(){we(o)}))}function e(t,e,n){var r=this,o=ye.normalize(e),i=new fe;if(0===o)return r.scheduleWithState(t,n);var s=Ee(function(){!i.isDisposed&&i.setDisposable(n(r,t))},o);return new ie(i,ae(function(){Ce(s)}))}function n(t,e,n){return this.scheduleWithRelativeAndState(t,e-this.now(),n)}return new ye(rt,t,e,n)}(),function(t){function e(t,e){return this._scheduler.scheduleWithState(t,this._wrap(e))}function n(t,e,n){return this._scheduler.scheduleWithRelativeAndState(t,e,this._wrap(n))}function r(t,e,n){return this._scheduler.scheduleWithAbsoluteAndState(t,e,this._wrap(n))}function o(o,i){this._scheduler=o,this._handler=i,this._recursiveOriginal=null,this._recursiveWrapper=null,t.call(this,this._scheduler.now.bind(this._scheduler),e,n,r)}return Zt(o,t),o.prototype._clone=function(t){return new o(t,this._handler)},o.prototype._wrap=function(t){var e=this;return function(n,r){try{return t(e._getRecursiveWrapper(n),r)}catch(o){if(!e._handler(o))throw o;return ce}}},o.prototype._getRecursiveWrapper=function(t){if(this._recursiveOriginal!==t){this._recursiveOriginal=t;var e=this._clone(t);e._recursiveOriginal=t,e._recursiveWrapper=e,this._recursiveWrapper=e}return this._recursiveWrapper},o.prototype.schedulePeriodicWithState=function(t,e,n){var r=this,o=!1,i=new fe;return i.setDisposable(this._scheduler.schedulePeriodicWithState(t,e,function(t){if(o)return null;try{return n(t)}catch(e){if(o=!0,!r._handler(e))throw e;return i.dispose(),null}})),i},o}(ye)),Ne=tt.Notification=function(){function t(t,e,n,r,o,i){this.kind=t,this.value=e,this.exception=n,this._accept=r,this._acceptObservable=o,this.toString=i}return t.prototype.accept=function(t,e,n){return t&&\"object\"==typeof t?this._acceptObservable(t):this._accept(t,e,n)},t.prototype.toObservable=function(t){var e=this;return me(t)||(t=xe),new qn(function(n){return t.scheduleWithState(e,function(t,e){e._acceptObservable(n),\"N\"===e.kind&&n.onCompleted()})})},t}(),ke=Ne.createOnNext=function(){function t(t){return t(this.value)}function e(t){return t.onNext(this.value)}function n(){return\"OnNext(\"+this.value+\")\"}return function(r){return new Ne(\"N\",r,null,t,e,n)}}(),Oe=Ne.createOnError=function(){function t(t,e){return e(this.exception)}function e(t){return t.onError(this.exception)}function n(){return\"OnError(\"+this.exception+\")\"}return function(r){return new Ne(\"E\",null,r,t,e,n)}}(),Pe=Ne.createOnCompleted=function(){function t(t,e,n){return n()}function e(t){return t.onCompleted()}function n(){return\"OnCompleted()\"}return function(){return new Ne(\"C\",null,null,t,e,n)}}(),je=tt.Observer=function(){};je.prototype.toNotifier=function(){var t=this;return function(e){return e.accept(t)}},je.prototype.asObserver=function(){return new Me(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},je.prototype.checked=function(){return new Te(this)};var De=je.create=function(t,e,n){return t||(t=et),e||(e=st),n||(n=et),new Me(t,e,n)};je.fromNotifier=function(t,e){return new Me(function(n){return t.call(e,ke(n))},function(n){return t.call(e,Oe(n))},function(){return t.call(e,Pe())})},je.prototype.notifyOn=function(t){return new $e(t,this)},je.prototype.makeSafe=function(t){return new AnonymousSafeObserver(this._onNext,this._onError,this._onCompleted,t)};var qe,Re=tt.internals.AbstractObserver=function(t){function e(){this.isStopped=!1,t.call(this)}return Zt(e,t),e.prototype.next=gt,e.prototype.error=gt,e.prototype.completed=gt,e.prototype.onNext=function(t){this.isStopped||this.next(t)},e.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.error(t))},e.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},e.prototype.dispose=function(){this.isStopped=!0},e.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.error(t),!0)},e}(je),Me=tt.AnonymousObserver=function(t){function e(e,n,r){t.call(this),this._onNext=e,this._onError=n,this._onCompleted=r}return Zt(e,t),e.prototype.next=function(t){this._onNext(t)},e.prototype.error=function(t){this._onError(t)},e.prototype.completed=function(){this._onCompleted()},e}(Re),Te=function(t){function e(e){t.call(this),this._observer=e,this._state=0}Zt(e,t);var n=e.prototype;return n.onNext=function(t){this.checkAccess();var e=x(this._observer.onNext).call(this._observer,t);this._state=0,e===ne&&_(e.e)},n.onError=function(t){this.checkAccess();var e=x(this._observer.onError).call(this._observer,t);this._state=2,e===ne&&_(e.e)},n.onCompleted=function(){this.checkAccess();var t=x(this._observer.onCompleted).call(this._observer);this._state=2,t===ne&&_(t.e)},n.checkAccess=function(){if(1===this._state)throw new Error(\"Re-entrancy detected\");if(2===this._state)throw new Error(\"Observer completed\");0===this._state&&(this._state=1)},e}(je),Ve=tt.internals.ScheduledObserver=function(t){function e(e,n){t.call(this),this.scheduler=e,this.observer=n,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new le}return Zt(e,t),e.prototype.next=function(t){var e=this;this.queue.push(function(){e.observer.onNext(t)})},e.prototype.error=function(t){var e=this;this.queue.push(function(){e.observer.onError(t)})},e.prototype.completed=function(){var t=this;this.queue.push(function(){t.observer.onCompleted()})},e.prototype.ensureActive=function(){var t=!1,e=this;!this.hasFaulted&&this.queue.length>0&&(t=!this.isAcquired,this.isAcquired=!0),t&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(t){var n;if(!(e.queue.length>0))return void(e.isAcquired=!1);n=e.queue.shift();try{n()}catch(r){throw e.queue=[],e.hasFaulted=!0,r}t()}))},e.prototype.dispose=function(){t.prototype.dispose.call(this),this.disposable.dispose()},e}(Re),$e=function(t){function e(e,n,r){t.call(this,e,n),this._cancel=r}return Zt(e,t),e.prototype.next=function(e){t.prototype.next.call(this,e),this.ensureActive()},e.prototype.error=function(e){t.prototype.error.call(this,e),this.ensureActive()},e.prototype.completed=function(){t.prototype.completed.call(this),this.ensureActive()},e.prototype.dispose=function(){t.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},e}(Ve),We=tt.Observable=function(){function t(t){if(tt.config.longStackSupport&&ct){try{throw new Error}catch(e){this.stack=e.stack.substring(e.stack.indexOf(\"\\n\")+1)}var n=this;this._subscribe=function(e){var r=e.onError.bind(e);return e.onError=function(t){a(t,n),r(t)},t.call(n,e)}}else this._subscribe=t}return qe=t.prototype,qe.subscribe=qe.forEach=function(t,e,n){return this._subscribe(\"object\"==typeof t?t:De(t,e,n))},qe.subscribeOnNext=function(t,e){return this._subscribe(De(\"undefined\"!=typeof e?function(n){t.call(e,n)}:t))},qe.subscribeOnError=function(t,e){return this._subscribe(De(null,\"undefined\"!=typeof e?function(n){t.call(e,n)}:t))},qe.subscribeOnCompleted=function(t,e){return this._subscribe(De(null,null,\"undefined\"!=typeof e?function(){t.call(e)}:t))},t}(),ze=tt.ObservableBase=function(t){function e(t){return t&&at(t.dispose)?t:at(t)?ae(t):ce}function n(t,n){var r=n[0],o=n[1],i=x(o.subscribeCore).call(o,r);return i!==ne||r.fail(ne.e)?void r.setDisposable(e(i)):_(ne.e)}function r(t){var e=new Rn(t),r=[e,this];return _e.scheduleRequired()?_e.scheduleWithState(r,n):n(null,r),e}function o(){t.call(this,r)}return Zt(o,t),o.prototype.subscribeCore=gt,o}(We),Ge=tt.internals.Enumerable=function(){},Je=function(t){function e(e){this.sources=e,t.call(this)}function n(t,e,n){this.o=t,this.s=e,this.e=n,this.isStopped=!1}return Zt(e,t),e.prototype.subscribeCore=function(t){var e,r=new le,o=xe.scheduleRecursiveWithState(this.sources[xt](),function(o,i){if(!e){var s=x(o.next).call(o);if(s===ne)return t.onError(s.e);if(s.done)return t.onCompleted();var u=s.value;ut(u)&&(u=Xe(u));var a=new fe;r.setDisposable(a),a.setDisposable(u.subscribe(new n(t,i,o)))}});return new ie(r,o,ae(function(){e=!0}))},n.prototype.onNext=function(t){this.isStopped||this.o.onNext(t)},n.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},n.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.s(this.e))},n.prototype.dispose=function(){this.isStopped=!0},n.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},e}(ze);Ge.prototype.concat=function(){return new Je(this)};var Ie=function(t){function e(e){this.sources=e,t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){var e,n=this.sources[xt](),r=new le,o=xe.scheduleRecursiveWithState(null,function(o,i){if(!e){var s=x(n.next).call(n);if(s===ne)return t.onError(s.e);if(s.done)return null!==o?t.onError(o):t.onCompleted();var u=s.value;ut(u)&&(u=Xe(u));var a=new fe;r.setDisposable(a),a.setDisposable(u.subscribe(function(e){t.onNext(e)},i,function(){t.onCompleted()}))}});return new ie(r,o,ae(function(){e=!0}))},e}(ze);Ge.prototype.catchError=function(){return new Ie(this)},Ge.prototype.catchErrorWhen=function(t){var e=this;return new qn(function(n){var r,o,i=new Tn,s=new Tn,u=t(i),a=u.subscribe(s),c=e[xt](),p=new le,h=xe.scheduleRecursive(function(t){if(!r){var e=x(c.next).call(c);if(e===ne)return n.onError(e.e);if(e.done)return void(o?n.onError(o):n.onCompleted());var u=e.value;ut(u)&&(u=Xe(u));var a=new fe,h=new fe;p.setDisposable(new ie(h,a)),a.setDisposable(u.subscribe(function(t){n.onNext(t)},function(e){h.setDisposable(s.subscribe(t,function(t){n.onError(t)},function(){n.onCompleted()})),i.onNext(e)},function(){n.onCompleted()}))}});return new ie(a,p,h,ae(function(){r=!0}))})};var Le=function(t){function e(t,e){this.v=t,this.c=null==e?-1:e}function n(t){this.v=t.v,this.l=t.c}return Zt(e,t),e.prototype[xt]=function(){return new n(this)},n.prototype.next=function(){return 0===this.l?_t:(this.l>0&&this.l--,{done:!1,value:this.v})},e}(Ge),Be=Ge.repeat=function(t,e){return new Le(t,e)},Fe=function(t){function e(t,e,n){this.s=t,this.fn=e?At(e,n,3):null}function n(t){this.i=-1,this.s=t.s,this.l=this.s.length,this.fn=t.fn}return Zt(e,t),e.prototype[xt]=function(){return new n(this)},n.prototype.next=function(){return++this.it?(e.onNext(n[t]),o(t+1)):e.onCompleted()}var e=this.observer,n=this.parent.args,r=n.length;return this.parent.scheduler.scheduleRecursiveWithState(0,t)};var on=We.fromArray=function(t,e){return me(e)||(e=_e),new rn(t,e)};We.generate=function(t,e,n,r,o){return me(o)||(o=_e),new qn(function(i){var s=!0;return o.scheduleRecursiveWithState(t,function(t,o){var u,a;try{s?s=!1:t=n(t),u=e(t),u&&(a=r(t))}catch(c){return i.onError(c)}u?(i.onNext(a),o(t)):i.onCompleted()})})};var sn=function(t){function e(){t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){return ce},e}(ze),un=We.never=function(){return new sn};We.of=function(){for(var t=arguments.length,e=new Array(t),n=0;t>n;n++)e[n]=arguments[n];return new rn(e,_e)},We.ofWithScheduler=function(t){for(var e=arguments.length,n=new Array(e-1),r=1;e>r;r++)n[r-1]=arguments[r];return new rn(n,t)};var an=function(t){function e(e,n){this.obj=e,this.keys=Object.keys(e),this.scheduler=n,t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new T(t,this);return e.run()},e}(ze);T.prototype.run=function(){function t(t,i){if(o>t){var s=r[t];e.onNext([s,n[s]]),i(t+1)}else e.onCompleted()}var e=this.observer,n=this.parent.obj,r=this.parent.keys,o=r.length;return this.parent.scheduler.scheduleRecursiveWithState(0,t)},We.pairs=function(t,e){return e||(e=_e),new an(t,e)};var cn=function(t){function e(e,n,r){this.start=e,this.rangeCount=n,this.scheduler=r,t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new pn(t,this);return e.run()},e}(ze),pn=function(){function t(t,e){this.observer=t,this.parent=e}return t.prototype.run=function(){function t(t,o){n>t?(r.onNext(e+t),o(t+1)):r.onCompleted()}var e=this.parent.start,n=this.parent.rangeCount,r=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,t)},t}();We.range=function(t,e,n){return me(n)||(n=_e),new cn(t,e,n)};var hn=function(t){function e(e,n,r){this.value=e,this.repeatCount=null==n?-1:n,this.scheduler=r,t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new V(t,this);return e.run()},e}(ze);V.prototype.run=function(){function t(t,r){return(-1===t||t>0)&&(e.onNext(n),t>0&&t--),0===t?e.onCompleted():void r(t)}var e=this.observer,n=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,t)},We.repeat=function(t,e,n){return me(n)||(n=_e),new hn(t,e,n)};var fn=function(t){function e(e,n){this.value=e,this.scheduler=n,t.call(this)}function n(t,e){this.observer=t,this.parent=e}function r(t,e){var n=e[0],r=e[1];r.onNext(n),r.onCompleted()}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new n(t,this);return e.run()},n.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],r)},e}(ze),ln=(We[\"return\"]=We.just=We.returnValue=function(t,e){return me(e)||(e=xe),new fn(t,e)},function(t){function e(e,n){this.error=e,this.scheduler=n,t.call(this)}function n(t,e){this.o=t,this.p=e}function r(t,e){var n=e[0],r=e[1];r.onError(n)}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new n(t,this);return e.run()},n.prototype.run=function(){return this.p.scheduler.scheduleWithState([this.p.error,this.o],r)},e}(ze)),dn=We[\"throw\"]=We.throwError=We.throwException=function(t,e){return me(e)||(e=xe),new ln(t,e)};We.using=function(t,e){return new qn(function(n){var r,o,i=ce;try{r=t(),r&&(i=r),o=e(r)}catch(s){return new ie(dn(s).subscribe(n),i)}return new ie(o.subscribe(n),i)})},qe.amb=function(t){var e=this;return new qn(function(n){function r(){i||(i=s,c.dispose())}function o(){i||(i=u,a.dispose())}var i,s=\"L\",u=\"R\",a=new fe,c=new fe;return ut(t)&&(t=Xe(t)),a.setDisposable(e.subscribe(function(t){r(),i===s&&n.onNext(t)},function(t){r(),i===s&&n.onError(t)},function(){r(),i===s&&n.onCompleted()})),c.setDisposable(t.subscribe(function(t){o(),i===u&&n.onNext(t)},function(t){o(),i===u&&n.onError(t)},function(){o(),i===u&&n.onCompleted()})),new ie(a,c)})},We.amb=function(){function t(t,e){return t.amb(e)}var e=un(),n=[];if(Array.isArray(arguments[0]))n=arguments[0];else for(var r=0,o=arguments.length;o>r;r++)n.push(arguments[r]);for(var r=0,o=n.length;o>r;r++)e=t(e,n[r]);return e},qe[\"catch\"]=qe.catchError=qe.catchException=function(t){return\"function\"==typeof t?$(this,t):vn([this,t])};var vn=We.catchError=We[\"catch\"]=We.catchException=function(){var t=[];if(Array.isArray(arguments[0]))t=arguments[0];else for(var e=0,n=arguments.length;n>e;e++)t.push(arguments[e]);return Ue(t).catchError()};qe.combineLatest=function(){for(var t=arguments.length,e=new Array(t),n=0;t>n;n++)e[n]=arguments[n];return Array.isArray(e[0])?e[0].unshift(this):e.unshift(this),yn.apply(this,e)};var yn=We.combineLatest=function(){for(var t=arguments.length,e=new Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e.pop();return Array.isArray(e[0])&&(e=e[0]),new qn(function(t){function n(e){if(u[e]=!0,a||(a=u.every(nt))){try{var n=r.apply(null,p)}catch(o){return t.onError(o)}t.onNext(n)}else c.filter(function(t,n){return n!==e}).every(nt)&&t.onCompleted()}function o(e){c[e]=!0,c.every(nt)&&t.onCompleted()}for(var i=e.length,s=function(){return!1},u=g(i,s),a=!1,c=g(i,s),p=new Array(i),h=new Array(i),f=0;i>f;f++)!function(r){var i=e[r],s=new fe;ut(i)&&(i=Xe(i)),s.setDisposable(i.subscribe(function(t){p[r]=t,n(r)},function(e){t.onError(e)},function(){o(r)})),h[r]=s}(f);return new ie(h)},this)};qe.concat=function(){for(var t=[],e=0,n=arguments.length;n>e;e++)t.push(arguments[e]);return t.unshift(this),mn.apply(null,t)};var bn=function(t){function e(e){this.sources=e,t.call(this)}function n(t,e){this.sources=t,this.o=e}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new n(this.sources,t);return e.run()},n.prototype.run=function(){var t,e=new le,n=this.sources,r=n.length,o=this.o,i=xe.scheduleRecursiveWithState(0,function(i,s){if(!t){if(i===r)return o.onCompleted();var u=n[i];ut(u)&&(u=Xe(u));var a=new fe;e.setDisposable(a),a.setDisposable(u.subscribe(function(t){o.onNext(t)},function(t){o.onError(t)},function(){s(i+1)}))}});return new ie(e,i,ae(function(){t=!0}))},e}(ze),mn=We.concat=function(){var t;if(Array.isArray(arguments[0]))t=arguments[0];else{t=new Array(arguments.length);for(var e=0,n=arguments.length;n>e;e++)t[e]=arguments[e]}return new bn(t)};qe.concatAll=qe.concatObservable=function(){return this.merge(1)};var gn=function(t){function e(e,n){this.source=e,this.maxConcurrent=n,t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new ie;return e.add(this.source.subscribe(new wn(t,this.maxConcurrent,e))),e},e}(ze),wn=function(){function t(t,e,n){this.o=t,this.max=e,this.g=n,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function e(t,e){this.parent=t,this.sad=e,this.isStopped=!1}return t.prototype.handleSubscribe=function(t){var n=new fe;this.g.add(n),ut(t)&&(t=Xe(t)),n.setDisposable(t.subscribe(new e(this,n)))},t.prototype.onNext=function(t){this.isStopped||(this.activeCount0?t.handleSubscribe(t.q.shift()):(t.activeCount--,t.done&&0===t.activeCount&&t.o.onCompleted())}},e.prototype.dispose=function(){this.isStopped=!0},e.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(t),!0)},t}();qe.merge=function(t){return\"number\"!=typeof t?xn(this,t):new gn(this,t)};var xn=We.merge=function(){var t,e,n=[],r=arguments.length;if(arguments[0])if(me(arguments[0]))for(t=arguments[0],e=1;r>e;e++)n.push(arguments[e]);else for(t=xe,e=0;r>e;e++)n.push(arguments[e]);else for(t=xe,e=1;r>e;e++)n.push(arguments[e]);return Array.isArray(n[0])&&(n=n[0]),M(t,n).mergeAll()},_n=tt.CompositeError=function(t){this.name=\"NotImplementedError\",this.innerErrors=t,this.message=\"This contains multiple errors. Check the innerErrors\",Error.call(this)};_n.prototype=Error.prototype,We.mergeDelayError=function(){var t;if(Array.isArray(arguments[0]))t=arguments[0];else{var e=arguments.length;t=new Array(e);for(var n=0;e>n;n++)t[n]=arguments[n]}var r=M(null,t);return new qn(function(t){function e(){0===s.length?t.onCompleted():1===s.length?t.onError(s[0]):t.onError(new _n(s))}var n=new ie,o=new fe,i=!1,s=[];return n.add(o),o.setDisposable(r.subscribe(function(r){var o=new fe;n.add(o),ut(r)&&(r=Xe(r)),o.setDisposable(r.subscribe(function(e){t.onNext(e)},function(t){s.push(t),n.remove(o),i&&1===n.length&&e()},function(){n.remove(o),i&&1===n.length&&e()}))},function(t){s.push(t),i=!0,1===n.length&&e()},function(){i=!0,1===n.length&&e()})),n})};var Sn=function(t){function e(e){this.source=e,t.call(this)}function n(t,e){this.o=t,this.g=e,this.isStopped=!1,this.done=!1}function r(t,e,n){this.parent=t,this.g=e,this.sad=n,this.isStopped=!1}return Zt(e,t),e.prototype.subscribeCore=function(t){var e=new ie,r=new fe;return e.add(r),r.setDisposable(this.source.subscribe(new n(t,e))),e},n.prototype.onNext=function(t){if(!this.isStopped){var e=new fe;this.g.add(e),ut(t)&&(t=Xe(t)),e.setDisposable(t.subscribe(new r(this,this.g,e)))}},n.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},n.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},n.prototype.dispose=function(){this.isStopped=!0},n.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},r.prototype.onNext=function(t){this.isStopped||this.parent.o.onNext(t)},r.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.parent.o.onError(t))},r.prototype.onCompleted=function(){if(!this.isStopped){var t=this.parent;this.isStopped=!0,t.g.remove(this.sad),t.done&&1===t.g.length&&t.o.onCompleted()}},r.prototype.dispose=function(){this.isStopped=!0},r.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(t),!0)},e}(ze);qe.mergeAll=qe.mergeObservable=function(){\nreturn new Sn(this)},qe.onErrorResumeNext=function(t){if(!t)throw new Error(\"Second observable is required\");return En([this,t])};var En=We.onErrorResumeNext=function(){var t=[];if(Array.isArray(arguments[0]))t=arguments[0];else for(var e=0,n=arguments.length;n>e;e++)t.push(arguments[e]);return new qn(function(e){var n=0,r=new le,o=xe.scheduleRecursive(function(o){var i,s;nn;n++)e[n]=arguments[n];var r=e.pop(),o=this;return Array.isArray(e[0])&&(e=e[0]),new qn(function(t){for(var n=e.length,i=g(n,W),s=!1,u=new Array(n),a=new Array(n+1),c=0;n>c;c++)!function(n){var r=e[n],o=new fe;ut(r)&&(r=Xe(r)),o.setDisposable(r.subscribe(function(t){u[n]=t,i[n]=!0,s=i.every(nt)},function(e){t.onError(e)},et)),a[n]=o}(c);var p=new fe;return p.setDisposable(o.subscribe(function(e){var n=[e].concat(u);if(s){var o=x(r).apply(null,n);return o===ne?t.onError(o.e):void t.onNext(o)}},function(e){t.onError(e)},function(){t.onCompleted()})),a[n]=p,new ie(a)},this)},qe.zip=function(){if(Array.isArray(arguments[0]))return z.apply(this,arguments);for(var t=arguments.length,e=new Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=this,o=e.pop();return e.unshift(r),new qn(function(t){for(var n=e.length,i=g(n,G),s=g(n,W),u=new Array(n),a=0;n>a;a++)!function(n){var a=e[n],c=new fe;ut(a)&&(a=Xe(a)),c.setDisposable(a.subscribe(function(e){if(i[n].push(e),i.every(function(t){return t.length>0})){var u=i.map(function(t){return t.shift()}),a=x(o).apply(r,u);if(a===ne)return t.onError(a.e);t.onNext(a)}else s.filter(function(t,e){return e!==n}).every(nt)&&t.onCompleted()},function(e){t.onError(e)},function(){s[n]=!0,s.every(nt)&&t.onCompleted()})),u[n]=c}(a);return new ie(u)},r)},We.zip=function(){for(var t=arguments.length,e=new Array(t),n=0;t>n;n++)e[n]=arguments[n];var r=e.shift();return r.zip.apply(r,e)},We.zipArray=function(){var t;if(Array.isArray(arguments[0]))t=arguments[0];else{var e=arguments.length;t=new Array(e);for(var n=0;e>n;n++)t[n]=arguments[n]}return new qn(function(e){for(var n=t.length,r=g(n,J),o=g(n,W),i=new Array(n),s=0;n>s;s++)!function(n){i[n]=new fe,i[n].setDisposable(t[n].subscribe(function(t){if(r[n].push(t),r.every(function(t){return t.length>0})){var i=r.map(function(t){return t.shift()});e.onNext(i)}else if(o.filter(function(t,e){return e!==n}).every(nt))return e.onCompleted()},function(t){e.onError(t)},function(){o[n]=!0,o.every(nt)&&e.onCompleted()}))}(s);return new ie(i)})},qe.asObservable=function(){var t=this;return new qn(function(e){return t.subscribe(e)},t)},qe.bufferWithCount=function(t,e){return\"number\"!=typeof e&&(e=t),this.windowWithCount(t,e).selectMany(function(t){return t.toArray()}).where(function(t){return t.length>0})},qe.dematerialize=function(){var t=this;return new qn(function(e){return t.subscribe(function(t){return t.accept(e)},function(t){e.onError(t)},function(){e.onCompleted()})},this)},qe.distinctUntilChanged=function(t,e){var n=this;return e||(e=ot),new qn(function(r){var o,i=!1;return n.subscribe(function(n){var s=n;if(t&&(s=x(t)(n),s===ne))return r.onError(s.e);if(i){var u=x(e)(o,s);if(u===ne)return r.onError(u.e)}i&&u||(i=!0,o=s,r.onNext(n))},function(t){r.onError(t)},function(){r.onCompleted()})},this)};var Nn=function(t){function e(e,n,r,o){this.source=e,this.t=!n||at(n)?De(n||et,r||et,o||et):n,t.call(this)}function n(t,e){this.o=t,this.t=e,this.isStopped=!1}return Zt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new n(t,this.t))},n.prototype.onNext=function(t){if(!this.isStopped){var e=x(this.t.onNext).call(this.t,t);e===ne&&this.o.onError(e.e),this.o.onNext(t)}},n.prototype.onError=function(t){if(!this.isStopped){this.isStopped=!0;var e=x(this.t.onError).call(this.t,t);if(e===ne)return this.o.onError(e.e);this.o.onError(t)}},n.prototype.onCompleted=function(){if(!this.isStopped){this.isStopped=!0;var t=x(this.t.onCompleted).call(this.t);if(t===ne)return this.o.onError(t.e);this.o.onCompleted()}},n.prototype.dispose=function(){this.isStopped=!0},n.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},e}(ze);qe[\"do\"]=qe.tap=qe.doAction=function(t,e,n){return new Nn(this,t,e,n)},qe.doOnNext=qe.tapOnNext=function(t,e){return this.tap(\"undefined\"!=typeof e?function(n){t.call(e,n)}:t)},qe.doOnError=qe.tapOnError=function(t,e){return this.tap(et,\"undefined\"!=typeof e?function(n){t.call(e,n)}:t)},qe.doOnCompleted=qe.tapOnCompleted=function(t,e){return this.tap(et,null,\"undefined\"!=typeof e?function(){t.call(e)}:t)},qe[\"finally\"]=qe.ensure=function(t){var e=this;return new qn(function(n){var r;try{r=e.subscribe(n)}catch(o){throw t(),o}return ae(function(){try{r.dispose()}catch(e){throw e}finally{t()}})},this)},qe.finallyAction=function(t){return this.ensure(t)};var kn=function(t){function e(e){this.source=e,t.call(this)}function n(t){this.o=t,this.isStopped=!1}return Zt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new n(t))},n.prototype.onNext=et,n.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},n.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},n.prototype.dispose=function(){this.isStopped=!0},n.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(t),!0)},e}(ze);qe.ignoreElements=function(){return new kn(this)},qe.materialize=function(){var t=this;return new qn(function(e){return t.subscribe(function(t){e.onNext(ke(t))},function(t){e.onNext(Oe(t)),e.onCompleted()},function(){e.onNext(Pe()),e.onCompleted()})},t)},qe.repeat=function(t){return Be(this,t).concat()},qe.retry=function(t){return Be(this,t).catchError()},qe.retryWhen=function(t){return Be(this).catchErrorWhen(t)};var On=function(t){function e(e,n,r,o){this.source=e,this.accumulator=n,this.hasSeed=r,this.seed=o,t.call(this)}return Zt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new I(t,this))},e}(ze);I.prototype.onNext=function(t){if(!this.isStopped){!this.hasValue&&(this.hasValue=!0);try{this.hasAccumulation?this.accumulation=this.accumulator(this.accumulation,t):(this.accumulation=this.hasSeed?this.accumulator(this.seed,t):t,this.hasAccumulation=!0)}catch(e){return this.observer.onError(e)}this.observer.onNext(this.accumulation)}},I.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.observer.onError(t))},I.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,!this.hasValue&&this.hasSeed&&this.observer.onNext(this.seed),this.observer.onCompleted())},I.prototype.dispose=function(){this.isStopped=!0},I.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(t),!0)},qe.scan=function(){var t,e,n=!1;return 2===arguments.length?(n=!0,t=arguments[0],e=arguments[1]):e=arguments[0],new On(this,e,n,t)},qe.skipLast=function(t){if(0>t)throw new yt;var e=this;return new qn(function(n){var r=[];return e.subscribe(function(e){r.push(e),r.length>t&&n.onNext(r.shift())},function(t){n.onError(t)},function(){n.onCompleted()})},e)},qe.startWith=function(){var t,e=0;arguments.length&&me(arguments[0])?(t=arguments[0],e=1):t=xe;for(var n=[],r=e,o=arguments.length;o>r;r++)n.push(arguments[r]);return Ue([on(n,t),this]).concat()},qe.takeLast=function(t){if(0>t)throw new yt;var e=this;return new qn(function(n){var r=[];return e.subscribe(function(e){r.push(e),r.length>t&&r.shift()},function(t){n.onError(t)},function(){for(;r.length>0;)n.onNext(r.shift());n.onCompleted()})},e)},qe.takeLastBuffer=function(t){var e=this;return new qn(function(n){var r=[];return e.subscribe(function(e){r.push(e),r.length>t&&r.shift()},function(t){n.onError(t)},function(){n.onNext(r),n.onCompleted()})},e)},qe.windowWithCount=function(t,e){var n=this;if(+t||(t=0),Math.abs(t)===1/0&&(t=0),0>=t)throw new yt;if(null==e&&(e=t),+e||(e=0),Math.abs(e)===1/0&&(e=0),0>=e)throw new yt;return new qn(function(r){function o(){var t=new Tn;a.push(t),r.onNext(ee(t,s))}var i=new fe,s=new de(i),u=0,a=[];return o(),i.setDisposable(n.subscribe(function(n){for(var r=0,i=a.length;i>r;r++)a[r].onNext(n);var s=u-t+1;s>=0&&s%e===0&&a.shift().onCompleted(),++u%e===0&&o()},function(t){for(;a.length>0;)a.shift().onError(t);r.onError(t)},function(){for(;a.length>0;)a.shift().onCompleted();r.onCompleted()})),s},n)},qe.selectConcat=qe.concatMap=function(t,e,n){return at(t)&&at(e)?this.concatMap(function(n,r){var o=t(n,r);return ut(o)&&(o=Xe(o)),(Et(o)||St(o))&&(o=nn(o)),o.map(function(t,o){return e(n,t,r,o)})}):at(t)?L(this,t,n):L(this,function(){return t})},qe.concatMapObserver=qe.selectConcatObserver=function(t,e,n,r){var o=this,i=At(t,r,2),s=At(e,r,1),u=At(n,r,0);return new qn(function(t){var e=0;return o.subscribe(function(n){var r;try{r=i(n,e++)}catch(o){return void t.onError(o)}ut(r)&&(r=Xe(r)),t.onNext(r)},function(e){var n;try{n=s(e)}catch(r){return void t.onError(r)}ut(n)&&(n=Xe(n)),t.onNext(n),t.onCompleted()},function(){var e;try{e=u()}catch(n){return void t.onError(n)}ut(e)&&(e=Xe(e)),t.onNext(e),t.onCompleted()})},this).concatAll()},qe.defaultIfEmpty=function(t){var e=this;return t===i&&(t=null),new qn(function(n){var r=!1;return e.subscribe(function(t){r=!0,n.onNext(t)},function(t){n.onError(t)},function(){!r&&n.onNext(t),n.onCompleted()})},e)},F.prototype.push=function(t){var e=-1===B(this.set,t,this.comparer);return e&&this.set.push(t),e},qe.distinct=function(t,e){var n=this;return e||(e=ot),new qn(function(r){var o=new F(e);return n.subscribe(function(e){var n=e;if(t)try{n=t(e)}catch(i){return void r.onError(i)}o.push(n)&&r.onNext(e)},function(t){r.onError(t)},function(){r.onCompleted()})},this)};var Pn=function(t){function e(e,n,r){this.source=e,this.selector=At(n,r,3),t.call(this)}function n(t,e){return function(n,r,o){return t.call(this,e.selector(n,r,o),r,o)}}function r(t,e,n){this.o=t,this.selector=e,this.source=n,this.i=0,this.isStopped=!1}return Zt(e,t),e.prototype.internalMap=function(t,r){return new e(this.source,n(t,this),r)},e.prototype.subscribeCore=function(t){return this.source.subscribe(new r(t,this.selector,this))},r.prototype.onNext=function(t){if(!this.isStopped){var e=x(this.selector)(t,this.i++,this.source);return e===ne?this.o.onError(e.e):void this.o.onNext(e)}},r.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},r.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},r.prototype.dispose=function(){this.isStopped=!0},r.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},e}(ze);qe.map=qe.select=function(t,e){var n=\"function\"==typeof t?t:function(){return t};return this instanceof Pn?this.internalMap(n,e):new Pn(this,n,e)},qe.pluck=function(){var t=arguments,e=arguments.length;if(0===e)throw new Error(\"List of properties cannot be empty.\");return this.map(function(n){for(var r=n,o=0;e>o;o++){var s=r[t[o]];if(\"undefined\"==typeof s)return i;r=s}return r})},qe.flatMapObserver=qe.selectManyObserver=function(t,e,n,r){var o=this;return new qn(function(i){var s=0;return o.subscribe(function(e){var n;try{n=t.call(r,e,s++)}catch(o){return void i.onError(o)}ut(n)&&(n=Xe(n)),i.onNext(n)},function(t){var n;try{n=e.call(r,t)}catch(o){return void i.onError(o)}ut(n)&&(n=Xe(n)),i.onNext(n),i.onCompleted()},function(){var t;try{t=n.call(r)}catch(e){return void i.onError(e)}ut(t)&&(t=Xe(t)),i.onNext(t),i.onCompleted()})},o).mergeAll()},qe.selectMany=qe.flatMap=function(t,e,n){return at(t)&&at(e)?this.flatMap(function(n,r){var o=t(n,r);return ut(o)&&(o=Xe(o)),(Et(o)||St(o))&&(o=nn(o)),o.map(function(t,o){return e(n,t,r,o)})},n):at(t)?U(this,t,n):U(this,function(){return t})},qe.selectSwitch=qe.flatMapLatest=qe.switchMap=function(t,e){return this.select(t,e).switchLatest()};var jn=function(t){function e(e,n){this.source=e,this.skipCount=n,t.call(this)}function n(t,e){this.c=e,this.r=e,this.o=t,this.isStopped=!1}return Zt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new n(t,this.skipCount))},n.prototype.onNext=function(t){this.isStopped||(this.r<=0?this.o.onNext(t):this.r--)},n.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},n.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},n.prototype.dispose=function(){this.isStopped=!0},n.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},e}(ze);qe.skip=function(t){if(0>t)throw new yt;return new jn(this,t)},qe.skipWhile=function(t,e){var n=this,r=At(t,e,3);return new qn(function(t){var e=0,o=!1;return n.subscribe(function(i){if(!o)try{o=!r(i,e++,n)}catch(s){return void t.onError(s)}o&&t.onNext(i)},function(e){t.onError(e)},function(){t.onCompleted()})},n)},qe.take=function(t,e){if(0>t)throw new yt;if(0===t)return Ye(e);var n=this;return new qn(function(e){var r=t;return n.subscribe(function(t){r-- >0&&(e.onNext(t),0>=r&&e.onCompleted())},function(t){e.onError(t)},function(){e.onCompleted()})},n)},qe.takeWhile=function(t,e){var n=this,r=At(t,e,3);return new qn(function(t){var e=0,o=!0;return n.subscribe(function(i){if(o){try{o=r(i,e++,n)}catch(s){return void t.onError(s)}o?t.onNext(i):t.onCompleted()}},function(e){t.onError(e)},function(){t.onCompleted()})},n)};var Dn=function(t){function e(e,n,r){this.source=e,this.predicate=At(n,r,3),t.call(this)}function n(t,e){return function(n,r,o){return e.predicate(n,r,o)&&t.call(this,n,r,o)}}function r(t,e,n){this.o=t,this.predicate=e,this.source=n,this.i=0,this.isStopped=!1}return Zt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new r(t,this.predicate,this))},e.prototype.internalFilter=function(t,r){return new e(this.source,n(t,this),r)},r.prototype.onNext=function(t){if(!this.isStopped){var e=x(this.predicate)(t,this.i++,this.source);return e===ne?this.o.onError(e.e):void(e&&this.o.onNext(t))}},r.prototype.onError=function(t){this.isStopped||(this.isStopped=!0,this.o.onError(t))},r.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},r.prototype.dispose=function(){this.isStopped=!0},r.prototype.fail=function(t){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(t),!0)},e}(ze);qe.filter=qe.where=function(t,e){return this instanceof Dn?this.internalFilter(t,e):new Dn(this,t,e)},qe.transduce=function(t){function e(t){return{\"@@transducer/init\":function(){return t},\"@@transducer/step\":function(t,e){return t.onNext(e)},\"@@transducer/result\":function(t){return t.onCompleted()}}}var n=this;return new qn(function(r){var o=t(e(r));return n.subscribe(function(t){try{o[\"@@transducer/step\"](r,t)}catch(e){r.onError(e)}},function(t){r.onError(t)},function(){o[\"@@transducer/result\"](r)})},n)};var qn=tt.AnonymousObservable=function(t){function e(t){return t&&at(t.dispose)?t:at(t)?ae(t):ce}function n(t,n){var r=n[0],o=n[1],i=x(o)(r);return i!==ne||r.fail(ne.e)?void r.setDisposable(e(i)):_(ne.e)}function r(e,r){function o(t){var r=new Rn(t),o=[r,e];return _e.scheduleRequired()?_e.scheduleWithState(o,n):n(null,o),r}this.source=r,t.call(this,o)}return Zt(r,t),r}(We),Rn=function(t){function e(e){t.call(this),this.observer=e,this.m=new fe}Zt(e,t);var n=e.prototype;return n.next=function(t){var e=x(this.observer.onNext).call(this.observer,t);e===ne&&(this.dispose(),_(e.e))},n.error=function(t){var e=x(this.observer.onError).call(this.observer,t);this.dispose(),e===ne&&_(e.e)},n.completed=function(){var t=x(this.observer.onCompleted).call(this.observer);this.dispose(),t===ne&&_(t.e)},n.setDisposable=function(t){this.m.setDisposable(t)},n.getDisposable=function(){return this.m.getDisposable()},n.dispose=function(){t.prototype.dispose.call(this),this.m.dispose()},e}(Re),Mn=function(t,e){this.subject=t,this.observer=e};Mn.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var t=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(t,1),this.observer=null}};var Tn=tt.Subject=function(t){function e(t){return he(this),this.isStopped?this.hasError?(t.onError(this.error),ce):(t.onCompleted(),ce):(this.observers.push(t),new Mn(this,t))}function n(){t.call(this,e),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Zt(n,t),te(n.prototype,je.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(he(this),!this.isStopped){this.isStopped=!0;for(var t=0,e=u(this.observers),n=e.length;n>t;t++)e[t].onCompleted();this.observers.length=0}},onError:function(t){if(he(this),!this.isStopped){this.isStopped=!0,this.error=t,this.hasError=!0;for(var e=0,n=u(this.observers),r=n.length;r>e;e++)n[e].onError(t);this.observers.length=0}},onNext:function(t){if(he(this),!this.isStopped)for(var e=0,n=u(this.observers),r=n.length;r>e;e++)n[e].onNext(t)},dispose:function(){this.isDisposed=!0,this.observers=null}}),n.create=function(t,e){return new Vn(t,e)},n}(We),Vn=(tt.AsyncSubject=function(t){function e(t){return he(this),this.isStopped?(this.hasError?t.onError(this.error):this.hasValue?(t.onNext(this.value),t.onCompleted()):t.onCompleted(),ce):(this.observers.push(t),new Mn(this,t))}function n(){t.call(this,e),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Zt(n,t),te(n.prototype,je,{hasObservers:function(){return he(this),this.observers.length>0},onCompleted:function(){var t,e;if(he(this),!this.isStopped){this.isStopped=!0;var n=u(this.observers),e=n.length;if(this.hasValue)for(t=0;e>t;t++){var r=n[t];r.onNext(this.value),r.onCompleted()}else for(t=0;e>t;t++)n[t].onCompleted();this.observers.length=0}},onError:function(t){if(he(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=t;for(var e=0,n=u(this.observers),r=n.length;r>e;e++)n[e].onError(t);this.observers.length=0}},onNext:function(t){he(this),this.isStopped||(this.value=t,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),n}(We),tt.AnonymousSubject=function(t){function e(t){return this.observable.subscribe(t)}function n(n,r){this.observer=n,this.observable=r,t.call(this,e)}return Zt(n,t),te(n.prototype,je.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(t){this.observer.onError(t)},onNext:function(t){this.observer.onNext(t)}}),n}(We));\"function\"==typeof t&&\"object\"==typeof t.amd&&t.amd?(X.Rx=tt,t(function(){return tt})):Q&&K?Y?(K.exports=tt).Rx=tt:Q.Rx=tt:X.Rx=tt;var $n=f()}).call(this)}).call(this,e(150),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{150:150}]},{},[1])(1)});", "var topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nvar doccy;\n\nif (typeof document !== 'undefined') {\n doccy = document;\n} else {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n}\n\nmodule.exports = doccy;\n", "exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n", "'use strict';\n\n/*global window, global*/\n\nvar root = typeof window !== 'undefined' ?\n window : typeof global !== 'undefined' ?\n global : {};\n\nmodule.exports = Individual;\n\nfunction Individual(key, value) {\n if (key in root) {\n return root[key];\n }\n\n root[key] = value;\n\n return value;\n}\n", "'use strict';\n\nvar Individual = require('./index.js');\n\nmodule.exports = OneVersion;\n\nfunction OneVersion(moduleName, version, defaultValue) {\n var key = '__INDIVIDUAL_ONE_VERSION_' + moduleName;\n var enforceKey = key + '_ENFORCE_SINGLETON';\n\n var versionValue = Individual(enforceKey, version);\n\n if (versionValue !== version) {\n throw new Error('Can only have one copy of ' +\n moduleName + '.\\n' +\n 'You already have version ' + versionValue +\n ' installed.\\n' +\n 'This means you cannot install version ' + version);\n }\n\n return Individual(key, defaultValue);\n}\n", "\"use strict\";\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === \"object\" && x !== null;\n};\n", "/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n/* Geohash encoding/decoding and associated functions (c) Chris Veness 2014-2016 / MIT Licence */\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\n\n'use strict';\n\n\n/**\n * Geohash encode, decode, bounds, neighbours.\n *\n * @namespace\n */\nvar Geohash = {};\n\n/* (Geohash-specific) Base32 map */\nGeohash.base32 = '0123456789bcdefghjkmnpqrstuvwxyz';\n\n/**\n * Encodes latitude/longitude to geohash, either to specified precision or to automatically\n * evaluated precision.\n *\n * @param {number} lat - Latitude in degrees.\n * @param {number} lon - Longitude in degrees.\n * @param {number} [precision] - Number of characters in resulting geohash.\n * @returns {string} Geohash of supplied latitude/longitude.\n * @throws Invalid geohash.\n *\n * @example\n * var geohash = Geohash.encode(52.205, 0.119, 7); // geohash: 'u120fxw'\n */\nGeohash.encode = function(lat, lon, precision) {\n // infer precision?\n if (typeof precision == 'undefined') {\n // refine geohash until it matches precision of supplied lat/lon\n for (var p=1; p<=12; p++) {\n var hash = Geohash.encode(lat, lon, p);\n var posn = Geohash.decode(hash);\n if (posn.lat==lat && posn.lon==lon) return hash;\n }\n precision = 12; // set to maximum\n }\n\n lat = Number(lat);\n lon = Number(lon);\n precision = Number(precision);\n\n if (isNaN(lat) || isNaN(lon) || isNaN(precision)) throw new Error('Invalid geohash');\n\n var idx = 0; // index into base32 map\n var bit = 0; // each char holds 5 bits\n var evenBit = true;\n var geohash = '';\n\n var latMin = -90, latMax = 90;\n var lonMin = -180, lonMax = 180;\n\n while (geohash.length < precision) {\n if (evenBit) {\n // bisect E-W longitude\n var lonMid = (lonMin + lonMax) / 2;\n if (lon >= lonMid) {\n idx = idx*2 + 1;\n lonMin = lonMid;\n } else {\n idx = idx*2;\n lonMax = lonMid;\n }\n } else {\n // bisect N-S latitude\n var latMid = (latMin + latMax) / 2;\n if (lat >= latMid) {\n idx = idx*2 + 1;\n latMin = latMid;\n } else {\n idx = idx*2;\n latMax = latMid;\n }\n }\n evenBit = !evenBit;\n\n if (++bit == 5) {\n // 5 bits gives us a character: append it and start over\n geohash += Geohash.base32.charAt(idx);\n bit = 0;\n idx = 0;\n }\n }\n\n return geohash;\n};\n\n\n/**\n * Decode geohash to latitude/longitude (location is approximate centre of geohash cell,\n * to reasonable precision).\n *\n * @param {string} geohash - Geohash string to be converted to latitude/longitude.\n * @returns {{lat:number, lon:number}} (Center of) geohashed location.\n * @throws Invalid geohash.\n *\n * @example\n * var latlon = Geohash.decode('u120fxw'); // latlon: { lat: 52.205, lon: 0.1188 }\n */\nGeohash.decode = function(geohash) {\n\n var bounds = Geohash.bounds(geohash); // <-- the hard work\n // now just determine the centre of the cell...\n\n var latMin = bounds.sw.lat, lonMin = bounds.sw.lon;\n var latMax = bounds.ne.lat, lonMax = bounds.ne.lon;\n\n // cell centre\n var lat = (latMin + latMax)/2;\n var lon = (lonMin + lonMax)/2;\n\n // round to close to centre without excessive precision: ⌊2-log10(Δ°)⌋ decimal places\n lat = lat.toFixed(Math.floor(2-Math.log(latMax-latMin)/Math.LN10));\n lon = lon.toFixed(Math.floor(2-Math.log(lonMax-lonMin)/Math.LN10));\n\n return { lat: Number(lat), lon: Number(lon) };\n};\n\n\n/**\n * Returns SW/NE latitude/longitude bounds of specified geohash.\n *\n * @param {string} geohash - Cell that bounds are required of.\n * @returns {{sw: {lat: number, lon: number}, ne: {lat: number, lon: number}}}\n * @throws Invalid geohash.\n */\nGeohash.bounds = function(geohash) {\n if (geohash.length === 0) throw new Error('Invalid geohash');\n\n geohash = geohash.toLowerCase();\n\n var evenBit = true;\n var latMin = -90, latMax = 90;\n var lonMin = -180, lonMax = 180;\n\n for (var i=0; i=0; n--) {\n var bitN = idx >> n & 1;\n if (evenBit) {\n // longitude\n var lonMid = (lonMin+lonMax) / 2;\n if (bitN == 1) {\n lonMin = lonMid;\n } else {\n lonMax = lonMid;\n }\n } else {\n // latitude\n var latMid = (latMin+latMax) / 2;\n if (bitN == 1) {\n latMin = latMid;\n } else {\n latMax = latMid;\n }\n }\n evenBit = !evenBit;\n }\n }\n\n var bounds = {\n sw: { lat: latMin, lon: lonMin },\n ne: { lat: latMax, lon: lonMax },\n };\n\n return bounds;\n};\n\n\n/**\n * Determines adjacent cell in given direction.\n *\n * @param geohash - Cell to which adjacent cell is required.\n * @param direction - Direction from geohash (N/S/E/W).\n * @returns {string} Geocode of adjacent cell.\n * @throws Invalid geohash.\n */\nGeohash.adjacent = function(geohash, direction) {\n // based on github.com/davetroy/geohash-js\n\n geohash = geohash.toLowerCase();\n direction = direction.toLowerCase();\n\n if (geohash.length === 0) throw new Error('Invalid geohash');\n if ('nsew'.indexOf(direction) == -1) throw new Error('Invalid direction');\n\n var neighbour = {\n n: [ 'p0r21436x8zb9dcf5h7kjnmqesgutwvy', 'bc01fg45238967deuvhjyznpkmstqrwx' ],\n s: [ '14365h7k9dcfesgujnmqp0r2twvyx8zb', '238967debc01fg45kmstqrwxuvhjyznp' ],\n e: [ 'bc01fg45238967deuvhjyznpkmstqrwx', 'p0r21436x8zb9dcf5h7kjnmqesgutwvy' ],\n w: [ '238967debc01fg45kmstqrwxuvhjyznp', '14365h7k9dcfesgujnmqp0r2twvyx8zb' ],\n };\n var border = {\n n: [ 'prxz', 'bcfguvyz' ],\n s: [ '028b', '0145hjnp' ],\n e: [ 'bcfguvyz', 'prxz' ],\n w: [ '0145hjnp', '028b' ],\n };\n\n var lastCh = geohash.slice(-1); // last character of hash\n var parent = geohash.slice(0, -1); // hash without last character\n\n var type = geohash.length % 2;\n\n // check for edge-cases which don't share common prefix\n if (border[direction][type].indexOf(lastCh) != -1 && parent !== '') {\n parent = Geohash.adjacent(parent, direction);\n }\n\n // append letter for direction to parent\n return parent + Geohash.base32.charAt(neighbour[direction][type].indexOf(lastCh));\n};\n\n\n/**\n * Returns all 8 adjacent cells to specified geohash.\n *\n * @param {string} geohash - Geohash neighbours are required of.\n * @returns {{n,ne,e,se,s,sw,w,nw: string}}\n * @throws Invalid geohash.\n */\nGeohash.neighbours = function(geohash) {\n return {\n 'n': Geohash.adjacent(geohash, 'n'),\n 'ne': Geohash.adjacent(Geohash.adjacent(geohash, 'n'), 'e'),\n 'e': Geohash.adjacent(geohash, 'e'),\n 'se': Geohash.adjacent(Geohash.adjacent(geohash, 's'), 'e'),\n 's': Geohash.adjacent(geohash, 's'),\n 'sw': Geohash.adjacent(Geohash.adjacent(geohash, 's'), 'w'),\n 'w': Geohash.adjacent(geohash, 'w'),\n 'nw': Geohash.adjacent(Geohash.adjacent(geohash, 'n'), 'w'),\n };\n};\n\n\n/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\nif (typeof module != 'undefined' && module.exports) module.exports = Geohash; // CommonJS, node.js\n", "/**\n * martinez v0.5.0\n * Martinez polygon clipping algorithm, does boolean operation on polygons (multipolygons, polygons with holes etc): intersection, union, difference, xor\n *\n * @author Alex Milevski \n * @license MIT\n * @preserve\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.martinez = {})));\n}(this, (function (exports) { 'use strict';\n\n function DEFAULT_COMPARE (a, b) { return a > b ? 1 : a < b ? -1 : 0; }\n\n var SplayTree = function SplayTree(compare, noDuplicates) {\n if ( compare === void 0 ) compare = DEFAULT_COMPARE;\n if ( noDuplicates === void 0 ) noDuplicates = false;\n\n this._compare = compare;\n this._root = null;\n this._size = 0;\n this._noDuplicates = !!noDuplicates;\n };\n\n var prototypeAccessors = { size: { configurable: true } };\n\n\n SplayTree.prototype.rotateLeft = function rotateLeft (x) {\n var y = x.right;\n if (y) {\n x.right = y.left;\n if (y.left) { y.left.parent = x; }\n y.parent = x.parent;\n }\n\n if (!x.parent) { this._root = y; }\n else if (x === x.parent.left) { x.parent.left = y; }\n else { x.parent.right = y; }\n if (y) { y.left = x; }\n x.parent = y;\n };\n\n\n SplayTree.prototype.rotateRight = function rotateRight (x) {\n var y = x.left;\n if (y) {\n x.left = y.right;\n if (y.right) { y.right.parent = x; }\n y.parent = x.parent;\n }\n\n if (!x.parent) { this._root = y; }\n else if(x === x.parent.left) { x.parent.left = y; }\n else { x.parent.right = y; }\n if (y) { y.right = x; }\n x.parent = y;\n };\n\n\n SplayTree.prototype._splay = function _splay (x) {\n var this$1 = this;\n\n while (x.parent) {\n var p = x.parent;\n if (!p.parent) {\n if (p.left === x) { this$1.rotateRight(p); }\n else { this$1.rotateLeft(p); }\n } else if (p.left === x && p.parent.left === p) {\n this$1.rotateRight(p.parent);\n this$1.rotateRight(p);\n } else if (p.right === x && p.parent.right === p) {\n this$1.rotateLeft(p.parent);\n this$1.rotateLeft(p);\n } else if (p.left === x && p.parent.right === p) {\n this$1.rotateRight(p);\n this$1.rotateLeft(p);\n } else {\n this$1.rotateLeft(p);\n this$1.rotateRight(p);\n }\n }\n };\n\n\n SplayTree.prototype.splay = function splay (x) {\n var this$1 = this;\n\n var p, gp, ggp, l, r;\n\n while (x.parent) {\n p = x.parent;\n gp = p.parent;\n\n if (gp && gp.parent) {\n ggp = gp.parent;\n if (ggp.left === gp) { ggp.left= x; }\n else { ggp.right = x; }\n x.parent = ggp;\n } else {\n x.parent = null;\n this$1._root = x;\n }\n\n l = x.left; r = x.right;\n\n if (x === p.left) { // left\n if (gp) {\n if (gp.left === p) {\n /* zig-zig */\n if (p.right) {\n gp.left = p.right;\n gp.left.parent = gp;\n } else { gp.left = null; }\n\n p.right = gp;\n gp.parent = p;\n } else {\n /* zig-zag */\n if (l) {\n gp.right = l;\n l.parent = gp;\n } else { gp.right = null; }\n\n x.left = gp;\n gp.parent = x;\n }\n }\n if (r) {\n p.left = r;\n r.parent = p;\n } else { p.left = null; }\n\n x.right= p;\n p.parent = x;\n } else { // right\n if (gp) {\n if (gp.right === p) {\n /* zig-zig */\n if (p.left) {\n gp.right = p.left;\n gp.right.parent = gp;\n } else { gp.right = null; }\n\n p.left = gp;\n gp.parent = p;\n } else {\n /* zig-zag */\n if (r) {\n gp.left = r;\n r.parent = gp;\n } else { gp.left = null; }\n\n x.right = gp;\n gp.parent = x;\n }\n }\n if (l) {\n p.right = l;\n l.parent = p;\n } else { p.right = null; }\n\n x.left = p;\n p.parent = x;\n }\n }\n };\n\n\n SplayTree.prototype.replace = function replace (u, v) {\n if (!u.parent) { this._root = v; }\n else if (u === u.parent.left) { u.parent.left = v; }\n else { u.parent.right = v; }\n if (v) { v.parent = u.parent; }\n };\n\n\n SplayTree.prototype.minNode = function minNode (u) {\n if ( u === void 0 ) u = this._root;\n\n if (u) { while (u.left) { u = u.left; } }\n return u;\n };\n\n\n SplayTree.prototype.maxNode = function maxNode (u) {\n if ( u === void 0 ) u = this._root;\n\n if (u) { while (u.right) { u = u.right; } }\n return u;\n };\n\n\n SplayTree.prototype.insert = function insert (key, data) {\n var z = this._root;\n var p = null;\n var comp = this._compare;\n var cmp;\n\n if (this._noDuplicates) {\n while (z) {\n p = z;\n cmp = comp(z.key, key);\n if (cmp === 0) { return; }\n else if (comp(z.key, key) < 0) { z = z.right; }\n else { z = z.left; }\n }\n } else {\n while (z) {\n p = z;\n if (comp(z.key, key) < 0) { z = z.right; }\n else { z = z.left; }\n }\n }\n\n z = { key: key, data: data, left: null, right: null, parent: p };\n\n if (!p) { this._root = z; }\n else if (comp(p.key, z.key) < 0) { p.right = z; }\n else { p.left= z; }\n\n this.splay(z);\n this._size++;\n return z;\n };\n\n\n SplayTree.prototype.find = function find (key) {\n var z = this._root;\n var comp = this._compare;\n while (z) {\n var cmp = comp(z.key, key);\n if (cmp < 0) { z = z.right; }\n else if (cmp > 0) { z = z.left; }\n else { return z; }\n }\n return null;\n };\n\n /**\n * Whether the tree contains a node with the given key\n * @param{Key} key\n * @return {boolean} true/false\n */\n SplayTree.prototype.contains = function contains (key) {\n var node = this._root;\n var comparator = this._compare;\n while (node){\n var cmp = comparator(key, node.key);\n if (cmp === 0) { return true; }\n else if (cmp < 0) { node = node.left; }\n else { node = node.right; }\n }\n\n return false;\n };\n\n\n SplayTree.prototype.remove = function remove (key) {\n var z = this.find(key);\n\n if (!z) { return false; }\n\n this.splay(z);\n\n if (!z.left) { this.replace(z, z.right); }\n else if (!z.right) { this.replace(z, z.left); }\n else {\n var y = this.minNode(z.right);\n if (y.parent !== z) {\n this.replace(y, y.right);\n y.right = z.right;\n y.right.parent = y;\n }\n this.replace(z, y);\n y.left = z.left;\n y.left.parent = y;\n }\n\n this._size--;\n return true;\n };\n\n\n SplayTree.prototype.removeNode = function removeNode (z) {\n if (!z) { return false; }\n\n this.splay(z);\n\n if (!z.left) { this.replace(z, z.right); }\n else if (!z.right) { this.replace(z, z.left); }\n else {\n var y = this.minNode(z.right);\n if (y.parent !== z) {\n this.replace(y, y.right);\n y.right = z.right;\n y.right.parent = y;\n }\n this.replace(z, y);\n y.left = z.left;\n y.left.parent = y;\n }\n\n this._size--;\n return true;\n };\n\n\n SplayTree.prototype.erase = function erase (key) {\n var z = this.find(key);\n if (!z) { return; }\n\n this.splay(z);\n\n var s = z.left;\n var t = z.right;\n\n var sMax = null;\n if (s) {\n s.parent = null;\n sMax = this.maxNode(s);\n this.splay(sMax);\n this._root = sMax;\n }\n if (t) {\n if (s) { sMax.right = t; }\n else { this._root = t; }\n t.parent = sMax;\n }\n\n this._size--;\n };\n\n /**\n * Removes and returns the node with smallest key\n * @return {?Node}\n */\n SplayTree.prototype.pop = function pop () {\n var node = this._root, returnValue = null;\n if (node) {\n while (node.left) { node = node.left; }\n returnValue = { key: node.key, data: node.data };\n this.remove(node.key);\n }\n return returnValue;\n };\n\n\n /* eslint-disable class-methods-use-this */\n\n /**\n * Successor node\n * @param{Node} node\n * @return {?Node}\n */\n SplayTree.prototype.next = function next (node) {\n var successor = node;\n if (successor) {\n if (successor.right) {\n successor = successor.right;\n while (successor && successor.left) { successor = successor.left; }\n } else {\n successor = node.parent;\n while (successor && successor.right === node) {\n node = successor; successor = successor.parent;\n }\n }\n }\n return successor;\n };\n\n\n /**\n * Predecessor node\n * @param{Node} node\n * @return {?Node}\n */\n SplayTree.prototype.prev = function prev (node) {\n var predecessor = node;\n if (predecessor) {\n if (predecessor.left) {\n predecessor = predecessor.left;\n while (predecessor && predecessor.right) { predecessor = predecessor.right; }\n } else {\n predecessor = node.parent;\n while (predecessor && predecessor.left === node) {\n node = predecessor;\n predecessor = predecessor.parent;\n }\n }\n }\n return predecessor;\n };\n /* eslint-enable class-methods-use-this */\n\n\n /**\n * @param{forEachCallback} callback\n * @return {SplayTree}\n */\n SplayTree.prototype.forEach = function forEach (callback) {\n var current = this._root;\n var s = [], done = false, i = 0;\n\n while (!done) {\n // Reach the left most Node of the current Node\n if (current) {\n // Place pointer to a tree node on the stack\n // before traversing the node's left subtree\n s.push(current);\n current = current.left;\n } else {\n // BackTrack from the empty subtree and visit the Node\n // at the top of the stack; however, if the stack is\n // empty you are done\n if (s.length > 0) {\n current = s.pop();\n callback(current, i++);\n\n // We have visited the node and its left\n // subtree. Now, it's right subtree's turn\n current = current.right;\n } else { done = true; }\n }\n }\n return this;\n };\n\n\n /**\n * Walk key range from `low` to `high`. Stops if `fn` returns a value.\n * @param{Key} low\n * @param{Key} high\n * @param{Function} fn\n * @param{*?} ctx\n * @return {SplayTree}\n */\n SplayTree.prototype.range = function range (low, high, fn, ctx) {\n var this$1 = this;\n\n var Q = [];\n var compare = this._compare;\n var node = this._root, cmp;\n\n while (Q.length !== 0 || node) {\n if (node) {\n Q.push(node);\n node = node.left;\n } else {\n node = Q.pop();\n cmp = compare(node.key, high);\n if (cmp > 0) {\n break;\n } else if (compare(node.key, low) >= 0) {\n if (fn.call(ctx, node)) { return this$1; } // stop if smth is returned\n }\n node = node.right;\n }\n }\n return this;\n };\n\n /**\n * Returns all keys in order\n * @return {Array}\n */\n SplayTree.prototype.keys = function keys () {\n var current = this._root;\n var s = [], r = [], done = false;\n\n while (!done) {\n if (current) {\n s.push(current);\n current = current.left;\n } else {\n if (s.length > 0) {\n current = s.pop();\n r.push(current.key);\n current = current.right;\n } else { done = true; }\n }\n }\n return r;\n };\n\n\n /**\n * Returns `data` fields of all nodes in order.\n * @return {Array}\n */\n SplayTree.prototype.values = function values () {\n var current = this._root;\n var s = [], r = [], done = false;\n\n while (!done) {\n if (current) {\n s.push(current);\n current = current.left;\n } else {\n if (s.length > 0) {\n current = s.pop();\n r.push(current.data);\n current = current.right;\n } else { done = true; }\n }\n }\n return r;\n };\n\n\n /**\n * Returns node at given index\n * @param{number} index\n * @return {?Node}\n */\n SplayTree.prototype.at = function at (index) {\n // removed after a consideration, more misleading than useful\n // index = index % this.size;\n // if (index < 0) index = this.size - index;\n\n var current = this._root;\n var s = [], done = false, i = 0;\n\n while (!done) {\n if (current) {\n s.push(current);\n current = current.left;\n } else {\n if (s.length > 0) {\n current = s.pop();\n if (i === index) { return current; }\n i++;\n current = current.right;\n } else { done = true; }\n }\n }\n return null;\n };\n\n /**\n * Bulk-load items. Both array have to be same size\n * @param{Array} keys\n * @param{Array}[values]\n * @param{Boolean} [presort=false] Pre-sort keys and values, using\n * tree's comparator. Sorting is done\n * in-place\n * @return {AVLTree}\n */\n SplayTree.prototype.load = function load (keys, values, presort) {\n if ( keys === void 0 ) keys = [];\n if ( values === void 0 ) values = [];\n if ( presort === void 0 ) presort = false;\n\n if (this._size !== 0) { throw new Error('bulk-load: tree is not empty'); }\n var size = keys.length;\n if (presort) { sort(keys, values, 0, size - 1, this._compare); }\n this._root = loadRecursive(null, keys, values, 0, size);\n this._size = size;\n return this;\n };\n\n\n SplayTree.prototype.min = function min () {\n var node = this.minNode(this._root);\n if (node) { return node.key; }\n else { return null; }\n };\n\n\n SplayTree.prototype.max = function max () {\n var node = this.maxNode(this._root);\n if (node) { return node.key; }\n else { return null; }\n };\n\n SplayTree.prototype.isEmpty = function isEmpty () { return this._root === null; };\n prototypeAccessors.size.get = function () { return this._size; };\n\n\n /**\n * Create a tree and load it with items\n * @param{Array} keys\n * @param{Array?} [values]\n\n * @param{Function?} [comparator]\n * @param{Boolean?} [presort=false] Pre-sort keys and values, using\n * tree's comparator. Sorting is done\n * in-place\n * @param{Boolean?} [noDuplicates=false] Allow duplicates\n * @return {SplayTree}\n */\n SplayTree.createTree = function createTree (keys, values, comparator, presort, noDuplicates) {\n return new SplayTree(comparator, noDuplicates).load(keys, values, presort);\n };\n\n Object.defineProperties( SplayTree.prototype, prototypeAccessors );\n\n\n function loadRecursive (parent, keys, values, start, end) {\n var size = end - start;\n if (size > 0) {\n var middle = start + Math.floor(size / 2);\n var key = keys[middle];\n var data = values[middle];\n var node = { key: key, data: data, parent: parent };\n node.left = loadRecursive(node, keys, values, start, middle);\n node.right = loadRecursive(node, keys, values, middle + 1, end);\n return node;\n }\n return null;\n }\n\n\n function sort(keys, values, left, right, compare) {\n if (left >= right) { return; }\n\n var pivot = keys[(left + right) >> 1];\n var i = left - 1;\n var j = right + 1;\n\n while (true) {\n do { i++; } while (compare(keys[i], pivot) < 0);\n do { j--; } while (compare(keys[j], pivot) > 0);\n if (i >= j) { break; }\n\n var tmp = keys[i];\n keys[i] = keys[j];\n keys[j] = tmp;\n\n tmp = values[i];\n values[i] = values[j];\n values[j] = tmp;\n }\n\n sort(keys, values, left, j, compare);\n sort(keys, values, j + 1, right, compare);\n }\n\n var NORMAL = 0;\n var NON_CONTRIBUTING = 1;\n var SAME_TRANSITION = 2;\n var DIFFERENT_TRANSITION = 3;\n\n var INTERSECTION = 0;\n var UNION = 1;\n var DIFFERENCE = 2;\n var XOR = 3;\n\n /**\n * @param {SweepEvent} event\n * @param {SweepEvent} prev\n * @param {Operation} operation\n */\n function computeFields (event, prev, operation) {\n // compute inOut and otherInOut fields\n if (prev === null) {\n event.inOut = false;\n event.otherInOut = true;\n\n // previous line segment in sweepline belongs to the same polygon\n } else {\n if (event.isSubject === prev.isSubject) {\n event.inOut = !prev.inOut;\n event.otherInOut = prev.otherInOut;\n\n // previous line segment in sweepline belongs to the clipping polygon\n } else {\n event.inOut = !prev.otherInOut;\n event.otherInOut = prev.isVertical() ? !prev.inOut : prev.inOut;\n }\n\n // compute prevInResult field\n if (prev) {\n event.prevInResult = (!inResult(prev, operation) || prev.isVertical())\n ? prev.prevInResult : prev;\n }\n }\n\n // check if the line segment belongs to the Boolean operation\n event.inResult = inResult(event, operation);\n }\n\n\n /* eslint-disable indent */\n function inResult(event, operation) {\n switch (event.type) {\n case NORMAL:\n switch (operation) {\n case INTERSECTION:\n return !event.otherInOut;\n case UNION:\n return event.otherInOut;\n case DIFFERENCE:\n // return (event.isSubject && !event.otherInOut) ||\n // (!event.isSubject && event.otherInOut);\n return (event.isSubject && event.otherInOut) ||\n (!event.isSubject && !event.otherInOut);\n case XOR:\n return true;\n }\n break;\n case SAME_TRANSITION:\n return operation === INTERSECTION || operation === UNION;\n case DIFFERENT_TRANSITION:\n return operation === DIFFERENCE;\n case NON_CONTRIBUTING:\n return false;\n }\n return false;\n }\n /* eslint-enable indent */\n\n var SweepEvent = function SweepEvent (point, left, otherEvent, isSubject, edgeType) {\n\n /**\n * Is left endpoint?\n * @type {Boolean}\n */\n this.left = left;\n\n /**\n * @type {Array.}\n */\n this.point = point;\n\n /**\n * Other edge reference\n * @type {SweepEvent}\n */\n this.otherEvent = otherEvent;\n\n /**\n * Belongs to source or clipping polygon\n * @type {Boolean}\n */\n this.isSubject = isSubject;\n\n /**\n * Edge contribution type\n * @type {Number}\n */\n this.type = edgeType || NORMAL;\n\n\n /**\n * In-out transition for the sweepline crossing polygon\n * @type {Boolean}\n */\n this.inOut = false;\n\n\n /**\n * @type {Boolean}\n */\n this.otherInOut = false;\n\n /**\n * Previous event in result?\n * @type {SweepEvent}\n */\n this.prevInResult = null;\n\n /**\n * Does event belong to result?\n * @type {Boolean}\n */\n this.inResult = false;\n\n\n // connection step\n\n /**\n * @type {Boolean}\n */\n this.resultInOut = false;\n\n this.isExteriorRing = true;\n };\n\n\n /**\n * @param{Array.}p\n * @return {Boolean}\n */\n SweepEvent.prototype.isBelow = function isBelow (p) {\n var p0 = this.point, p1 = this.otherEvent.point;\n return this.left\n ? (p0[0] - p[0]) * (p1[1] - p[1]) - (p1[0] - p[0]) * (p0[1] - p[1]) > 0\n // signedArea(this.point, this.otherEvent.point, p) > 0 :\n : (p1[0] - p[0]) * (p0[1] - p[1]) - (p0[0] - p[0]) * (p1[1] - p[1]) > 0;\n //signedArea(this.otherEvent.point, this.point, p) > 0;\n };\n\n\n /**\n * @param{Array.}p\n * @return {Boolean}\n */\n SweepEvent.prototype.isAbove = function isAbove (p) {\n return !this.isBelow(p);\n };\n\n\n /**\n * @return {Boolean}\n */\n SweepEvent.prototype.isVertical = function isVertical () {\n return this.point[0] === this.otherEvent.point[0];\n };\n\n\n SweepEvent.prototype.clone = function clone () {\n var copy = new SweepEvent(\n this.point, this.left, this.otherEvent, this.isSubject, this.type);\n\n copy.inResult = this.inResult;\n copy.prevInResult = this.prevInResult;\n copy.isExteriorRing = this.isExteriorRing;\n copy.inOut = this.inOut;\n copy.otherInOut = this.otherInOut;\n\n return copy;\n };\n\n function equals(p1, p2) {\n if (p1[0] === p2[0]) {\n if (p1[1] === p2[1]) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n }\n\n // const EPSILON = 1e-9;\n // const abs = Math.abs;\n // TODO https://github.com/w8r/martinez/issues/6#issuecomment-262847164\n // Precision problem.\n //\n // module.exports = function equals(p1, p2) {\n // return abs(p1[0] - p2[0]) <= EPSILON && abs(p1[1] - p2[1]) <= EPSILON;\n // };\n\n /**\n * Signed area of the triangle (p0, p1, p2)\n * @param {Array.} p0\n * @param {Array.} p1\n * @param {Array.} p2\n * @return {Number}\n */\n function signedArea(p0, p1, p2) {\n return (p0[0] - p2[0]) * (p1[1] - p2[1]) - (p1[0] - p2[0]) * (p0[1] - p2[1]);\n }\n\n /**\n * @param {SweepEvent} e1\n * @param {SweepEvent} e2\n * @return {Number}\n */\n function compareEvents(e1, e2) {\n var p1 = e1.point;\n var p2 = e2.point;\n\n // Different x-coordinate\n if (p1[0] > p2[0]) { return 1; }\n if (p1[0] < p2[0]) { return -1; }\n\n // Different points, but same x-coordinate\n // Event with lower y-coordinate is processed first\n if (p1[1] !== p2[1]) { return p1[1] > p2[1] ? 1 : -1; }\n\n return specialCases(e1, e2, p1, p2);\n }\n\n\n /* eslint-disable no-unused-vars */\n function specialCases(e1, e2, p1, p2) {\n // Same coordinates, but one is a left endpoint and the other is\n // a right endpoint. The right endpoint is processed first\n if (e1.left !== e2.left)\n { return e1.left ? 1 : -1; }\n\n // const p2 = e1.otherEvent.point, p3 = e2.otherEvent.point;\n // const sa = (p1[0] - p3[0]) * (p2[1] - p3[1]) - (p2[0] - p3[0]) * (p1[1] - p3[1])\n // Same coordinates, both events\n // are left endpoints or right endpoints.\n // not collinear\n if (signedArea(p1, e1.otherEvent.point, e2.otherEvent.point) !== 0) {\n // the event associate to the bottom segment is processed first\n return (!e1.isBelow(e2.otherEvent.point)) ? 1 : -1;\n }\n\n return (!e1.isSubject && e2.isSubject) ? 1 : -1;\n }\n /* eslint-enable no-unused-vars */\n\n /**\n * @param {SweepEvent} se\n * @param {Array.} p\n * @param {Queue} queue\n * @return {Queue}\n */\n function divideSegment(se, p, queue) {\n var r = new SweepEvent(p, false, se, se.isSubject);\n var l = new SweepEvent(p, true, se.otherEvent, se.isSubject);\n\n /* eslint-disable no-console */\n if (equals(se.point, se.otherEvent.point)) {\n\n console.warn('what is that, a collapsed segment?', se);\n }\n /* eslint-enable no-console */\n\n r.contourId = l.contourId = se.contourId;\n\n // avoid a rounding error. The left event would be processed after the right event\n if (compareEvents(l, se.otherEvent) > 0) {\n se.otherEvent.left = true;\n l.left = false;\n }\n\n // avoid a rounding error. The left event would be processed after the right event\n // if (compareEvents(se, r) > 0) {}\n\n se.otherEvent.otherEvent = l;\n se.otherEvent = r;\n\n queue.push(l);\n queue.push(r);\n\n return queue;\n }\n\n //const EPS = 1e-9;\n\n /**\n * Finds the magnitude of the cross product of two vectors (if we pretend\n * they're in three dimensions)\n *\n * @param {Object} a First vector\n * @param {Object} b Second vector\n * @private\n * @returns {Number} The magnitude of the cross product\n */\n function crossProduct(a, b) {\n return (a[0] * b[1]) - (a[1] * b[0]);\n }\n\n /**\n * Finds the dot product of two vectors.\n *\n * @param {Object} a First vector\n * @param {Object} b Second vector\n * @private\n * @returns {Number} The dot product\n */\n function dotProduct(a, b) {\n return (a[0] * b[0]) + (a[1] * b[1]);\n }\n\n /**\n * Finds the intersection (if any) between two line segments a and b, given the\n * line segments' end points a1, a2 and b1, b2.\n *\n * This algorithm is based on Schneider and Eberly.\n * http://www.cimec.org.ar/~ncalvo/Schneider_Eberly.pdf\n * Page 244.\n *\n * @param {Array.} a1 point of first line\n * @param {Array.} a2 point of first line\n * @param {Array.} b1 point of second line\n * @param {Array.} b2 point of second line\n * @param {Boolean=} noEndpointTouch whether to skip single touchpoints\n * (meaning connected segments) as\n * intersections\n * @returns {Array.>|Null} If the lines intersect, the point of\n * intersection. If they overlap, the two end points of the overlapping segment.\n * Otherwise, null.\n */\n function intersection (a1, a2, b1, b2, noEndpointTouch) {\n // The algorithm expects our lines in the form P + sd, where P is a point,\n // s is on the interval [0, 1], and d is a vector.\n // We are passed two points. P can be the first point of each pair. The\n // vector, then, could be thought of as the distance (in x and y components)\n // from the first point to the second point.\n // So first, let's make our vectors:\n var va = [a2[0] - a1[0], a2[1] - a1[1]];\n var vb = [b2[0] - b1[0], b2[1] - b1[1]];\n // We also define a function to convert back to regular point form:\n\n /* eslint-disable arrow-body-style */\n\n function toPoint(p, s, d) {\n return [\n p[0] + s * d[0],\n p[1] + s * d[1]\n ];\n }\n\n /* eslint-enable arrow-body-style */\n\n // The rest is pretty much a straight port of the algorithm.\n var e = [b1[0] - a1[0], b1[1] - a1[1]];\n var kross = crossProduct(va, vb);\n var sqrKross = kross * kross;\n var sqrLenA = dotProduct(va, va);\n //const sqrLenB = dotProduct(vb, vb);\n\n // Check for line intersection. This works because of the properties of the\n // cross product -- specifically, two vectors are parallel if and only if the\n // cross product is the 0 vector. The full calculation involves relative error\n // to account for possible very small line segments. See Schneider & Eberly\n // for details.\n if (sqrKross > 0/* EPS * sqrLenB * sqLenA */) {\n // If they're not parallel, then (because these are line segments) they\n // still might not actually intersect. This code checks that the\n // intersection point of the lines is actually on both line segments.\n var s = crossProduct(e, vb) / kross;\n if (s < 0 || s > 1) {\n // not on line segment a\n return null;\n }\n var t = crossProduct(e, va) / kross;\n if (t < 0 || t > 1) {\n // not on line segment b\n return null;\n }\n if (s === 0 || s === 1) {\n // on an endpoint of line segment a\n return noEndpointTouch ? null : [toPoint(a1, s, va)];\n }\n if (t === 0 || t === 1) {\n // on an endpoint of line segment b\n return noEndpointTouch ? null : [toPoint(b1, t, vb)];\n }\n return [toPoint(a1, s, va)];\n }\n\n // If we've reached this point, then the lines are either parallel or the\n // same, but the segments could overlap partially or fully, or not at all.\n // So we need to find the overlap, if any. To do that, we can use e, which is\n // the (vector) difference between the two initial points. If this is parallel\n // with the line itself, then the two lines are the same line, and there will\n // be overlap.\n //const sqrLenE = dotProduct(e, e);\n kross = crossProduct(e, va);\n sqrKross = kross * kross;\n\n if (sqrKross > 0 /* EPS * sqLenB * sqLenE */) {\n // Lines are just parallel, not the same. No overlap.\n return null;\n }\n\n var sa = dotProduct(va, e) / sqrLenA;\n var sb = sa + dotProduct(va, vb) / sqrLenA;\n var smin = Math.min(sa, sb);\n var smax = Math.max(sa, sb);\n\n // this is, essentially, the FindIntersection acting on floats from\n // Schneider & Eberly, just inlined into this function.\n if (smin <= 1 && smax >= 0) {\n\n // overlap on an end point\n if (smin === 1) {\n return noEndpointTouch ? null : [toPoint(a1, smin > 0 ? smin : 0, va)];\n }\n\n if (smax === 0) {\n return noEndpointTouch ? null : [toPoint(a1, smax < 1 ? smax : 1, va)];\n }\n\n if (noEndpointTouch && smin === 0 && smax === 1) { return null; }\n\n // There's overlap on a segment -- two points of intersection. Return both.\n return [\n toPoint(a1, smin > 0 ? smin : 0, va),\n toPoint(a1, smax < 1 ? smax : 1, va)\n ];\n }\n\n return null;\n }\n\n /**\n * @param {SweepEvent} se1\n * @param {SweepEvent} se2\n * @param {Queue} queue\n * @return {Number}\n */\n function possibleIntersection (se1, se2, queue) {\n // that disallows self-intersecting polygons,\n // did cost us half a day, so I'll leave it\n // out of respect\n // if (se1.isSubject === se2.isSubject) return;\n var inter = intersection(\n se1.point, se1.otherEvent.point,\n se2.point, se2.otherEvent.point\n );\n\n var nintersections = inter ? inter.length : 0;\n if (nintersections === 0) { return 0; } // no intersection\n\n // the line segments intersect at an endpoint of both line segments\n if ((nintersections === 1) &&\n (equals(se1.point, se2.point) ||\n equals(se1.otherEvent.point, se2.otherEvent.point))) {\n return 0;\n }\n\n if (nintersections === 2 && se1.isSubject === se2.isSubject) {\n // if(se1.contourId === se2.contourId){\n // console.warn('Edges of the same polygon overlap',\n // se1.point, se1.otherEvent.point, se2.point, se2.otherEvent.point);\n // }\n //throw new Error('Edges of the same polygon overlap');\n return 0;\n }\n\n // The line segments associated to se1 and se2 intersect\n if (nintersections === 1) {\n\n // if the intersection point is not an endpoint of se1\n if (!equals(se1.point, inter[0]) && !equals(se1.otherEvent.point, inter[0])) {\n divideSegment(se1, inter[0], queue);\n }\n\n // if the intersection point is not an endpoint of se2\n if (!equals(se2.point, inter[0]) && !equals(se2.otherEvent.point, inter[0])) {\n divideSegment(se2, inter[0], queue);\n }\n return 1;\n }\n\n // The line segments associated to se1 and se2 overlap\n var events = [];\n var leftCoincide = false;\n var rightCoincide = false;\n\n if (equals(se1.point, se2.point)) {\n leftCoincide = true; // linked\n } else if (compareEvents(se1, se2) === 1) {\n events.push(se2, se1);\n } else {\n events.push(se1, se2);\n }\n\n if (equals(se1.otherEvent.point, se2.otherEvent.point)) {\n rightCoincide = true;\n } else if (compareEvents(se1.otherEvent, se2.otherEvent) === 1) {\n events.push(se2.otherEvent, se1.otherEvent);\n } else {\n events.push(se1.otherEvent, se2.otherEvent);\n }\n\n if ((leftCoincide && rightCoincide) || leftCoincide) {\n // both line segments are equal or share the left endpoint\n se2.type = NON_CONTRIBUTING;\n se1.type = (se2.inOut === se1.inOut)\n ? SAME_TRANSITION : DIFFERENT_TRANSITION;\n\n if (leftCoincide && !rightCoincide) {\n // honestly no idea, but changing events selection from [2, 1]\n // to [0, 1] fixes the overlapping self-intersecting polygons issue\n divideSegment(events[1].otherEvent, events[0].point, queue);\n }\n return 2;\n }\n\n // the line segments share the right endpoint\n if (rightCoincide) {\n divideSegment(events[0], events[1].point, queue);\n return 3;\n }\n\n // no line segment includes totally the other one\n if (events[0] !== events[3].otherEvent) {\n divideSegment(events[0], events[1].point, queue);\n divideSegment(events[1], events[2].point, queue);\n return 3;\n }\n\n // one line segment includes the other one\n divideSegment(events[0], events[1].point, queue);\n divideSegment(events[3].otherEvent, events[2].point, queue);\n\n return 3;\n }\n\n /**\n * @param {SweepEvent} le1\n * @param {SweepEvent} le2\n * @return {Number}\n */\n function compareSegments(le1, le2) {\n if (le1 === le2) { return 0; }\n\n // Segments are not collinear\n if (signedArea(le1.point, le1.otherEvent.point, le2.point) !== 0 ||\n signedArea(le1.point, le1.otherEvent.point, le2.otherEvent.point) !== 0) {\n\n // If they share their left endpoint use the right endpoint to sort\n if (equals(le1.point, le2.point)) { return le1.isBelow(le2.otherEvent.point) ? -1 : 1; }\n\n // Different left endpoint: use the left endpoint to sort\n if (le1.point[0] === le2.point[0]) { return le1.point[1] < le2.point[1] ? -1 : 1; }\n\n // has the line segment associated to e1 been inserted\n // into S after the line segment associated to e2 ?\n if (compareEvents(le1, le2) === 1) { return le2.isAbove(le1.point) ? -1 : 1; }\n\n // The line segment associated to e2 has been inserted\n // into S after the line segment associated to e1\n return le1.isBelow(le2.point) ? -1 : 1;\n }\n\n if (le1.isSubject === le2.isSubject) { // same polygon\n var p1 = le1.point, p2 = le2.point;\n if (p1[0] === p2[0] && p1[1] === p2[1]/*equals(le1.point, le2.point)*/) {\n p1 = le1.otherEvent.point; p2 = le2.otherEvent.point;\n if (p1[0] === p2[0] && p1[1] === p2[1]) { return 0; }\n else { return le1.contourId > le2.contourId ? 1 : -1; }\n }\n } else { // Segments are collinear, but belong to separate polygons\n return le1.isSubject ? -1 : 1;\n }\n\n return compareEvents(le1, le2) === 1 ? 1 : -1;\n }\n\n function subdivide(eventQueue, subject, clipping, sbbox, cbbox, operation) {\n var sweepLine = new SplayTree(compareSegments);\n var sortedEvents = [];\n\n var rightbound = Math.min(sbbox[2], cbbox[2]);\n\n var prev, next, begin;\n\n while (eventQueue.length !== 0) {\n var event = eventQueue.pop();\n sortedEvents.push(event);\n\n // optimization by bboxes for intersection and difference goes here\n if ((operation === INTERSECTION && event.point[0] > rightbound) ||\n (operation === DIFFERENCE && event.point[0] > sbbox[2])) {\n break;\n }\n\n if (event.left) {\n next = prev = sweepLine.insert(event);\n begin = sweepLine.minNode();\n\n if (prev !== begin) { prev = sweepLine.prev(prev); }\n else { prev = null; }\n\n next = sweepLine.next(next);\n\n var prevEvent = prev ? prev.key : null;\n var prevprevEvent = (void 0);\n computeFields(event, prevEvent, operation);\n if (next) {\n if (possibleIntersection(event, next.key, eventQueue) === 2) {\n computeFields(event, prevEvent, operation);\n computeFields(event, next.key, operation);\n }\n }\n\n if (prev) {\n if (possibleIntersection(prev.key, event, eventQueue) === 2) {\n var prevprev = prev;\n if (prevprev !== begin) { prevprev = sweepLine.prev(prevprev); }\n else { prevprev = null; }\n\n prevprevEvent = prevprev ? prevprev.key : null;\n computeFields(prevEvent, prevprevEvent, operation);\n computeFields(event, prevEvent, operation);\n }\n }\n } else {\n event = event.otherEvent;\n next = prev = sweepLine.find(event);\n\n if (prev && next) {\n\n if (prev !== begin) { prev = sweepLine.prev(prev); }\n else { prev = null; }\n\n next = sweepLine.next(next);\n sweepLine.remove(event);\n\n if (next && prev) {\n possibleIntersection(prev.key, next.key, eventQueue);\n }\n }\n }\n }\n return sortedEvents;\n }\n\n /**\n * @param {Array.} sortedEvents\n * @return {Array.}\n */\n function orderEvents(sortedEvents) {\n var event, i, len, tmp;\n var resultEvents = [];\n for (i = 0, len = sortedEvents.length; i < len; i++) {\n event = sortedEvents[i];\n if ((event.left && event.inResult) ||\n (!event.left && event.otherEvent.inResult)) {\n resultEvents.push(event);\n }\n }\n // Due to overlapping edges the resultEvents array can be not wholly sorted\n var sorted = false;\n while (!sorted) {\n sorted = true;\n for (i = 0, len = resultEvents.length; i < len; i++) {\n if ((i + 1) < len &&\n compareEvents(resultEvents[i], resultEvents[i + 1]) === 1) {\n tmp = resultEvents[i];\n resultEvents[i] = resultEvents[i + 1];\n resultEvents[i + 1] = tmp;\n sorted = false;\n }\n }\n }\n\n\n for (i = 0, len = resultEvents.length; i < len; i++) {\n event = resultEvents[i];\n event.pos = i;\n }\n\n // imagine, the right event is found in the beginning of the queue,\n // when his left counterpart is not marked yet\n for (i = 0, len = resultEvents.length; i < len; i++) {\n event = resultEvents[i];\n if (!event.left) {\n tmp = event.pos;\n event.pos = event.otherEvent.pos;\n event.otherEvent.pos = tmp;\n }\n }\n\n return resultEvents;\n }\n\n\n /**\n * @param {Number} pos\n * @param {Array.} resultEvents\n * @param {Object>} processed\n * @return {Number}\n */\n function nextPos(pos, resultEvents, processed, origIndex) {\n var p, p1;\n var newPos = pos + 1;\n var length = resultEvents.length;\n\n p = resultEvents[pos].point;\n\n if (newPos < length)\n { p1 = resultEvents[newPos].point; }\n\n\n // while in range and not the current one by value\n while (newPos < length && p1[0] === p[0] && p1[1] === p[1]) {\n if (!processed[newPos]) {\n return newPos;\n } else {\n newPos++;\n }\n p1 = resultEvents[newPos].point;\n }\n\n newPos = pos - 1;\n\n while (processed[newPos] && newPos >= origIndex) {\n newPos--;\n }\n return newPos;\n }\n\n\n /**\n * @param {Array.} sortedEvents\n * @return {Array.<*>} polygons\n */\n function connectEdges(sortedEvents, operation) {\n var i, len;\n var resultEvents = orderEvents(sortedEvents);\n\n // \"false\"-filled array\n var processed = {};\n var result = [];\n var event;\n\n for (i = 0, len = resultEvents.length; i < len; i++) {\n if (processed[i]) { continue; }\n var contour = [[]];\n\n if (!resultEvents[i].isExteriorRing) {\n if (operation === DIFFERENCE && !resultEvents[i].isSubject && result.length === 0) {\n result.push(contour);\n } else if (result.length === 0) {\n result.push([[contour]]);\n } else {\n result[result.length - 1].push(contour[0]);\n }\n } else if (operation === DIFFERENCE && !resultEvents[i].isSubject && result.length > 1) {\n result[result.length - 1].push(contour[0]);\n } else {\n result.push(contour);\n }\n\n var ringId = result.length - 1;\n var pos = i;\n\n var initial = resultEvents[i].point;\n contour[0].push(initial);\n\n while (pos >= i) {\n event = resultEvents[pos];\n processed[pos] = true;\n\n if (event.left) {\n event.resultInOut = false;\n event.contourId = ringId;\n } else {\n event.otherEvent.resultInOut = true;\n event.otherEvent.contourId = ringId;\n }\n\n pos = event.pos;\n processed[pos] = true;\n contour[0].push(resultEvents[pos].point);\n pos = nextPos(pos, resultEvents, processed, i);\n }\n\n pos = pos === -1 ? i : pos;\n\n event = resultEvents[pos];\n processed[pos] = processed[event.pos] = true;\n event.otherEvent.resultInOut = true;\n event.otherEvent.contourId = ringId;\n }\n\n // Handle if the result is a polygon (eg not multipoly)\n // Commented it again, let's see what do we mean by that\n // if (result.length === 1) result = result[0];\n return result;\n }\n\n var tinyqueue = TinyQueue;\n var default_1 = TinyQueue;\n\n function TinyQueue(data, compare) {\n var this$1 = this;\n\n if (!(this instanceof TinyQueue)) { return new TinyQueue(data, compare); }\n\n this.data = data || [];\n this.length = this.data.length;\n this.compare = compare || defaultCompare;\n\n if (this.length > 0) {\n for (var i = (this.length >> 1) - 1; i >= 0; i--) { this$1._down(i); }\n }\n }\n\n function defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }\n\n TinyQueue.prototype = {\n\n push: function (item) {\n this.data.push(item);\n this.length++;\n this._up(this.length - 1);\n },\n\n pop: function () {\n if (this.length === 0) { return undefined; }\n\n var top = this.data[0];\n this.length--;\n\n if (this.length > 0) {\n this.data[0] = this.data[this.length];\n this._down(0);\n }\n this.data.pop();\n\n return top;\n },\n\n peek: function () {\n return this.data[0];\n },\n\n _up: function (pos) {\n var data = this.data;\n var compare = this.compare;\n var item = data[pos];\n\n while (pos > 0) {\n var parent = (pos - 1) >> 1;\n var current = data[parent];\n if (compare(item, current) >= 0) { break; }\n data[pos] = current;\n pos = parent;\n }\n\n data[pos] = item;\n },\n\n _down: function (pos) {\n var this$1 = this;\n\n var data = this.data;\n var compare = this.compare;\n var halfLength = this.length >> 1;\n var item = data[pos];\n\n while (pos < halfLength) {\n var left = (pos << 1) + 1;\n var right = left + 1;\n var best = data[left];\n\n if (right < this$1.length && compare(data[right], best) < 0) {\n left = right;\n best = data[right];\n }\n if (compare(best, item) >= 0) { break; }\n\n data[pos] = best;\n pos = left;\n }\n\n data[pos] = item;\n }\n };\n tinyqueue.default = default_1;\n\n var max = Math.max;\n var min = Math.min;\n\n var contourId = 0;\n\n\n function processPolygon(contourOrHole, isSubject, depth, Q, bbox, isExteriorRing) {\n var i, len, s1, s2, e1, e2;\n for (i = 0, len = contourOrHole.length - 1; i < len; i++) {\n s1 = contourOrHole[i];\n s2 = contourOrHole[i + 1];\n e1 = new SweepEvent(s1, false, undefined, isSubject);\n e2 = new SweepEvent(s2, false, e1, isSubject);\n e1.otherEvent = e2;\n\n if (s1[0] === s2[0] && s1[1] === s2[1]) {\n continue; // skip collapsed edges, or it breaks\n }\n\n e1.contourId = e2.contourId = depth;\n if (!isExteriorRing) {\n e1.isExteriorRing = false;\n e2.isExteriorRing = false;\n }\n if (compareEvents(e1, e2) > 0) {\n e2.left = true;\n } else {\n e1.left = true;\n }\n\n var x = s1[0], y = s1[1];\n bbox[0] = min(bbox[0], x);\n bbox[1] = min(bbox[1], y);\n bbox[2] = max(bbox[2], x);\n bbox[3] = max(bbox[3], y);\n\n // Pushing it so the queue is sorted from left to right,\n // with object on the left having the highest priority.\n Q.push(e1);\n Q.push(e2);\n }\n }\n\n\n function fillQueue(subject, clipping, sbbox, cbbox, operation) {\n var eventQueue = new tinyqueue(null, compareEvents);\n var polygonSet, isExteriorRing, i, ii, j, jj; //, k, kk;\n\n for (i = 0, ii = subject.length; i < ii; i++) {\n polygonSet = subject[i];\n for (j = 0, jj = polygonSet.length; j < jj; j++) {\n isExteriorRing = j === 0;\n if (isExteriorRing) { contourId++; }\n processPolygon(polygonSet[j], true, contourId, eventQueue, sbbox, isExteriorRing);\n }\n }\n\n for (i = 0, ii = clipping.length; i < ii; i++) {\n polygonSet = clipping[i];\n for (j = 0, jj = polygonSet.length; j < jj; j++) {\n isExteriorRing = j === 0;\n if (operation === DIFFERENCE) { isExteriorRing = false; }\n if (isExteriorRing) { contourId++; }\n processPolygon(polygonSet[j], false, contourId, eventQueue, cbbox, isExteriorRing);\n }\n }\n\n return eventQueue;\n }\n\n var EMPTY = [];\n\n\n function trivialOperation(subject, clipping, operation) {\n var result = null;\n if (subject.length * clipping.length === 0) {\n if (operation === INTERSECTION) {\n result = EMPTY;\n } else if (operation === DIFFERENCE) {\n result = subject;\n } else if (operation === UNION ||\n operation === XOR) {\n result = (subject.length === 0) ? clipping : subject;\n }\n }\n return result;\n }\n\n\n function compareBBoxes(subject, clipping, sbbox, cbbox, operation) {\n var result = null;\n if (sbbox[0] > cbbox[2] ||\n cbbox[0] > sbbox[2] ||\n sbbox[1] > cbbox[3] ||\n cbbox[1] > sbbox[3]) {\n if (operation === INTERSECTION) {\n result = EMPTY;\n } else if (operation === DIFFERENCE) {\n result = subject;\n } else if (operation === UNION ||\n operation === XOR) {\n result = subject.concat(clipping);\n }\n }\n return result;\n }\n\n\n function boolean(subject, clipping, operation) {\n if (typeof subject[0][0][0] === 'number') {\n subject = [subject];\n }\n if (typeof clipping[0][0][0] === 'number') {\n clipping = [clipping];\n }\n var trivial = trivialOperation(subject, clipping, operation);\n if (trivial) {\n return trivial === EMPTY ? null : trivial;\n }\n var sbbox = [Infinity, Infinity, -Infinity, -Infinity];\n var cbbox = [Infinity, Infinity, -Infinity, -Infinity];\n\n //console.time('fill queue');\n var eventQueue = fillQueue(subject, clipping, sbbox, cbbox, operation);\n //console.timeEnd('fill queue');\n\n trivial = compareBBoxes(subject, clipping, sbbox, cbbox, operation);\n if (trivial) {\n return trivial === EMPTY ? null : trivial;\n }\n //console.time('subdivide edges');\n var sortedEvents = subdivide(eventQueue, subject, clipping, sbbox, cbbox, operation);\n //console.timeEnd('subdivide edges');\n\n //console.time('connect vertices');\n var result = connectEdges(sortedEvents, operation);\n //console.timeEnd('connect vertices');\n return result;\n }\n\n function union (subject, clipping) {\n return boolean(subject, clipping, UNION);\n }\n\n function diff (subject, clipping) {\n return boolean(subject, clipping, DIFFERENCE);\n }\n\n function xor (subject, clipping){\n return boolean(subject, clipping, XOR);\n }\n\n function intersection$1 (subject, clipping) {\n return boolean(subject, clipping, INTERSECTION);\n }\n\n /**\n * @enum {Number}\n */\n var operations = { UNION: UNION, DIFFERENCE: DIFFERENCE, INTERSECTION: INTERSECTION, XOR: XOR };\n\n exports.union = union;\n exports.diff = diff;\n exports.xor = xor;\n exports.intersection = intersection$1;\n exports.operations = operations;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=martinez.umd.js.map\n", "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// Split a filename into [root, dir, basename, ext], unix version\n// 'root' is just a slash, or nothing.\nvar splitPathRe =\n /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\nvar splitPath = function(filename) {\n return splitPathRe.exec(filename).slice(1);\n};\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function(path) {\n var result = splitPath(path),\n root = result[0],\n dir = result[1];\n\n if (!root && !dir) {\n // No dirname whatsoever\n return '.';\n }\n\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n\n return root + dir;\n};\n\n\nexports.basename = function(path, ext) {\n var f = splitPath(path)[2];\n // TODO: make this comparison case-insensitive on windows?\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\n\nexports.extname = function(path) {\n return splitPath(path)[3];\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n", "'use strict';\n\nmodule.exports = Pbf;\n\nvar ieee754 = require('ieee754');\n\nfunction Pbf(buf) {\n this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0);\n this.pos = 0;\n this.type = 0;\n this.length = this.buf.length;\n}\n\nPbf.Varint = 0; // varint: int32, int64, uint32, uint64, sint32, sint64, bool, enum\nPbf.Fixed64 = 1; // 64-bit: double, fixed64, sfixed64\nPbf.Bytes = 2; // length-delimited: string, bytes, embedded messages, packed repeated fields\nPbf.Fixed32 = 5; // 32-bit: float, fixed32, sfixed32\n\nvar SHIFT_LEFT_32 = (1 << 16) * (1 << 16),\n SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;\n\nPbf.prototype = {\n\n destroy: function() {\n this.buf = null;\n },\n\n // === READING =================================================================\n\n readFields: function(readField, result, end) {\n end = end || this.length;\n\n while (this.pos < end) {\n var val = this.readVarint(),\n tag = val >> 3,\n startPos = this.pos;\n\n this.type = val & 0x7;\n readField(tag, result, this);\n\n if (this.pos === startPos) this.skip(val);\n }\n return result;\n },\n\n readMessage: function(readField, result) {\n return this.readFields(readField, result, this.readVarint() + this.pos);\n },\n\n readFixed32: function() {\n var val = readUInt32(this.buf, this.pos);\n this.pos += 4;\n return val;\n },\n\n readSFixed32: function() {\n var val = readInt32(this.buf, this.pos);\n this.pos += 4;\n return val;\n },\n\n // 64-bit int handling is based on github.com/dpw/node-buffer-more-ints (MIT-licensed)\n\n readFixed64: function() {\n var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;\n this.pos += 8;\n return val;\n },\n\n readSFixed64: function() {\n var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;\n this.pos += 8;\n return val;\n },\n\n readFloat: function() {\n var val = ieee754.read(this.buf, this.pos, true, 23, 4);\n this.pos += 4;\n return val;\n },\n\n readDouble: function() {\n var val = ieee754.read(this.buf, this.pos, true, 52, 8);\n this.pos += 8;\n return val;\n },\n\n readVarint: function(isSigned) {\n var buf = this.buf,\n val, b;\n\n b = buf[this.pos++]; val = b & 0x7f; if (b < 0x80) return val;\n b = buf[this.pos++]; val |= (b & 0x7f) << 7; if (b < 0x80) return val;\n b = buf[this.pos++]; val |= (b & 0x7f) << 14; if (b < 0x80) return val;\n b = buf[this.pos++]; val |= (b & 0x7f) << 21; if (b < 0x80) return val;\n b = buf[this.pos]; val |= (b & 0x0f) << 28;\n\n return readVarintRemainder(val, isSigned, this);\n },\n\n readVarint64: function() { // for compatibility with v2.0.1\n return this.readVarint(true);\n },\n\n readSVarint: function() {\n var num = this.readVarint();\n return num % 2 === 1 ? (num + 1) / -2 : num / 2; // zigzag encoding\n },\n\n readBoolean: function() {\n return Boolean(this.readVarint());\n },\n\n readString: function() {\n var end = this.readVarint() + this.pos,\n str = readUtf8(this.buf, this.pos, end);\n this.pos = end;\n return str;\n },\n\n readBytes: function() {\n var end = this.readVarint() + this.pos,\n buffer = this.buf.subarray(this.pos, end);\n this.pos = end;\n return buffer;\n },\n\n // verbose for performance reasons; doesn't affect gzipped size\n\n readPackedVarint: function(arr, isSigned) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readVarint(isSigned));\n return arr;\n },\n readPackedSVarint: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readSVarint());\n return arr;\n },\n readPackedBoolean: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readBoolean());\n return arr;\n },\n readPackedFloat: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readFloat());\n return arr;\n },\n readPackedDouble: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readDouble());\n return arr;\n },\n readPackedFixed32: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readFixed32());\n return arr;\n },\n readPackedSFixed32: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readSFixed32());\n return arr;\n },\n readPackedFixed64: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readFixed64());\n return arr;\n },\n readPackedSFixed64: function(arr) {\n var end = readPackedEnd(this);\n arr = arr || [];\n while (this.pos < end) arr.push(this.readSFixed64());\n return arr;\n },\n\n skip: function(val) {\n var type = val & 0x7;\n if (type === Pbf.Varint) while (this.buf[this.pos++] > 0x7f) {}\n else if (type === Pbf.Bytes) this.pos = this.readVarint() + this.pos;\n else if (type === Pbf.Fixed32) this.pos += 4;\n else if (type === Pbf.Fixed64) this.pos += 8;\n else throw new Error('Unimplemented type: ' + type);\n },\n\n // === WRITING =================================================================\n\n writeTag: function(tag, type) {\n this.writeVarint((tag << 3) | type);\n },\n\n realloc: function(min) {\n var length = this.length || 16;\n\n while (length < this.pos + min) length *= 2;\n\n if (length !== this.length) {\n var buf = new Uint8Array(length);\n buf.set(this.buf);\n this.buf = buf;\n this.length = length;\n }\n },\n\n finish: function() {\n this.length = this.pos;\n this.pos = 0;\n return this.buf.subarray(0, this.length);\n },\n\n writeFixed32: function(val) {\n this.realloc(4);\n writeInt32(this.buf, val, this.pos);\n this.pos += 4;\n },\n\n writeSFixed32: function(val) {\n this.realloc(4);\n writeInt32(this.buf, val, this.pos);\n this.pos += 4;\n },\n\n writeFixed64: function(val) {\n this.realloc(8);\n writeInt32(this.buf, val & -1, this.pos);\n writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);\n this.pos += 8;\n },\n\n writeSFixed64: function(val) {\n this.realloc(8);\n writeInt32(this.buf, val & -1, this.pos);\n writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);\n this.pos += 8;\n },\n\n writeVarint: function(val) {\n val = +val || 0;\n\n if (val > 0xfffffff || val < 0) {\n writeBigVarint(val, this);\n return;\n }\n\n this.realloc(4);\n\n this.buf[this.pos++] = val & 0x7f | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;\n this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;\n this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;\n this.buf[this.pos++] = (val >>> 7) & 0x7f;\n },\n\n writeSVarint: function(val) {\n this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2);\n },\n\n writeBoolean: function(val) {\n this.writeVarint(Boolean(val));\n },\n\n writeString: function(str) {\n str = String(str);\n this.realloc(str.length * 4);\n\n this.pos++; // reserve 1 byte for short string length\n\n var startPos = this.pos;\n // write the string directly to the buffer and see how much was written\n this.pos = writeUtf8(this.buf, str, this.pos);\n var len = this.pos - startPos;\n\n if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);\n\n // finally, write the message length in the reserved place and restore the position\n this.pos = startPos - 1;\n this.writeVarint(len);\n this.pos += len;\n },\n\n writeFloat: function(val) {\n this.realloc(4);\n ieee754.write(this.buf, val, this.pos, true, 23, 4);\n this.pos += 4;\n },\n\n writeDouble: function(val) {\n this.realloc(8);\n ieee754.write(this.buf, val, this.pos, true, 52, 8);\n this.pos += 8;\n },\n\n writeBytes: function(buffer) {\n var len = buffer.length;\n this.writeVarint(len);\n this.realloc(len);\n for (var i = 0; i < len; i++) this.buf[this.pos++] = buffer[i];\n },\n\n writeRawMessage: function(fn, obj) {\n this.pos++; // reserve 1 byte for short message length\n\n // write the message directly to the buffer and see how much was written\n var startPos = this.pos;\n fn(obj, this);\n var len = this.pos - startPos;\n\n if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);\n\n // finally, write the message length in the reserved place and restore the position\n this.pos = startPos - 1;\n this.writeVarint(len);\n this.pos += len;\n },\n\n writeMessage: function(tag, fn, obj) {\n this.writeTag(tag, Pbf.Bytes);\n this.writeRawMessage(fn, obj);\n },\n\n writePackedVarint: function(tag, arr) { this.writeMessage(tag, writePackedVarint, arr); },\n writePackedSVarint: function(tag, arr) { this.writeMessage(tag, writePackedSVarint, arr); },\n writePackedBoolean: function(tag, arr) { this.writeMessage(tag, writePackedBoolean, arr); },\n writePackedFloat: function(tag, arr) { this.writeMessage(tag, writePackedFloat, arr); },\n writePackedDouble: function(tag, arr) { this.writeMessage(tag, writePackedDouble, arr); },\n writePackedFixed32: function(tag, arr) { this.writeMessage(tag, writePackedFixed32, arr); },\n writePackedSFixed32: function(tag, arr) { this.writeMessage(tag, writePackedSFixed32, arr); },\n writePackedFixed64: function(tag, arr) { this.writeMessage(tag, writePackedFixed64, arr); },\n writePackedSFixed64: function(tag, arr) { this.writeMessage(tag, writePackedSFixed64, arr); },\n\n writeBytesField: function(tag, buffer) {\n this.writeTag(tag, Pbf.Bytes);\n this.writeBytes(buffer);\n },\n writeFixed32Field: function(tag, val) {\n this.writeTag(tag, Pbf.Fixed32);\n this.writeFixed32(val);\n },\n writeSFixed32Field: function(tag, val) {\n this.writeTag(tag, Pbf.Fixed32);\n this.writeSFixed32(val);\n },\n writeFixed64Field: function(tag, val) {\n this.writeTag(tag, Pbf.Fixed64);\n this.writeFixed64(val);\n },\n writeSFixed64Field: function(tag, val) {\n this.writeTag(tag, Pbf.Fixed64);\n this.writeSFixed64(val);\n },\n writeVarintField: function(tag, val) {\n this.writeTag(tag, Pbf.Varint);\n this.writeVarint(val);\n },\n writeSVarintField: function(tag, val) {\n this.writeTag(tag, Pbf.Varint);\n this.writeSVarint(val);\n },\n writeStringField: function(tag, str) {\n this.writeTag(tag, Pbf.Bytes);\n this.writeString(str);\n },\n writeFloatField: function(tag, val) {\n this.writeTag(tag, Pbf.Fixed32);\n this.writeFloat(val);\n },\n writeDoubleField: function(tag, val) {\n this.writeTag(tag, Pbf.Fixed64);\n this.writeDouble(val);\n },\n writeBooleanField: function(tag, val) {\n this.writeVarintField(tag, Boolean(val));\n }\n};\n\nfunction readVarintRemainder(l, s, p) {\n var buf = p.buf,\n h, b;\n\n b = buf[p.pos++]; h = (b & 0x70) >> 4; if (b < 0x80) return toNum(l, h, s);\n b = buf[p.pos++]; h |= (b & 0x7f) << 3; if (b < 0x80) return toNum(l, h, s);\n b = buf[p.pos++]; h |= (b & 0x7f) << 10; if (b < 0x80) return toNum(l, h, s);\n b = buf[p.pos++]; h |= (b & 0x7f) << 17; if (b < 0x80) return toNum(l, h, s);\n b = buf[p.pos++]; h |= (b & 0x7f) << 24; if (b < 0x80) return toNum(l, h, s);\n b = buf[p.pos++]; h |= (b & 0x01) << 31; if (b < 0x80) return toNum(l, h, s);\n\n throw new Error('Expected varint not more than 10 bytes');\n}\n\nfunction readPackedEnd(pbf) {\n return pbf.type === Pbf.Bytes ?\n pbf.readVarint() + pbf.pos : pbf.pos + 1;\n}\n\nfunction toNum(low, high, isSigned) {\n if (isSigned) {\n return high * 0x100000000 + (low >>> 0);\n }\n\n return ((high >>> 0) * 0x100000000) + (low >>> 0);\n}\n\nfunction writeBigVarint(val, pbf) {\n var low, high;\n\n if (val >= 0) {\n low = (val % 0x100000000) | 0;\n high = (val / 0x100000000) | 0;\n } else {\n low = ~(-val % 0x100000000);\n high = ~(-val / 0x100000000);\n\n if (low ^ 0xffffffff) {\n low = (low + 1) | 0;\n } else {\n low = 0;\n high = (high + 1) | 0;\n }\n }\n\n if (val >= 0x10000000000000000 || val < -0x10000000000000000) {\n throw new Error('Given varint doesn\\'t fit into 10 bytes');\n }\n\n pbf.realloc(10);\n\n writeBigVarintLow(low, high, pbf);\n writeBigVarintHigh(high, pbf);\n}\n\nfunction writeBigVarintLow(low, high, pbf) {\n pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;\n pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;\n pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;\n pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;\n pbf.buf[pbf.pos] = low & 0x7f;\n}\n\nfunction writeBigVarintHigh(high, pbf) {\n var lsb = (high & 0x07) << 4;\n\n pbf.buf[pbf.pos++] |= lsb | ((high >>>= 3) ? 0x80 : 0); if (!high) return;\n pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;\n pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;\n pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;\n pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;\n pbf.buf[pbf.pos++] = high & 0x7f;\n}\n\nfunction makeRoomForExtraLength(startPos, len, pbf) {\n var extraLen =\n len <= 0x3fff ? 1 :\n len <= 0x1fffff ? 2 :\n len <= 0xfffffff ? 3 : Math.ceil(Math.log(len) / (Math.LN2 * 7));\n\n // if 1 byte isn't enough for encoding message length, shift the data to the right\n pbf.realloc(extraLen);\n for (var i = pbf.pos - 1; i >= startPos; i--) pbf.buf[i + extraLen] = pbf.buf[i];\n}\n\nfunction writePackedVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeVarint(arr[i]); }\nfunction writePackedSVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSVarint(arr[i]); }\nfunction writePackedFloat(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFloat(arr[i]); }\nfunction writePackedDouble(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeDouble(arr[i]); }\nfunction writePackedBoolean(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeBoolean(arr[i]); }\nfunction writePackedFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFixed32(arr[i]); }\nfunction writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed32(arr[i]); }\nfunction writePackedFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFixed64(arr[i]); }\nfunction writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed64(arr[i]); }\n\n// Buffer code below from https://github.com/feross/buffer, MIT-licensed\n\nfunction readUInt32(buf, pos) {\n return ((buf[pos]) |\n (buf[pos + 1] << 8) |\n (buf[pos + 2] << 16)) +\n (buf[pos + 3] * 0x1000000);\n}\n\nfunction writeInt32(buf, val, pos) {\n buf[pos] = val;\n buf[pos + 1] = (val >>> 8);\n buf[pos + 2] = (val >>> 16);\n buf[pos + 3] = (val >>> 24);\n}\n\nfunction readInt32(buf, pos) {\n return ((buf[pos]) |\n (buf[pos + 1] << 8) |\n (buf[pos + 2] << 16)) +\n (buf[pos + 3] << 24);\n}\n\nfunction readUtf8(buf, pos, end) {\n var str = '';\n var i = pos;\n\n while (i < end) {\n var b0 = buf[i];\n var c = null; // codepoint\n var bytesPerSequence =\n b0 > 0xEF ? 4 :\n b0 > 0xDF ? 3 :\n b0 > 0xBF ? 2 : 1;\n\n if (i + bytesPerSequence > end) break;\n\n var b1, b2, b3;\n\n if (bytesPerSequence === 1) {\n if (b0 < 0x80) {\n c = b0;\n }\n } else if (bytesPerSequence === 2) {\n b1 = buf[i + 1];\n if ((b1 & 0xC0) === 0x80) {\n c = (b0 & 0x1F) << 0x6 | (b1 & 0x3F);\n if (c <= 0x7F) {\n c = null;\n }\n }\n } else if (bytesPerSequence === 3) {\n b1 = buf[i + 1];\n b2 = buf[i + 2];\n if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80) {\n c = (b0 & 0xF) << 0xC | (b1 & 0x3F) << 0x6 | (b2 & 0x3F);\n if (c <= 0x7FF || (c >= 0xD800 && c <= 0xDFFF)) {\n c = null;\n }\n }\n } else if (bytesPerSequence === 4) {\n b1 = buf[i + 1];\n b2 = buf[i + 2];\n b3 = buf[i + 3];\n if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\n c = (b0 & 0xF) << 0x12 | (b1 & 0x3F) << 0xC | (b2 & 0x3F) << 0x6 | (b3 & 0x3F);\n if (c <= 0xFFFF || c >= 0x110000) {\n c = null;\n }\n }\n }\n\n if (c === null) {\n c = 0xFFFD;\n bytesPerSequence = 1;\n\n } else if (c > 0xFFFF) {\n c -= 0x10000;\n str += String.fromCharCode(c >>> 10 & 0x3FF | 0xD800);\n c = 0xDC00 | c & 0x3FF;\n }\n\n str += String.fromCharCode(c);\n i += bytesPerSequence;\n }\n\n return str;\n}\n\nfunction writeUtf8(buf, str, pos) {\n for (var i = 0, c, lead; i < str.length; i++) {\n c = str.charCodeAt(i); // code point\n\n if (c > 0xD7FF && c < 0xE000) {\n if (lead) {\n if (c < 0xDC00) {\n buf[pos++] = 0xEF;\n buf[pos++] = 0xBF;\n buf[pos++] = 0xBD;\n lead = c;\n continue;\n } else {\n c = lead - 0xD800 << 10 | c - 0xDC00 | 0x10000;\n lead = null;\n }\n } else {\n if (c > 0xDBFF || (i + 1 === str.length)) {\n buf[pos++] = 0xEF;\n buf[pos++] = 0xBF;\n buf[pos++] = 0xBD;\n } else {\n lead = c;\n }\n continue;\n }\n } else if (lead) {\n buf[pos++] = 0xEF;\n buf[pos++] = 0xBF;\n buf[pos++] = 0xBD;\n lead = null;\n }\n\n if (c < 0x80) {\n buf[pos++] = c;\n } else {\n if (c < 0x800) {\n buf[pos++] = c >> 0x6 | 0xC0;\n } else {\n if (c < 0x10000) {\n buf[pos++] = c >> 0xC | 0xE0;\n } else {\n buf[pos++] = c >> 0x12 | 0xF0;\n buf[pos++] = c >> 0xC & 0x3F | 0x80;\n }\n buf[pos++] = c >> 0x6 & 0x3F | 0x80;\n }\n buf[pos++] = c & 0x3F | 0x80;\n }\n }\n return pos;\n}\n", "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.quickselect = factory());\n}(this, (function () { 'use strict';\n\nfunction quickselect(arr, k, left, right, compare) {\n quickselectStep(arr, k, left || 0, right || (arr.length - 1), compare || defaultCompare);\n}\n\nfunction quickselectStep(arr, k, left, right, compare) {\n\n while (right > left) {\n if (right - left > 600) {\n var n = right - left + 1;\n var m = k - left + 1;\n var z = Math.log(n);\n var s = 0.5 * Math.exp(2 * z / 3);\n var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n var newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselectStep(arr, k, newLeft, newRight, compare);\n }\n\n var t = arr[k];\n var i = left;\n var j = right;\n\n swap(arr, left, k);\n if (compare(arr[right], t) > 0) swap(arr, left, right);\n\n while (i < j) {\n swap(arr, i, j);\n i++;\n j--;\n while (compare(arr[i], t) < 0) i++;\n while (compare(arr[j], t) > 0) j--;\n }\n\n if (compare(arr[left], t) === 0) swap(arr, left, j);\n else {\n j++;\n swap(arr, j, right);\n }\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n}\n\nfunction swap(arr, i, j) {\n var tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n}\n\nfunction defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\nreturn quickselect;\n\n})));\n", "'use strict';\n\nmodule.exports = rbush;\nmodule.exports.default = rbush;\n\nvar quickselect = require('quickselect');\n\nfunction rbush(maxEntries, format) {\n if (!(this instanceof rbush)) return new rbush(maxEntries, format);\n\n // max entries in a node is 9 by default; min node fill is 40% for best performance\n this._maxEntries = Math.max(4, maxEntries || 9);\n this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));\n\n if (format) {\n this._initFormat(format);\n }\n\n this.clear();\n}\n\nrbush.prototype = {\n\n all: function () {\n return this._all(this.data, []);\n },\n\n search: function (bbox) {\n\n var node = this.data,\n result = [],\n toBBox = this.toBBox;\n\n if (!intersects(bbox, node)) return result;\n\n var nodesToSearch = [],\n i, len, child, childBBox;\n\n while (node) {\n for (i = 0, len = node.children.length; i < len; i++) {\n\n child = node.children[i];\n childBBox = node.leaf ? toBBox(child) : child;\n\n if (intersects(bbox, childBBox)) {\n if (node.leaf) result.push(child);\n else if (contains(bbox, childBBox)) this._all(child, result);\n else nodesToSearch.push(child);\n }\n }\n node = nodesToSearch.pop();\n }\n\n return result;\n },\n\n collides: function (bbox) {\n\n var node = this.data,\n toBBox = this.toBBox;\n\n if (!intersects(bbox, node)) return false;\n\n var nodesToSearch = [],\n i, len, child, childBBox;\n\n while (node) {\n for (i = 0, len = node.children.length; i < len; i++) {\n\n child = node.children[i];\n childBBox = node.leaf ? toBBox(child) : child;\n\n if (intersects(bbox, childBBox)) {\n if (node.leaf || contains(bbox, childBBox)) return true;\n nodesToSearch.push(child);\n }\n }\n node = nodesToSearch.pop();\n }\n\n return false;\n },\n\n load: function (data) {\n if (!(data && data.length)) return this;\n\n if (data.length < this._minEntries) {\n for (var i = 0, len = data.length; i < len; i++) {\n this.insert(data[i]);\n }\n return this;\n }\n\n // recursively build the tree with the given data from scratch using OMT algorithm\n var node = this._build(data.slice(), 0, data.length - 1, 0);\n\n if (!this.data.children.length) {\n // save as is if tree is empty\n this.data = node;\n\n } else if (this.data.height === node.height) {\n // split root if trees have the same height\n this._splitRoot(this.data, node);\n\n } else {\n if (this.data.height < node.height) {\n // swap trees if inserted one is bigger\n var tmpNode = this.data;\n this.data = node;\n node = tmpNode;\n }\n\n // insert the small tree into the large tree at appropriate level\n this._insert(node, this.data.height - node.height - 1, true);\n }\n\n return this;\n },\n\n insert: function (item) {\n if (item) this._insert(item, this.data.height - 1);\n return this;\n },\n\n clear: function () {\n this.data = createNode([]);\n return this;\n },\n\n remove: function (item, equalsFn) {\n if (!item) return this;\n\n var node = this.data,\n bbox = this.toBBox(item),\n path = [],\n indexes = [],\n i, parent, index, goingUp;\n\n // depth-first iterative tree traversal\n while (node || path.length) {\n\n if (!node) { // go up\n node = path.pop();\n parent = path[path.length - 1];\n i = indexes.pop();\n goingUp = true;\n }\n\n if (node.leaf) { // check current node\n index = findItem(item, node.children, equalsFn);\n\n if (index !== -1) {\n // item found, remove the item and condense tree upwards\n node.children.splice(index, 1);\n path.push(node);\n this._condense(path);\n return this;\n }\n }\n\n if (!goingUp && !node.leaf && contains(node, bbox)) { // go down\n path.push(node);\n indexes.push(i);\n i = 0;\n parent = node;\n node = node.children[0];\n\n } else if (parent) { // go right\n i++;\n node = parent.children[i];\n goingUp = false;\n\n } else node = null; // nothing found\n }\n\n return this;\n },\n\n toBBox: function (item) { return item; },\n\n compareMinX: compareNodeMinX,\n compareMinY: compareNodeMinY,\n\n toJSON: function () { return this.data; },\n\n fromJSON: function (data) {\n this.data = data;\n return this;\n },\n\n _all: function (node, result) {\n var nodesToSearch = [];\n while (node) {\n if (node.leaf) result.push.apply(result, node.children);\n else nodesToSearch.push.apply(nodesToSearch, node.children);\n\n node = nodesToSearch.pop();\n }\n return result;\n },\n\n _build: function (items, left, right, height) {\n\n var N = right - left + 1,\n M = this._maxEntries,\n node;\n\n if (N <= M) {\n // reached leaf level; return leaf\n node = createNode(items.slice(left, right + 1));\n calcBBox(node, this.toBBox);\n return node;\n }\n\n if (!height) {\n // target height of the bulk-loaded tree\n height = Math.ceil(Math.log(N) / Math.log(M));\n\n // target number of root entries to maximize storage utilization\n M = Math.ceil(N / Math.pow(M, height - 1));\n }\n\n node = createNode([]);\n node.leaf = false;\n node.height = height;\n\n // split the items into M mostly square tiles\n\n var N2 = Math.ceil(N / M),\n N1 = N2 * Math.ceil(Math.sqrt(M)),\n i, j, right2, right3;\n\n multiSelect(items, left, right, N1, this.compareMinX);\n\n for (i = left; i <= right; i += N1) {\n\n right2 = Math.min(i + N1 - 1, right);\n\n multiSelect(items, i, right2, N2, this.compareMinY);\n\n for (j = i; j <= right2; j += N2) {\n\n right3 = Math.min(j + N2 - 1, right2);\n\n // pack each entry recursively\n node.children.push(this._build(items, j, right3, height - 1));\n }\n }\n\n calcBBox(node, this.toBBox);\n\n return node;\n },\n\n _chooseSubtree: function (bbox, node, level, path) {\n\n var i, len, child, targetNode, area, enlargement, minArea, minEnlargement;\n\n while (true) {\n path.push(node);\n\n if (node.leaf || path.length - 1 === level) break;\n\n minArea = minEnlargement = Infinity;\n\n for (i = 0, len = node.children.length; i < len; i++) {\n child = node.children[i];\n area = bboxArea(child);\n enlargement = enlargedArea(bbox, child) - area;\n\n // choose entry with the least area enlargement\n if (enlargement < minEnlargement) {\n minEnlargement = enlargement;\n minArea = area < minArea ? area : minArea;\n targetNode = child;\n\n } else if (enlargement === minEnlargement) {\n // otherwise choose one with the smallest area\n if (area < minArea) {\n minArea = area;\n targetNode = child;\n }\n }\n }\n\n node = targetNode || node.children[0];\n }\n\n return node;\n },\n\n _insert: function (item, level, isNode) {\n\n var toBBox = this.toBBox,\n bbox = isNode ? item : toBBox(item),\n insertPath = [];\n\n // find the best node for accommodating the item, saving all nodes along the path too\n var node = this._chooseSubtree(bbox, this.data, level, insertPath);\n\n // put the item into the node\n node.children.push(item);\n extend(node, bbox);\n\n // split on node overflow; propagate upwards if necessary\n while (level >= 0) {\n if (insertPath[level].children.length > this._maxEntries) {\n this._split(insertPath, level);\n level--;\n } else break;\n }\n\n // adjust bboxes along the insertion path\n this._adjustParentBBoxes(bbox, insertPath, level);\n },\n\n // split overflowed node into two\n _split: function (insertPath, level) {\n\n var node = insertPath[level],\n M = node.children.length,\n m = this._minEntries;\n\n this._chooseSplitAxis(node, m, M);\n\n var splitIndex = this._chooseSplitIndex(node, m, M);\n\n var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex));\n newNode.height = node.height;\n newNode.leaf = node.leaf;\n\n calcBBox(node, this.toBBox);\n calcBBox(newNode, this.toBBox);\n\n if (level) insertPath[level - 1].children.push(newNode);\n else this._splitRoot(node, newNode);\n },\n\n _splitRoot: function (node, newNode) {\n // split root node\n this.data = createNode([node, newNode]);\n this.data.height = node.height + 1;\n this.data.leaf = false;\n calcBBox(this.data, this.toBBox);\n },\n\n _chooseSplitIndex: function (node, m, M) {\n\n var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index;\n\n minOverlap = minArea = Infinity;\n\n for (i = m; i <= M - m; i++) {\n bbox1 = distBBox(node, 0, i, this.toBBox);\n bbox2 = distBBox(node, i, M, this.toBBox);\n\n overlap = intersectionArea(bbox1, bbox2);\n area = bboxArea(bbox1) + bboxArea(bbox2);\n\n // choose distribution with minimum overlap\n if (overlap < minOverlap) {\n minOverlap = overlap;\n index = i;\n\n minArea = area < minArea ? area : minArea;\n\n } else if (overlap === minOverlap) {\n // otherwise choose distribution with minimum area\n if (area < minArea) {\n minArea = area;\n index = i;\n }\n }\n }\n\n return index;\n },\n\n // sorts node children by the best axis for split\n _chooseSplitAxis: function (node, m, M) {\n\n var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX,\n compareMinY = node.leaf ? this.compareMinY : compareNodeMinY,\n xMargin = this._allDistMargin(node, m, M, compareMinX),\n yMargin = this._allDistMargin(node, m, M, compareMinY);\n\n // if total distributions margin value is minimal for x, sort by minX,\n // otherwise it's already sorted by minY\n if (xMargin < yMargin) node.children.sort(compareMinX);\n },\n\n // total margin of all possible split distributions where each node is at least m full\n _allDistMargin: function (node, m, M, compare) {\n\n node.children.sort(compare);\n\n var toBBox = this.toBBox,\n leftBBox = distBBox(node, 0, m, toBBox),\n rightBBox = distBBox(node, M - m, M, toBBox),\n margin = bboxMargin(leftBBox) + bboxMargin(rightBBox),\n i, child;\n\n for (i = m; i < M - m; i++) {\n child = node.children[i];\n extend(leftBBox, node.leaf ? toBBox(child) : child);\n margin += bboxMargin(leftBBox);\n }\n\n for (i = M - m - 1; i >= m; i--) {\n child = node.children[i];\n extend(rightBBox, node.leaf ? toBBox(child) : child);\n margin += bboxMargin(rightBBox);\n }\n\n return margin;\n },\n\n _adjustParentBBoxes: function (bbox, path, level) {\n // adjust bboxes along the given tree path\n for (var i = level; i >= 0; i--) {\n extend(path[i], bbox);\n }\n },\n\n _condense: function (path) {\n // go through the path, removing empty nodes and updating bboxes\n for (var i = path.length - 1, siblings; i >= 0; i--) {\n if (path[i].children.length === 0) {\n if (i > 0) {\n siblings = path[i - 1].children;\n siblings.splice(siblings.indexOf(path[i]), 1);\n\n } else this.clear();\n\n } else calcBBox(path[i], this.toBBox);\n }\n },\n\n _initFormat: function (format) {\n // data format (minX, minY, maxX, maxY accessors)\n\n // uses eval-type function compilation instead of just accepting a toBBox function\n // because the algorithms are very sensitive to sorting functions performance,\n // so they should be dead simple and without inner calls\n\n var compareArr = ['return a', ' - b', ';'];\n\n this.compareMinX = new Function('a', 'b', compareArr.join(format[0]));\n this.compareMinY = new Function('a', 'b', compareArr.join(format[1]));\n\n this.toBBox = new Function('a',\n 'return {minX: a' + format[0] +\n ', minY: a' + format[1] +\n ', maxX: a' + format[2] +\n ', maxY: a' + format[3] + '};');\n }\n};\n\nfunction findItem(item, items, equalsFn) {\n if (!equalsFn) return items.indexOf(item);\n\n for (var i = 0; i < items.length; i++) {\n if (equalsFn(item, items[i])) return i;\n }\n return -1;\n}\n\n// calculate node's bbox from bboxes of its children\nfunction calcBBox(node, toBBox) {\n distBBox(node, 0, node.children.length, toBBox, node);\n}\n\n// min bounding rectangle of node children from k to p-1\nfunction distBBox(node, k, p, toBBox, destNode) {\n if (!destNode) destNode = createNode(null);\n destNode.minX = Infinity;\n destNode.minY = Infinity;\n destNode.maxX = -Infinity;\n destNode.maxY = -Infinity;\n\n for (var i = k, child; i < p; i++) {\n child = node.children[i];\n extend(destNode, node.leaf ? toBBox(child) : child);\n }\n\n return destNode;\n}\n\nfunction extend(a, b) {\n a.minX = Math.min(a.minX, b.minX);\n a.minY = Math.min(a.minY, b.minY);\n a.maxX = Math.max(a.maxX, b.maxX);\n a.maxY = Math.max(a.maxY, b.maxY);\n return a;\n}\n\nfunction compareNodeMinX(a, b) { return a.minX - b.minX; }\nfunction compareNodeMinY(a, b) { return a.minY - b.minY; }\n\nfunction bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); }\nfunction bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); }\n\nfunction enlargedArea(a, b) {\n return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) *\n (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY));\n}\n\nfunction intersectionArea(a, b) {\n var minX = Math.max(a.minX, b.minX),\n minY = Math.max(a.minY, b.minY),\n maxX = Math.min(a.maxX, b.maxX),\n maxY = Math.min(a.maxY, b.maxY);\n\n return Math.max(0, maxX - minX) *\n Math.max(0, maxY - minY);\n}\n\nfunction contains(a, b) {\n return a.minX <= b.minX &&\n a.minY <= b.minY &&\n b.maxX <= a.maxX &&\n b.maxY <= a.maxY;\n}\n\nfunction intersects(a, b) {\n return b.minX <= a.maxX &&\n b.minY <= a.maxY &&\n b.maxX >= a.minX &&\n b.maxY >= a.minY;\n}\n\nfunction createNode(children) {\n return {\n children: children,\n height: 1,\n leaf: true,\n minX: Infinity,\n minY: Infinity,\n maxX: -Infinity,\n maxY: -Infinity\n };\n}\n\n// sort an array so that items come in groups of n unsorted items, with groups sorted between each other;\n// combines selection algorithm with binary divide & conquer approach\n\nfunction multiSelect(arr, left, right, n, compare) {\n var stack = [left, right],\n mid;\n\n while (stack.length) {\n right = stack.pop();\n left = stack.pop();\n\n if (right - left <= n) continue;\n\n mid = left + Math.ceil((right - left) / n / 2) * n;\n quickselect(arr, mid, left, right, compare);\n\n stack.push(left, mid, mid, right);\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"./internal/Observable\");\nexports.Observable = Observable_1.Observable;\nvar ConnectableObservable_1 = require(\"./internal/observable/ConnectableObservable\");\nexports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;\nvar groupBy_1 = require(\"./internal/operators/groupBy\");\nexports.GroupedObservable = groupBy_1.GroupedObservable;\nvar observable_1 = require(\"./internal/symbol/observable\");\nexports.observable = observable_1.observable;\nvar Subject_1 = require(\"./internal/Subject\");\nexports.Subject = Subject_1.Subject;\nvar BehaviorSubject_1 = require(\"./internal/BehaviorSubject\");\nexports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;\nvar ReplaySubject_1 = require(\"./internal/ReplaySubject\");\nexports.ReplaySubject = ReplaySubject_1.ReplaySubject;\nvar AsyncSubject_1 = require(\"./internal/AsyncSubject\");\nexports.AsyncSubject = AsyncSubject_1.AsyncSubject;\nvar asap_1 = require(\"./internal/scheduler/asap\");\nexports.asapScheduler = asap_1.asap;\nvar async_1 = require(\"./internal/scheduler/async\");\nexports.asyncScheduler = async_1.async;\nvar queue_1 = require(\"./internal/scheduler/queue\");\nexports.queueScheduler = queue_1.queue;\nvar animationFrame_1 = require(\"./internal/scheduler/animationFrame\");\nexports.animationFrameScheduler = animationFrame_1.animationFrame;\nvar VirtualTimeScheduler_1 = require(\"./internal/scheduler/VirtualTimeScheduler\");\nexports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;\nexports.VirtualAction = VirtualTimeScheduler_1.VirtualAction;\nvar Scheduler_1 = require(\"./internal/Scheduler\");\nexports.Scheduler = Scheduler_1.Scheduler;\nvar Subscription_1 = require(\"./internal/Subscription\");\nexports.Subscription = Subscription_1.Subscription;\nvar Subscriber_1 = require(\"./internal/Subscriber\");\nexports.Subscriber = Subscriber_1.Subscriber;\nvar Notification_1 = require(\"./internal/Notification\");\nexports.Notification = Notification_1.Notification;\nvar pipe_1 = require(\"./internal/util/pipe\");\nexports.pipe = pipe_1.pipe;\nvar noop_1 = require(\"./internal/util/noop\");\nexports.noop = noop_1.noop;\nvar identity_1 = require(\"./internal/util/identity\");\nexports.identity = identity_1.identity;\nvar isObservable_1 = require(\"./internal/util/isObservable\");\nexports.isObservable = isObservable_1.isObservable;\nvar ArgumentOutOfRangeError_1 = require(\"./internal/util/ArgumentOutOfRangeError\");\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\nvar EmptyError_1 = require(\"./internal/util/EmptyError\");\nexports.EmptyError = EmptyError_1.EmptyError;\nvar ObjectUnsubscribedError_1 = require(\"./internal/util/ObjectUnsubscribedError\");\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;\nvar UnsubscriptionError_1 = require(\"./internal/util/UnsubscriptionError\");\nexports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;\nvar TimeoutError_1 = require(\"./internal/util/TimeoutError\");\nexports.TimeoutError = TimeoutError_1.TimeoutError;\nvar bindCallback_1 = require(\"./internal/observable/bindCallback\");\nexports.bindCallback = bindCallback_1.bindCallback;\nvar bindNodeCallback_1 = require(\"./internal/observable/bindNodeCallback\");\nexports.bindNodeCallback = bindNodeCallback_1.bindNodeCallback;\nvar combineLatest_1 = require(\"./internal/observable/combineLatest\");\nexports.combineLatest = combineLatest_1.combineLatest;\nvar concat_1 = require(\"./internal/observable/concat\");\nexports.concat = concat_1.concat;\nvar defer_1 = require(\"./internal/observable/defer\");\nexports.defer = defer_1.defer;\nvar empty_1 = require(\"./internal/observable/empty\");\nexports.empty = empty_1.empty;\nvar forkJoin_1 = require(\"./internal/observable/forkJoin\");\nexports.forkJoin = forkJoin_1.forkJoin;\nvar from_1 = require(\"./internal/observable/from\");\nexports.from = from_1.from;\nvar fromEvent_1 = require(\"./internal/observable/fromEvent\");\nexports.fromEvent = fromEvent_1.fromEvent;\nvar fromEventPattern_1 = require(\"./internal/observable/fromEventPattern\");\nexports.fromEventPattern = fromEventPattern_1.fromEventPattern;\nvar generate_1 = require(\"./internal/observable/generate\");\nexports.generate = generate_1.generate;\nvar iif_1 = require(\"./internal/observable/iif\");\nexports.iif = iif_1.iif;\nvar interval_1 = require(\"./internal/observable/interval\");\nexports.interval = interval_1.interval;\nvar merge_1 = require(\"./internal/observable/merge\");\nexports.merge = merge_1.merge;\nvar never_1 = require(\"./internal/observable/never\");\nexports.never = never_1.never;\nvar of_1 = require(\"./internal/observable/of\");\nexports.of = of_1.of;\nvar onErrorResumeNext_1 = require(\"./internal/observable/onErrorResumeNext\");\nexports.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;\nvar pairs_1 = require(\"./internal/observable/pairs\");\nexports.pairs = pairs_1.pairs;\nvar race_1 = require(\"./internal/observable/race\");\nexports.race = race_1.race;\nvar range_1 = require(\"./internal/observable/range\");\nexports.range = range_1.range;\nvar throwError_1 = require(\"./internal/observable/throwError\");\nexports.throwError = throwError_1.throwError;\nvar timer_1 = require(\"./internal/observable/timer\");\nexports.timer = timer_1.timer;\nvar using_1 = require(\"./internal/observable/using\");\nexports.using = using_1.using;\nvar zip_1 = require(\"./internal/observable/zip\");\nexports.zip = zip_1.zip;\nvar empty_2 = require(\"./internal/observable/empty\");\nexports.EMPTY = empty_2.EMPTY;\nvar never_2 = require(\"./internal/observable/never\");\nexports.NEVER = never_2.NEVER;\nvar config_1 = require(\"./internal/config\");\nexports.config = config_1.config;\n//# sourceMappingURL=index.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"./Subject\");\nvar Subscription_1 = require(\"./Subscription\");\nvar AsyncSubject = (function (_super) {\n __extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.value = null;\n _this.hasNext = false;\n _this.hasCompleted = false;\n return _this;\n }\n AsyncSubject.prototype._subscribe = function (subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription_1.Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription_1.Subscription.EMPTY;\n }\n return _super.prototype._subscribe.call(this, subscriber);\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n };\n AsyncSubject.prototype.error = function (error) {\n if (!this.hasCompleted) {\n _super.prototype.error.call(this, error);\n }\n };\n AsyncSubject.prototype.complete = function () {\n this.hasCompleted = true;\n if (this.hasNext) {\n _super.prototype.next.call(this, this.value);\n }\n _super.prototype.complete.call(this);\n };\n return AsyncSubject;\n}(Subject_1.Subject));\nexports.AsyncSubject = AsyncSubject;\n//# sourceMappingURL=AsyncSubject.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"./Subject\");\nvar ObjectUnsubscribedError_1 = require(\"./util/ObjectUnsubscribedError\");\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject_1.Subject));\nexports.BehaviorSubject = BehaviorSubject;\n//# sourceMappingURL=BehaviorSubject.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"./Subscriber\");\nvar InnerSubscriber = (function (_super) {\n __extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber_1.Subscriber));\nexports.InnerSubscriber = InnerSubscriber;\n//# sourceMappingURL=InnerSubscriber.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar empty_1 = require(\"./observable/empty\");\nvar of_1 = require(\"./observable/of\");\nvar throwError_1 = require(\"./observable/throwError\");\nvar Notification = (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return of_1.of(this.value);\n case 'E':\n return throwError_1.throwError(this.error);\n case 'C':\n return empty_1.empty();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexports.Notification = Notification;\n//# sourceMappingURL=Notification.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar canReportError_1 = require(\"./util/canReportError\");\nvar toSubscriber_1 = require(\"./util/toSubscriber\");\nvar observable_1 = require(\"../internal/symbol/observable\");\nvar pipe_1 = require(\"./util/pipe\");\nvar config_1 = require(\"./config\");\nvar Observable = (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n if (operator) {\n operator.call(sink, this.source);\n }\n else {\n sink.add(this.source || (config_1.config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError_1.canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipe_1.pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config_1.config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = require(\"./config\");\nvar hostReportError_1 = require(\"./util/hostReportError\");\nexports.empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError_1.hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"./Subscriber\");\nvar OuterSubscriber = (function (_super) {\n __extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber_1.Subscriber));\nexports.OuterSubscriber = OuterSubscriber;\n//# sourceMappingURL=OuterSubscriber.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"./Subject\");\nvar queue_1 = require(\"./scheduler/queue\");\nvar Subscription_1 = require(\"./Subscription\");\nvar observeOn_1 = require(\"./operators/observeOn\");\nvar ObjectUnsubscribedError_1 = require(\"./util/ObjectUnsubscribedError\");\nvar SubjectSubscription_1 = require(\"./SubjectSubscription\");\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n var _this = _super.call(this) || this;\n _this.scheduler = scheduler;\n _this._events = [];\n _this._infiniteTimeWindow = false;\n _this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n _this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n _this._infiniteTimeWindow = true;\n _this.next = _this.nextInfiniteTimeWindow;\n }\n else {\n _this.next = _this.nextTimeWindow;\n }\n return _this;\n }\n ReplaySubject.prototype.nextInfiniteTimeWindow = function (value) {\n var _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype.nextTimeWindow = function (value) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n var _infiniteTimeWindow = this._infiniteTimeWindow;\n var _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var len = _events.length;\n var subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription_1.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new observeOn_1.ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || queue_1.queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(Subject_1.Subject));\nexports.ReplaySubject = ReplaySubject;\nvar ReplayEvent = (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Scheduler = (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexports.Scheduler = Scheduler;\n//# sourceMappingURL=Scheduler.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"./Observable\");\nvar Subscriber_1 = require(\"./Subscriber\");\nvar Subscription_1 = require(\"./Subscription\");\nvar ObjectUnsubscribedError_1 = require(\"./util/ObjectUnsubscribedError\");\nvar SubjectSubscription_1 = require(\"./SubjectSubscription\");\nvar rxSubscriber_1 = require(\"../internal/symbol/rxSubscriber\");\nvar SubjectSubscriber = (function (_super) {\n __extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SubjectSubscriber = SubjectSubscriber;\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriber_1.rxSubscriber] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription_1.Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription_1.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable_1.Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable_1.Observable));\nexports.Subject = Subject;\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription_1.Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscription_1 = require(\"./Subscription\");\nvar SubjectSubscription = (function (_super) {\n __extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription_1.Subscription));\nexports.SubjectSubscription = SubjectSubscription;\n//# sourceMappingURL=SubjectSubscription.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isFunction_1 = require(\"./util/isFunction\");\nvar Observer_1 = require(\"./Observer\");\nvar Subscription_1 = require(\"./Subscription\");\nvar rxSubscriber_1 = require(\"../internal/symbol/rxSubscriber\");\nvar config_1 = require(\"./config\");\nvar hostReportError_1 = require(\"./util/hostReportError\");\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n _this._parentSubscription = null;\n switch (arguments.length) {\n case 0:\n _this.destination = Observer_1.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = Observer_1.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n this._parent = null;\n this._parents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parent = _parent;\n this._parents = _parents;\n this._parentSubscription = null;\n return this;\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== Observer_1.empty) {\n context = Object.create(observerOrNext);\n if (isFunction_1.isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config_1.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config_1.config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError_1.hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError_1.hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config_1.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError_1.hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError_1.hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexports.SafeSubscriber = SafeSubscriber;\n//# sourceMappingURL=Subscriber.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = require(\"./util/isArray\");\nvar isObject_1 = require(\"./util/isObject\");\nvar isFunction_1 = require(\"./util/isFunction\");\nvar tryCatch_1 = require(\"./util/tryCatch\");\nvar errorObject_1 = require(\"./util/errorObject\");\nvar UnsubscriptionError_1 = require(\"./util/UnsubscriptionError\");\nvar Subscription = (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parent = null;\n this._parents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var hasErrors = false;\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parent = null;\n this._parents = null;\n this._subscriptions = null;\n var index = -1;\n var len = _parents ? _parents.length : 0;\n while (_parent) {\n _parent.remove(this);\n _parent = ++index < len && _parents[index] || null;\n }\n if (isFunction_1.isFunction(_unsubscribe)) {\n var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]);\n }\n }\n if (isArray_1.isArray(_subscriptions)) {\n index = -1;\n len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject_1.isObject(sub)) {\n var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || [];\n var err = errorObject_1.errorObject.e;\n if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n }\n if (hasErrors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n if (teardown === this) {\n return this;\n }\n var subscription = teardown;\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (typeof subscription._addParent !== 'function') {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n var subscriptions = this._subscriptions || (this._subscriptions = []);\n subscriptions.push(subscription);\n subscription._addParent(this);\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.prototype._addParent = function (parent) {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n if (!_parent || _parent === parent) {\n this._parent = parent;\n }\n else if (!_parents) {\n this._parents = [parent];\n }\n else if (_parents.indexOf(parent) === -1) {\n _parents.push(parent);\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexports.Subscription = Subscription;\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexports.config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar Observable_1 = require(\"../Observable\");\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Subscription_1 = require(\"../Subscription\");\nvar refCount_1 = require(\"../operators/refCount\");\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._refCount = 0;\n _this._isComplete = false;\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription_1.Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription_1.Subscription.EMPTY;\n }\n else {\n this._connection = connection;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return refCount_1.refCount()(this);\n };\n return ConnectableObservable;\n}(Observable_1.Observable));\nexports.ConnectableObservable = ConnectableObservable;\nvar connectableProto = ConnectableObservable.prototype;\nexports.connectableObservableDescriptor = {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n};\nvar ConnectableSubscriber = (function (_super) {\n __extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(Subject_1.SubjectSubscriber));\nvar RefCountOperator = (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n __extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar asap_1 = require(\"../scheduler/asap\");\nvar isNumeric_1 = require(\"../util/isNumeric\");\nvar SubscribeOnObservable = (function (_super) {\n __extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) { delayTime = 0; }\n if (scheduler === void 0) { scheduler = asap_1.asap; }\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.delayTime = delayTime;\n _this.scheduler = scheduler;\n if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {\n _this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n _this.scheduler = asap_1.asap;\n }\n return _this;\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) { delay = 0; }\n if (scheduler === void 0) { scheduler = asap_1.asap; }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable_1.Observable));\nexports.SubscribeOnObservable = SubscribeOnObservable;\n//# sourceMappingURL=SubscribeOnObservable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar AsyncSubject_1 = require(\"../AsyncSubject\");\nvar map_1 = require(\"../operators/map\");\nvar canReportError_1 = require(\"../util/canReportError\");\nvar isArray_1 = require(\"../util/isArray\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler_1.isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map_1.map(function (args) { return isArray_1.isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var subject;\n var params = {\n context: context,\n subject: subject,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n };\n return new Observable_1.Observable(function (subscriber) {\n if (!scheduler) {\n if (!subject) {\n subject = new AsyncSubject_1.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError_1.canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n var state = {\n args: args, subscriber: subscriber, params: params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nexports.bindCallback = bindCallback;\nfunction dispatch(state) {\n var _this = this;\n var self = this;\n var args = state.args, subscriber = state.subscriber, params = state.params;\n var callbackFunc = params.callbackFunc, context = params.context, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n var value = state.value, subject = state.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n var err = state.err, subject = state.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindCallback.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar AsyncSubject_1 = require(\"../AsyncSubject\");\nvar map_1 = require(\"../operators/map\");\nvar canReportError_1 = require(\"../util/canReportError\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar isArray_1 = require(\"../util/isArray\");\nfunction bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler_1.isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindNodeCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map_1.map(function (args) { return isArray_1.isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var params = {\n subject: undefined,\n args: args,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n context: this,\n };\n return new Observable_1.Observable(function (subscriber) {\n var context = params.context;\n var subject = params.subject;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError_1.canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params: params, subscriber: subscriber, context: context });\n }\n });\n };\n}\nexports.bindNodeCallback = bindNodeCallback;\nfunction dispatch(state) {\n var _this = this;\n var params = state.params, subscriber = state.subscriber, context = state.context;\n var callbackFunc = params.callbackFunc, args = params.args, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n _this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindNodeCallback.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar isArray_1 = require(\"../util/isArray\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar fromArray_1 = require(\"./fromArray\");\nvar NONE = {};\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = null;\n var scheduler = null;\n if (isScheduler_1.isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray_1.fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nexports.combineLatest = combineLatest;\nvar CombineLatestOperator = (function () {\n function CombineLatestOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n };\n return CombineLatestOperator;\n}());\nexports.CombineLatestOperator = CombineLatestOperator;\nvar CombineLatestSubscriber = (function (_super) {\n __extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, resultSelector) {\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.active = 0;\n _this.values = [];\n _this.observables = [];\n return _this;\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryResultSelector = function (values) {\n var result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.CombineLatestSubscriber = CombineLatestSubscriber;\n//# sourceMappingURL=combineLatest.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar of_1 = require(\"./of\");\nvar from_1 = require(\"./from\");\nvar concatAll_1 = require(\"../operators/concatAll\");\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n if (observables.length === 1 || (observables.length === 2 && isScheduler_1.isScheduler(observables[1]))) {\n return from_1.from(observables[0]);\n }\n return concatAll_1.concatAll()(of_1.of.apply(void 0, observables));\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar from_1 = require(\"./from\");\nvar empty_1 = require(\"./empty\");\nfunction defer(observableFactory) {\n return new Observable_1.Observable(function (subscriber) {\n var input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = input ? from_1.from(input) : empty_1.empty();\n return source.subscribe(subscriber);\n });\n}\nexports.defer = defer;\n//# sourceMappingURL=defer.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nexports.EMPTY = new Observable_1.Observable(function (subscriber) { return subscriber.complete(); });\nfunction empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : exports.EMPTY;\n}\nexports.empty = empty;\nfunction emptyScheduled(scheduler) {\n return new Observable_1.Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\nexports.emptyScheduled = emptyScheduled;\n//# sourceMappingURL=empty.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar isArray_1 = require(\"../util/isArray\");\nvar empty_1 = require(\"./empty\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar map_1 = require(\"../operators/map\");\nfunction forkJoin() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var resultSelector;\n if (typeof sources[sources.length - 1] === 'function') {\n resultSelector = sources.pop();\n }\n if (sources.length === 1 && isArray_1.isArray(sources[0])) {\n sources = sources[0];\n }\n if (sources.length === 0) {\n return empty_1.EMPTY;\n }\n if (resultSelector) {\n return forkJoin(sources).pipe(map_1.map(function (args) { return resultSelector.apply(void 0, args); }));\n }\n return new Observable_1.Observable(function (subscriber) {\n return new ForkJoinSubscriber(subscriber, sources);\n });\n}\nexports.forkJoin = forkJoin;\nvar ForkJoinSubscriber = (function (_super) {\n __extends(ForkJoinSubscriber, _super);\n function ForkJoinSubscriber(destination, sources) {\n var _this = _super.call(this, destination) || this;\n _this.sources = sources;\n _this.completed = 0;\n _this.haveValues = 0;\n var len = sources.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n var source = sources[i];\n var innerSubscription = subscribeToResult_1.subscribeToResult(_this, source, null, i);\n if (innerSubscription) {\n _this.add(innerSubscription);\n }\n }\n return _this;\n }\n ForkJoinSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values[outerIndex] = innerValue;\n if (!innerSub._hasValue) {\n innerSub._hasValue = true;\n this.haveValues++;\n }\n };\n ForkJoinSubscriber.prototype.notifyComplete = function (innerSub) {\n var _a = this, destination = _a.destination, haveValues = _a.haveValues, values = _a.values;\n var len = values.length;\n if (!innerSub._hasValue) {\n destination.complete();\n return;\n }\n this.completed++;\n if (this.completed !== len) {\n return;\n }\n if (haveValues === len) {\n destination.next(values);\n }\n destination.complete();\n };\n return ForkJoinSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=forkJoin.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar isPromise_1 = require(\"../util/isPromise\");\nvar isArrayLike_1 = require(\"../util/isArrayLike\");\nvar isInteropObservable_1 = require(\"../util/isInteropObservable\");\nvar isIterable_1 = require(\"../util/isIterable\");\nvar fromArray_1 = require(\"./fromArray\");\nvar fromPromise_1 = require(\"./fromPromise\");\nvar fromIterable_1 = require(\"./fromIterable\");\nvar fromObservable_1 = require(\"./fromObservable\");\nvar subscribeTo_1 = require(\"../util/subscribeTo\");\nfunction from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable_1.Observable) {\n return input;\n }\n return new Observable_1.Observable(subscribeTo_1.subscribeTo(input));\n }\n if (input != null) {\n if (isInteropObservable_1.isInteropObservable(input)) {\n return fromObservable_1.fromObservable(input, scheduler);\n }\n else if (isPromise_1.isPromise(input)) {\n return fromPromise_1.fromPromise(input, scheduler);\n }\n else if (isArrayLike_1.isArrayLike(input)) {\n return fromArray_1.fromArray(input, scheduler);\n }\n else if (isIterable_1.isIterable(input) || typeof input === 'string') {\n return fromIterable_1.fromIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\nexports.from = from;\n//# sourceMappingURL=from.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar Subscription_1 = require(\"../Subscription\");\nvar subscribeToArray_1 = require(\"../util/subscribeToArray\");\nfunction fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable_1.Observable(subscribeToArray_1.subscribeToArray(input));\n }\n else {\n return new Observable_1.Observable(function (subscriber) {\n var sub = new Subscription_1.Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n }\n}\nexports.fromArray = fromArray;\n//# sourceMappingURL=fromArray.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar isArray_1 = require(\"../util/isArray\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar map_1 = require(\"../operators/map\");\nvar toString = Object.prototype.toString;\nfunction fromEvent(target, eventName, options, resultSelector) {\n if (isFunction_1.isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map_1.map(function (args) { return isArray_1.isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable_1.Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nexports.fromEvent = fromEvent;\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar isArray_1 = require(\"../util/isArray\");\nvar isFunction_1 = require(\"../util/isFunction\");\nvar map_1 = require(\"../operators/map\");\nfunction fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map_1.map(function (args) { return isArray_1.isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable_1.Observable(function (subscriber) {\n var handler = function () {\n var e = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n e[_i] = arguments[_i];\n }\n return subscriber.next(e.length === 1 ? e[0] : e);\n };\n var retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction_1.isFunction(removeHandler)) {\n return undefined;\n }\n return function () { return removeHandler(handler, retValue); };\n });\n}\nexports.fromEventPattern = fromEventPattern;\n//# sourceMappingURL=fromEventPattern.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar Subscription_1 = require(\"../Subscription\");\nvar iterator_1 = require(\"../symbol/iterator\");\nvar subscribeToIterable_1 = require(\"../util/subscribeToIterable\");\nfunction fromIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n if (!scheduler) {\n return new Observable_1.Observable(subscribeToIterable_1.subscribeToIterable(input));\n }\n else {\n return new Observable_1.Observable(function (subscriber) {\n var sub = new Subscription_1.Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[iterator_1.iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n }\n}\nexports.fromIterable = fromIterable;\n//# sourceMappingURL=fromIterable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar Subscription_1 = require(\"../Subscription\");\nvar observable_1 = require(\"../symbol/observable\");\nvar subscribeToObservable_1 = require(\"../util/subscribeToObservable\");\nfunction fromObservable(input, scheduler) {\n if (!scheduler) {\n return new Observable_1.Observable(subscribeToObservable_1.subscribeToObservable(input));\n }\n else {\n return new Observable_1.Observable(function (subscriber) {\n var sub = new Subscription_1.Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[observable_1.observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n }\n}\nexports.fromObservable = fromObservable;\n//# sourceMappingURL=fromObservable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar Subscription_1 = require(\"../Subscription\");\nvar subscribeToPromise_1 = require(\"../util/subscribeToPromise\");\nfunction fromPromise(input, scheduler) {\n if (!scheduler) {\n return new Observable_1.Observable(subscribeToPromise_1.subscribeToPromise(input));\n }\n else {\n return new Observable_1.Observable(function (subscriber) {\n var sub = new Subscription_1.Subscription();\n sub.add(scheduler.schedule(function () { return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n }); }));\n return sub;\n });\n }\n}\nexports.fromPromise = fromPromise;\n//# sourceMappingURL=fromPromise.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar identity_1 = require(\"../util/identity\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n var resultSelector;\n var initialState;\n if (arguments.length == 1) {\n var options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || identity_1.identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || isScheduler_1.isScheduler(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = identity_1.identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new Observable_1.Observable(function (subscriber) {\n var state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber: subscriber,\n iterate: iterate,\n condition: condition,\n resultSelector: resultSelector,\n state: state\n });\n }\n do {\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n var value = void 0;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n } while (true);\n return undefined;\n });\n}\nexports.generate = generate;\nfunction dispatch(state) {\n var subscriber = state.subscriber, condition = state.condition;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n var value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n//# sourceMappingURL=generate.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defer_1 = require(\"./defer\");\nvar empty_1 = require(\"./empty\");\nfunction iif(condition, trueResult, falseResult) {\n if (trueResult === void 0) { trueResult = empty_1.EMPTY; }\n if (falseResult === void 0) { falseResult = empty_1.EMPTY; }\n return defer_1.defer(function () { return condition() ? trueResult : falseResult; });\n}\nexports.iif = iif;\n//# sourceMappingURL=iif.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar async_1 = require(\"../scheduler/async\");\nvar isNumeric_1 = require(\"../util/isNumeric\");\nfunction interval(period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = async_1.async; }\n if (!isNumeric_1.isNumeric(period) || period < 0) {\n period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n scheduler = async_1.async;\n }\n return new Observable_1.Observable(function (subscriber) {\n subscriber.add(scheduler.schedule(dispatch, period, { subscriber: subscriber, counter: 0, period: period }));\n return subscriber;\n });\n}\nexports.interval = interval;\nfunction dispatch(state) {\n var subscriber = state.subscriber, counter = state.counter, period = state.period;\n subscriber.next(counter);\n this.schedule({ subscriber: subscriber, counter: counter + 1, period: period }, period);\n}\n//# sourceMappingURL=interval.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar mergeAll_1 = require(\"../operators/mergeAll\");\nvar fromArray_1 = require(\"./fromArray\");\nfunction merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler_1.isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable_1.Observable) {\n return observables[0];\n }\n return mergeAll_1.mergeAll(concurrent)(fromArray_1.fromArray(observables, scheduler));\n}\nexports.merge = merge;\n//# sourceMappingURL=merge.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar noop_1 = require(\"../util/noop\");\nexports.NEVER = new Observable_1.Observable(noop_1.noop);\nfunction never() {\n return exports.NEVER;\n}\nexports.never = never;\n//# sourceMappingURL=never.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isScheduler_1 = require(\"../util/isScheduler\");\nvar fromArray_1 = require(\"./fromArray\");\nvar empty_1 = require(\"./empty\");\nvar scalar_1 = require(\"./scalar\");\nfunction of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if (isScheduler_1.isScheduler(scheduler)) {\n args.pop();\n }\n else {\n scheduler = undefined;\n }\n switch (args.length) {\n case 0:\n return empty_1.empty(scheduler);\n case 1:\n return scheduler ? fromArray_1.fromArray(args, scheduler) : scalar_1.scalar(args[0]);\n default:\n return fromArray_1.fromArray(args, scheduler);\n }\n}\nexports.of = of;\n//# sourceMappingURL=of.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar from_1 = require(\"./from\");\nvar isArray_1 = require(\"../util/isArray\");\nvar empty_1 = require(\"./empty\");\nfunction onErrorResumeNext() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 0) {\n return empty_1.EMPTY;\n }\n var first = sources[0], remainder = sources.slice(1);\n if (sources.length === 1 && isArray_1.isArray(first)) {\n return onErrorResumeNext.apply(void 0, first);\n }\n return new Observable_1.Observable(function (subscriber) {\n var subNext = function () { return subscriber.add(onErrorResumeNext.apply(void 0, remainder).subscribe(subscriber)); };\n return from_1.from(first).subscribe({\n next: function (value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\nexports.onErrorResumeNext = onErrorResumeNext;\n//# sourceMappingURL=onErrorResumeNext.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar Subscription_1 = require(\"../Subscription\");\nfunction pairs(obj, scheduler) {\n if (!scheduler) {\n return new Observable_1.Observable(function (subscriber) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length && !subscriber.closed; i++) {\n var key = keys[i];\n if (obj.hasOwnProperty(key)) {\n subscriber.next([key, obj[key]]);\n }\n }\n subscriber.complete();\n });\n }\n else {\n return new Observable_1.Observable(function (subscriber) {\n var keys = Object.keys(obj);\n var subscription = new Subscription_1.Subscription();\n subscription.add(scheduler.schedule(dispatch, 0, { keys: keys, index: 0, subscriber: subscriber, subscription: subscription, obj: obj }));\n return subscription;\n });\n }\n}\nexports.pairs = pairs;\nfunction dispatch(state) {\n var keys = state.keys, index = state.index, subscriber = state.subscriber, subscription = state.subscription, obj = state.obj;\n if (!subscriber.closed) {\n if (index < keys.length) {\n var key = keys[index];\n subscriber.next([key, obj[key]]);\n subscription.add(this.schedule({ keys: keys, index: index + 1, subscriber: subscriber, subscription: subscription, obj: obj }));\n }\n else {\n subscriber.complete();\n }\n }\n}\nexports.dispatch = dispatch;\n//# sourceMappingURL=pairs.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = require(\"../util/isArray\");\nvar fromArray_1 = require(\"./fromArray\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n if (observables.length === 1) {\n if (isArray_1.isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray_1.fromArray(observables, undefined).lift(new RaceOperator());\n}\nexports.race = race;\nvar RaceOperator = (function () {\n function RaceOperator() {\n }\n RaceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n };\n return RaceOperator;\n}());\nexports.RaceOperator = RaceOperator;\nvar RaceSubscriber = (function (_super) {\n __extends(RaceSubscriber, _super);\n function RaceSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasFirst = false;\n _this.observables = [];\n _this.subscriptions = [];\n return _this;\n }\n RaceSubscriber.prototype._next = function (observable) {\n this.observables.push(observable);\n };\n RaceSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (var i = 0; i < len && !this.hasFirst; i++) {\n var observable = observables[i];\n var subscription = subscribeToResult_1.subscribeToResult(this, observable, observable, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n };\n RaceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (var i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n var subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n };\n return RaceSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.RaceSubscriber = RaceSubscriber;\n//# sourceMappingURL=race.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nfunction range(start, count, scheduler) {\n if (start === void 0) { start = 0; }\n if (count === void 0) { count = 0; }\n return new Observable_1.Observable(function (subscriber) {\n var index = 0;\n var current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index: index, count: count, start: start, subscriber: subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nexports.range = range;\nfunction dispatch(state) {\n var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n}\nexports.dispatch = dispatch;\n//# sourceMappingURL=range.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nfunction scalar(value) {\n var result = new Observable_1.Observable(function (subscriber) {\n subscriber.next(value);\n subscriber.complete();\n });\n result._isScalar = true;\n result.value = value;\n return result;\n}\nexports.scalar = scalar;\n//# sourceMappingURL=scalar.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nfunction throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable_1.Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable_1.Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nexports.throwError = throwError;\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar async_1 = require(\"../scheduler/async\");\nvar isNumeric_1 = require(\"../util/isNumeric\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction timer(dueTime, periodOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n var period = -1;\n if (isNumeric_1.isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler_1.isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler_1.isScheduler(scheduler)) {\n scheduler = async_1.async;\n }\n return new Observable_1.Observable(function (subscriber) {\n var due = isNumeric_1.isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period: period, subscriber: subscriber\n });\n });\n}\nexports.timer = timer;\nfunction dispatch(state) {\n var index = state.index, period = state.period, subscriber = state.subscriber;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar from_1 = require(\"./from\");\nvar empty_1 = require(\"./empty\");\nfunction using(resourceFactory, observableFactory) {\n return new Observable_1.Observable(function (subscriber) {\n var resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = result ? from_1.from(result) : empty_1.EMPTY;\n var subscription = source.subscribe(subscriber);\n return function () {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\nexports.using = using;\n//# sourceMappingURL=using.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar fromArray_1 = require(\"./fromArray\");\nvar isArray_1 = require(\"../util/isArray\");\nvar Subscriber_1 = require(\"../Subscriber\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar iterator_1 = require(\"../../internal/symbol/iterator\");\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return fromArray_1.fromArray(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nexports.zip = zip;\nvar ZipOperator = (function () {\n function ZipOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n };\n return ZipOperator;\n}());\nexports.ZipOperator = ZipOperator;\nvar ZipSubscriber = (function (_super) {\n __extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, resultSelector, values) {\n if (values === void 0) { values = Object.create(null); }\n var _this = _super.call(this, destination) || this;\n _this.iterators = [];\n _this.active = 0;\n _this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : null;\n _this.values = values;\n return _this;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray_1.isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[iterator_1.iterator] === 'function') {\n iterators.push(new StaticIterator(value[iterator_1.iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n var destination = this.destination;\n destination.add(iterator.subscribe(iterator, i));\n }\n else {\n this.active--;\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryresultSelector = function (args) {\n var result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ZipSubscriber = ZipSubscriber;\nvar StaticIterator = (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return nextResult && nextResult.done;\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\nvar ZipBufferIterator = (function (_super) {\n __extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n _this.observable = observable;\n _this.stillUnsubscribed = true;\n _this.buffer = [];\n _this.isComplete = false;\n return _this;\n }\n ZipBufferIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function (value, index) {\n return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);\n };\n return ZipBufferIterator;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=zip.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction audit(durationSelector) {\n return function auditOperatorFunction(source) {\n return source.lift(new AuditOperator(durationSelector));\n };\n}\nexports.audit = audit;\nvar AuditOperator = (function () {\n function AuditOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n AuditOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n };\n return AuditOperator;\n}());\nvar AuditSubscriber = (function (_super) {\n __extends(AuditSubscriber, _super);\n function AuditSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n AuditSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n if (!this.throttled) {\n var duration = tryCatch_1.tryCatch(this.durationSelector)(value);\n if (duration === errorObject_1.errorObject) {\n this.destination.error(errorObject_1.errorObject.e);\n }\n else {\n var innerSubscription = subscribeToResult_1.subscribeToResult(this, duration);\n if (!innerSubscription || innerSubscription.closed) {\n this.clearThrottle();\n }\n else {\n this.add(this.throttled = innerSubscription);\n }\n }\n }\n };\n AuditSubscriber.prototype.clearThrottle = function () {\n var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n if (throttled) {\n this.remove(throttled);\n this.throttled = null;\n throttled.unsubscribe();\n }\n if (hasValue) {\n this.value = null;\n this.hasValue = false;\n this.destination.next(value);\n }\n };\n AuditSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex) {\n this.clearThrottle();\n };\n AuditSubscriber.prototype.notifyComplete = function () {\n this.clearThrottle();\n };\n return AuditSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=audit.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar audit_1 = require(\"./audit\");\nvar timer_1 = require(\"../observable/timer\");\nfunction auditTime(duration, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return audit_1.audit(function () { return timer_1.timer(duration, scheduler); });\n}\nexports.auditTime = auditTime;\n//# sourceMappingURL=auditTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction buffer(closingNotifier) {\n return function bufferOperatorFunction(source) {\n return source.lift(new BufferOperator(closingNotifier));\n };\n}\nexports.buffer = buffer;\nvar BufferOperator = (function () {\n function BufferOperator(closingNotifier) {\n this.closingNotifier = closingNotifier;\n }\n BufferOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n };\n return BufferOperator;\n}());\nvar BufferSubscriber = (function (_super) {\n __extends(BufferSubscriber, _super);\n function BufferSubscriber(destination, closingNotifier) {\n var _this = _super.call(this, destination) || this;\n _this.buffer = [];\n _this.add(subscribeToResult_1.subscribeToResult(_this, closingNotifier));\n return _this;\n }\n BufferSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var buffer = this.buffer;\n this.buffer = [];\n this.destination.next(buffer);\n };\n return BufferSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=buffer.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) { startBufferEvery = null; }\n return function bufferCountOperatorFunction(source) {\n return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n };\n}\nexports.bufferCount = bufferCount;\nvar BufferCountOperator = (function () {\n function BufferCountOperator(bufferSize, startBufferEvery) {\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n if (!startBufferEvery || bufferSize === startBufferEvery) {\n this.subscriberClass = BufferCountSubscriber;\n }\n else {\n this.subscriberClass = BufferSkipCountSubscriber;\n }\n }\n BufferCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));\n };\n return BufferCountOperator;\n}());\nvar BufferCountSubscriber = (function (_super) {\n __extends(BufferCountSubscriber, _super);\n function BufferCountSubscriber(destination, bufferSize) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.buffer = [];\n return _this;\n }\n BufferCountSubscriber.prototype._next = function (value) {\n var buffer = this.buffer;\n buffer.push(value);\n if (buffer.length == this.bufferSize) {\n this.destination.next(buffer);\n this.buffer = [];\n }\n };\n BufferCountSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer.length > 0) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n return BufferCountSubscriber;\n}(Subscriber_1.Subscriber));\nvar BufferSkipCountSubscriber = (function (_super) {\n __extends(BufferSkipCountSubscriber, _super);\n function BufferSkipCountSubscriber(destination, bufferSize, startBufferEvery) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.startBufferEvery = startBufferEvery;\n _this.buffers = [];\n _this.count = 0;\n return _this;\n }\n BufferSkipCountSubscriber.prototype._next = function (value) {\n var _a = this, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers, count = _a.count;\n this.count++;\n if (count % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (var i = buffers.length; i--;) {\n var buffer = buffers[i];\n buffer.push(value);\n if (buffer.length === bufferSize) {\n buffers.splice(i, 1);\n this.destination.next(buffer);\n }\n }\n };\n BufferSkipCountSubscriber.prototype._complete = function () {\n var _a = this, buffers = _a.buffers, destination = _a.destination;\n while (buffers.length > 0) {\n var buffer = buffers.shift();\n if (buffer.length > 0) {\n destination.next(buffer);\n }\n }\n _super.prototype._complete.call(this);\n };\n return BufferSkipCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=bufferCount.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar Subscriber_1 = require(\"../Subscriber\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction bufferTime(bufferTimeSpan) {\n var length = arguments.length;\n var scheduler = async_1.async;\n if (isScheduler_1.isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n var bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n var maxBufferSize = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n return function bufferTimeOperatorFunction(source) {\n return source.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n };\n}\nexports.bufferTime = bufferTime;\nvar BufferTimeOperator = (function () {\n function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n }\n BufferTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n };\n return BufferTimeOperator;\n}());\nvar Context = (function () {\n function Context() {\n this.buffer = [];\n }\n return Context;\n}());\nvar BufferTimeSubscriber = (function (_super) {\n __extends(BufferTimeSubscriber, _super);\n function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.bufferTimeSpan = bufferTimeSpan;\n _this.bufferCreationInterval = bufferCreationInterval;\n _this.maxBufferSize = maxBufferSize;\n _this.scheduler = scheduler;\n _this.contexts = [];\n var context = _this.openContext();\n _this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (_this.timespanOnly) {\n var timeSpanOnlyState = { subscriber: _this, context: context, bufferTimeSpan: bufferTimeSpan };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n else {\n var closeState = { subscriber: _this, context: context };\n var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n return _this;\n }\n BufferTimeSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n var filledBufferContext;\n for (var i = 0; i < len; i++) {\n var context_1 = contexts[i];\n var buffer = context_1.buffer;\n buffer.push(value);\n if (buffer.length == this.maxBufferSize) {\n filledBufferContext = context_1;\n }\n }\n if (filledBufferContext) {\n this.onBufferFull(filledBufferContext);\n }\n };\n BufferTimeSubscriber.prototype._error = function (err) {\n this.contexts.length = 0;\n _super.prototype._error.call(this, err);\n };\n BufferTimeSubscriber.prototype._complete = function () {\n var _a = this, contexts = _a.contexts, destination = _a.destination;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n destination.next(context_2.buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferTimeSubscriber.prototype._unsubscribe = function () {\n this.contexts = null;\n };\n BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n this.closeContext(context);\n var closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n var bufferTimeSpan = this.bufferTimeSpan;\n var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n };\n BufferTimeSubscriber.prototype.openContext = function () {\n var context = new Context();\n this.contexts.push(context);\n return context;\n };\n BufferTimeSubscriber.prototype.closeContext = function (context) {\n this.destination.next(context.buffer);\n var contexts = this.contexts;\n var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n };\n return BufferTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n var subscriber = state.subscriber;\n var prevContext = state.context;\n if (prevContext) {\n subscriber.closeContext(prevContext);\n }\n if (!subscriber.closed) {\n state.context = subscriber.openContext();\n state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n }\n}\nfunction dispatchBufferCreation(state) {\n var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n var context = subscriber.openContext();\n var action = this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\nfunction dispatchBufferClose(arg) {\n var subscriber = arg.subscriber, context = arg.context;\n subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscription_1 = require(\"../Subscription\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nfunction bufferToggle(openings, closingSelector) {\n return function bufferToggleOperatorFunction(source) {\n return source.lift(new BufferToggleOperator(openings, closingSelector));\n };\n}\nexports.bufferToggle = bufferToggle;\nvar BufferToggleOperator = (function () {\n function BufferToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n BufferToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return BufferToggleOperator;\n}());\nvar BufferToggleSubscriber = (function (_super) {\n __extends(BufferToggleSubscriber, _super);\n function BufferToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.openings = openings;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(subscribeToResult_1.subscribeToResult(_this, openings));\n return _this;\n }\n BufferToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].buffer.push(value);\n }\n };\n BufferToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_1 = contexts.shift();\n context_1.subscription.unsubscribe();\n context_1.buffer = null;\n context_1.subscription = null;\n }\n this.contexts = null;\n _super.prototype._error.call(this, err);\n };\n BufferToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n this.destination.next(context_2.buffer);\n context_2.subscription.unsubscribe();\n context_2.buffer = null;\n context_2.subscription = null;\n }\n this.contexts = null;\n _super.prototype._complete.call(this);\n };\n BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n };\n BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n this.closeBuffer(innerSub.context);\n };\n BufferToggleSubscriber.prototype.openBuffer = function (value) {\n try {\n var closingSelector = this.closingSelector;\n var closingNotifier = closingSelector.call(this, value);\n if (closingNotifier) {\n this.trySubscribe(closingNotifier);\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n var contexts = this.contexts;\n if (contexts && context) {\n var buffer = context.buffer, subscription = context.subscription;\n this.destination.next(buffer);\n contexts.splice(contexts.indexOf(context), 1);\n this.remove(subscription);\n subscription.unsubscribe();\n }\n };\n BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n var contexts = this.contexts;\n var buffer = [];\n var subscription = new Subscription_1.Subscription();\n var context = { buffer: buffer, subscription: subscription };\n contexts.push(context);\n var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\n if (!innerSubscription || innerSubscription.closed) {\n this.closeBuffer(context);\n }\n else {\n innerSubscription.context = context;\n this.add(innerSubscription);\n subscription.add(innerSubscription);\n }\n };\n return BufferToggleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=bufferToggle.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscription_1 = require(\"../Subscription\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction bufferWhen(closingSelector) {\n return function (source) {\n return source.lift(new BufferWhenOperator(closingSelector));\n };\n}\nexports.bufferWhen = bufferWhen;\nvar BufferWhenOperator = (function () {\n function BufferWhenOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n BufferWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n };\n return BufferWhenOperator;\n}());\nvar BufferWhenSubscriber = (function (_super) {\n __extends(BufferWhenSubscriber, _super);\n function BufferWhenSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.subscribing = false;\n _this.openBuffer();\n return _this;\n }\n BufferWhenSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferWhenSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferWhenSubscriber.prototype._unsubscribe = function () {\n this.buffer = null;\n this.subscribing = false;\n };\n BufferWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.openBuffer();\n };\n BufferWhenSubscriber.prototype.notifyComplete = function () {\n if (this.subscribing) {\n this.complete();\n }\n else {\n this.openBuffer();\n }\n };\n BufferWhenSubscriber.prototype.openBuffer = function () {\n var closingSubscription = this.closingSubscription;\n if (closingSubscription) {\n this.remove(closingSubscription);\n closingSubscription.unsubscribe();\n }\n var buffer = this.buffer;\n if (this.buffer) {\n this.destination.next(buffer);\n }\n this.buffer = [];\n var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\n if (closingNotifier === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n }\n else {\n closingSubscription = new Subscription_1.Subscription();\n this.closingSubscription = closingSubscription;\n this.add(closingSubscription);\n this.subscribing = true;\n closingSubscription.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\n this.subscribing = false;\n }\n };\n return BufferWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=bufferWhen.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nexports.catchError = catchError;\nvar CatchOperator = (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\nvar CatchSubscriber = (function (_super) {\n __extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n var _this = _super.call(this, destination) || this;\n _this.selector = selector;\n _this.caught = caught;\n return _this;\n }\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined);\n this.add(innerSubscriber);\n subscribeToResult_1.subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n }\n };\n return CatchSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=catchError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar combineLatest_1 = require(\"../observable/combineLatest\");\nfunction combineAll(project) {\n return function (source) { return source.lift(new combineLatest_1.CombineLatestOperator(project)); };\n}\nexports.combineAll = combineAll;\n//# sourceMappingURL=combineAll.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = require(\"../util/isArray\");\nvar combineLatest_1 = require(\"../observable/combineLatest\");\nvar from_1 = require(\"../observable/from\");\nvar none = {};\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call(from_1.from([source].concat(observables)), new combineLatest_1.CombineLatestOperator(project)); };\n}\nexports.combineLatest = combineLatest;\n//# sourceMappingURL=combineLatest.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar concat_1 = require(\"../observable/concat\");\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(concat_1.concat.apply(void 0, [source].concat(observables))); };\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mergeAll_1 = require(\"./mergeAll\");\nfunction concatAll() {\n return mergeAll_1.mergeAll(1);\n}\nexports.concatAll = concatAll;\n//# sourceMappingURL=concatAll.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mergeMap_1 = require(\"./mergeMap\");\nfunction concatMap(project, resultSelector) {\n return mergeMap_1.mergeMap(project, resultSelector, 1);\n}\nexports.concatMap = concatMap;\n//# sourceMappingURL=concatMap.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar concatMap_1 = require(\"./concatMap\");\nfunction concatMapTo(innerObservable, resultSelector) {\n return concatMap_1.concatMap(function () { return innerObservable; }, resultSelector);\n}\nexports.concatMapTo = concatMapTo;\n//# sourceMappingURL=concatMapTo.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nexports.count = count;\nvar CountOperator = (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\nvar CountSubscriber = (function (_super) {\n __extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.count = 0;\n _this.index = 0;\n return _this;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=count.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction debounce(durationSelector) {\n return function (source) { return source.lift(new DebounceOperator(durationSelector)); };\n}\nexports.debounce = debounce;\nvar DebounceOperator = (function () {\n function DebounceOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n DebounceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n };\n return DebounceOperator;\n}());\nvar DebounceSubscriber = (function (_super) {\n __extends(DebounceSubscriber, _super);\n function DebounceSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n _this.durationSubscription = null;\n return _this;\n }\n DebounceSubscriber.prototype._next = function (value) {\n try {\n var result = this.durationSelector.call(this, value);\n if (result) {\n this._tryNext(value, result);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DebounceSubscriber.prototype._complete = function () {\n this.emitValue();\n this.destination.complete();\n };\n DebounceSubscriber.prototype._tryNext = function (value, duration) {\n var subscription = this.durationSubscription;\n this.value = value;\n this.hasValue = true;\n if (subscription) {\n subscription.unsubscribe();\n this.remove(subscription);\n }\n subscription = subscribeToResult_1.subscribeToResult(this, duration);\n if (subscription && !subscription.closed) {\n this.add(this.durationSubscription = subscription);\n }\n };\n DebounceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.emitValue();\n };\n DebounceSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n var value = this.value;\n var subscription = this.durationSubscription;\n if (subscription) {\n this.durationSubscription = null;\n subscription.unsubscribe();\n this.remove(subscription);\n }\n this.value = null;\n this.hasValue = false;\n _super.prototype._next.call(this, value);\n }\n };\n return DebounceSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=debounce.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar async_1 = require(\"../scheduler/async\");\nfunction debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nexports.debounceTime = debounceTime;\nvar DebounceTimeOperator = (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\nvar DebounceTimeSubscriber = (function (_super) {\n __extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.dueTime = dueTime;\n _this.scheduler = scheduler;\n _this.debouncedSubscription = null;\n _this.lastValue = null;\n _this.hasValue = false;\n return _this;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n var lastValue = this.lastValue;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) { defaultValue = null; }\n return function (source) { return source.lift(new DefaultIfEmptyOperator(defaultValue)); };\n}\nexports.defaultIfEmpty = defaultIfEmpty;\nvar DefaultIfEmptyOperator = (function () {\n function DefaultIfEmptyOperator(defaultValue) {\n this.defaultValue = defaultValue;\n }\n DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n };\n return DefaultIfEmptyOperator;\n}());\nvar DefaultIfEmptySubscriber = (function (_super) {\n __extends(DefaultIfEmptySubscriber, _super);\n function DefaultIfEmptySubscriber(destination, defaultValue) {\n var _this = _super.call(this, destination) || this;\n _this.defaultValue = defaultValue;\n _this.isEmpty = true;\n return _this;\n }\n DefaultIfEmptySubscriber.prototype._next = function (value) {\n this.isEmpty = false;\n this.destination.next(value);\n };\n DefaultIfEmptySubscriber.prototype._complete = function () {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n };\n return DefaultIfEmptySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar isDate_1 = require(\"../util/isDate\");\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Notification_1 = require(\"../Notification\");\nfunction delay(delay, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n var absoluteDelay = isDate_1.isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nexports.delay = delay;\nvar DelayOperator = (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\nvar DelaySubscriber = (function (_super) {\n __extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.delay = delay;\n _this.scheduler = scheduler;\n _this.queue = [];\n _this.active = false;\n _this.errored = false;\n return _this;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n var destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(Notification_1.Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(Notification_1.Notification.createComplete());\n this.unsubscribe();\n };\n return DelaySubscriber;\n}(Subscriber_1.Subscriber));\nvar DelayMessage = (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Observable_1 = require(\"../Observable\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return new SubscriptionDelayObservable(source, subscriptionDelay)\n .lift(new DelayWhenOperator(delayDurationSelector));\n };\n }\n return function (source) { return source.lift(new DelayWhenOperator(delayDurationSelector)); };\n}\nexports.delayWhen = delayWhen;\nvar DelayWhenOperator = (function () {\n function DelayWhenOperator(delayDurationSelector) {\n this.delayDurationSelector = delayDurationSelector;\n }\n DelayWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n };\n return DelayWhenOperator;\n}());\nvar DelayWhenSubscriber = (function (_super) {\n __extends(DelayWhenSubscriber, _super);\n function DelayWhenSubscriber(destination, delayDurationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.delayDurationSelector = delayDurationSelector;\n _this.completed = false;\n _this.delayNotifierSubscriptions = [];\n _this.index = 0;\n return _this;\n }\n DelayWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(outerValue);\n this.removeSubscription(innerSub);\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n var value = this.removeSubscription(innerSub);\n if (value) {\n this.destination.next(value);\n }\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype._next = function (value) {\n var index = this.index++;\n try {\n var delayNotifier = this.delayDurationSelector(value, index);\n if (delayNotifier) {\n this.tryDelay(delayNotifier, value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DelayWhenSubscriber.prototype._complete = function () {\n this.completed = true;\n this.tryComplete();\n this.unsubscribe();\n };\n DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n subscription.unsubscribe();\n var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n if (subscriptionIdx !== -1) {\n this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n }\n return subscription.outerValue;\n };\n DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n var notifierSubscription = subscribeToResult_1.subscribeToResult(this, delayNotifier, value);\n if (notifierSubscription && !notifierSubscription.closed) {\n var destination = this.destination;\n destination.add(notifierSubscription);\n this.delayNotifierSubscriptions.push(notifierSubscription);\n }\n };\n DelayWhenSubscriber.prototype.tryComplete = function () {\n if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n this.destination.complete();\n }\n };\n return DelayWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nvar SubscriptionDelayObservable = (function (_super) {\n __extends(SubscriptionDelayObservable, _super);\n function SubscriptionDelayObservable(source, subscriptionDelay) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subscriptionDelay = subscriptionDelay;\n return _this;\n }\n SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n };\n return SubscriptionDelayObservable;\n}(Observable_1.Observable));\nvar SubscriptionDelaySubscriber = (function (_super) {\n __extends(SubscriptionDelaySubscriber, _super);\n function SubscriptionDelaySubscriber(parent, source) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.source = source;\n _this.sourceSubscribed = false;\n return _this;\n }\n SubscriptionDelaySubscriber.prototype._next = function (unused) {\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype._error = function (err) {\n this.unsubscribe();\n this.parent.error(err);\n };\n SubscriptionDelaySubscriber.prototype._complete = function () {\n this.unsubscribe();\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n if (!this.sourceSubscribed) {\n this.sourceSubscribed = true;\n this.unsubscribe();\n this.source.subscribe(this.parent);\n }\n };\n return SubscriptionDelaySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=delayWhen.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction dematerialize() {\n return function dematerializeOperatorFunction(source) {\n return source.lift(new DeMaterializeOperator());\n };\n}\nexports.dematerialize = dematerialize;\nvar DeMaterializeOperator = (function () {\n function DeMaterializeOperator() {\n }\n DeMaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DeMaterializeSubscriber(subscriber));\n };\n return DeMaterializeOperator;\n}());\nvar DeMaterializeSubscriber = (function (_super) {\n __extends(DeMaterializeSubscriber, _super);\n function DeMaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n DeMaterializeSubscriber.prototype._next = function (value) {\n value.observe(this.destination);\n };\n return DeMaterializeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=dematerialize.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction distinct(keySelector, flushes) {\n return function (source) { return source.lift(new DistinctOperator(keySelector, flushes)); };\n}\nexports.distinct = distinct;\nvar DistinctOperator = (function () {\n function DistinctOperator(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n DistinctOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n };\n return DistinctOperator;\n}());\nvar DistinctSubscriber = (function (_super) {\n __extends(DistinctSubscriber, _super);\n function DistinctSubscriber(destination, keySelector, flushes) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.values = new Set();\n if (flushes) {\n _this.add(subscribeToResult_1.subscribeToResult(_this, flushes));\n }\n return _this;\n }\n DistinctSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values.clear();\n };\n DistinctSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DistinctSubscriber.prototype._next = function (value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n };\n DistinctSubscriber.prototype._useKeySelector = function (value) {\n var key;\n var destination = this.destination;\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 DistinctSubscriber.prototype._finalizeNext = function (key, value) {\n var values = this.values;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n };\n return DistinctSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.DistinctSubscriber = DistinctSubscriber;\n//# sourceMappingURL=distinct.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nfunction distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nexports.distinctUntilChanged = distinctUntilChanged;\nvar DistinctUntilChangedOperator = (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\nvar DistinctUntilChangedSubscriber = (function (_super) {\n __extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.hasKey = false;\n if (typeof compare === 'function') {\n _this.compare = compare;\n }\n return _this;\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var keySelector = this.keySelector;\n var key = value;\n if (keySelector) {\n key = tryCatch_1.tryCatch(this.keySelector)(value);\n if (key === errorObject_1.errorObject) {\n return this.destination.error(errorObject_1.errorObject.e);\n }\n }\n var result = false;\n if (this.hasKey) {\n result = tryCatch_1.tryCatch(this.compare)(this.key, key);\n if (result === errorObject_1.errorObject) {\n return this.destination.error(errorObject_1.errorObject.e);\n }\n }\n else {\n this.hasKey = true;\n }\n if (Boolean(result) === false) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar distinctUntilChanged_1 = require(\"./distinctUntilChanged\");\nfunction distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged_1.distinctUntilChanged(function (x, y) { return compare ? compare(x[key], y[key]) : x[key] === y[key]; });\n}\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged;\n//# sourceMappingURL=distinctUntilKeyChanged.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ArgumentOutOfRangeError_1 = require(\"../util/ArgumentOutOfRangeError\");\nvar filter_1 = require(\"./filter\");\nvar throwIfEmpty_1 = require(\"./throwIfEmpty\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar take_1 = require(\"./take\");\nfunction elementAt(index, defaultValue) {\n if (index < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();\n }\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(filter_1.filter(function (v, i) { return i === index; }), take_1.take(1), hasDefaultValue\n ? defaultIfEmpty_1.defaultIfEmpty(defaultValue)\n : throwIfEmpty_1.throwIfEmpty(function () { return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError(); })); };\n}\nexports.elementAt = elementAt;\n//# sourceMappingURL=elementAt.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar fromArray_1 = require(\"../observable/fromArray\");\nvar scalar_1 = require(\"../observable/scalar\");\nvar empty_1 = require(\"../observable/empty\");\nvar concat_1 = require(\"../observable/concat\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction endWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n return function (source) {\n var scheduler = array[array.length - 1];\n if (isScheduler_1.isScheduler(scheduler)) {\n array.pop();\n }\n else {\n scheduler = null;\n }\n var len = array.length;\n if (len === 1 && !scheduler) {\n return concat_1.concat(source, scalar_1.scalar(array[0]));\n }\n else if (len > 0) {\n return concat_1.concat(source, fromArray_1.fromArray(array, scheduler));\n }\n else {\n return concat_1.concat(source, empty_1.empty(scheduler));\n }\n };\n}\nexports.endWith = endWith;\n//# sourceMappingURL=endWith.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction every(predicate, thisArg) {\n return function (source) { return source.lift(new EveryOperator(predicate, thisArg, source)); };\n}\nexports.every = every;\nvar EveryOperator = (function () {\n function EveryOperator(predicate, thisArg, source) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n }\n EveryOperator.prototype.call = function (observer, source) {\n return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n };\n return EveryOperator;\n}());\nvar EverySubscriber = (function (_super) {\n __extends(EverySubscriber, _super);\n function EverySubscriber(destination, predicate, thisArg, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.source = source;\n _this.index = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n this.destination.next(everyValueMatch);\n this.destination.complete();\n };\n EverySubscriber.prototype._next = function (value) {\n var result = false;\n try {\n result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (!result) {\n this.notifyComplete(false);\n }\n };\n EverySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return EverySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=every.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction exhaust() {\n return function (source) { return source.lift(new SwitchFirstOperator()); };\n}\nexports.exhaust = exhaust;\nvar SwitchFirstOperator = (function () {\n function SwitchFirstOperator() {\n }\n SwitchFirstOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchFirstSubscriber(subscriber));\n };\n return SwitchFirstOperator;\n}());\nvar SwitchFirstSubscriber = (function (_super) {\n __extends(SwitchFirstSubscriber, _super);\n function SwitchFirstSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasCompleted = false;\n _this.hasSubscription = false;\n return _this;\n }\n SwitchFirstSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.hasSubscription = true;\n this.add(subscribeToResult_1.subscribeToResult(this, value));\n }\n };\n SwitchFirstSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n };\n SwitchFirstSubscriber.prototype.notifyComplete = function (innerSub) {\n this.remove(innerSub);\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return SwitchFirstSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=exhaust.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar map_1 = require(\"./map\");\nvar from_1 = require(\"../observable/from\");\nfunction exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return function (source) { return source.pipe(exhaustMap(function (a, i) { return from_1.from(project(a, i)).pipe(map_1.map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) {\n return source.lift(new ExhauseMapOperator(project));\n };\n}\nexports.exhaustMap = exhaustMap;\nvar ExhauseMapOperator = (function () {\n function ExhauseMapOperator(project) {\n this.project = project;\n }\n ExhauseMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExhaustMapSubscriber(subscriber, this.project));\n };\n return ExhauseMapOperator;\n}());\nvar ExhaustMapSubscriber = (function (_super) {\n __extends(ExhaustMapSubscriber, _super);\n function ExhaustMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.hasSubscription = false;\n _this.hasCompleted = false;\n _this.index = 0;\n return _this;\n }\n ExhaustMapSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.tryNext(value);\n }\n };\n ExhaustMapSubscriber.prototype.tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.hasSubscription = true;\n this._innerSub(result, value, index);\n };\n ExhaustMapSubscriber.prototype._innerSub = function (result, value, index) {\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined);\n var destination = this.destination;\n destination.add(innerSubscriber);\n subscribeToResult_1.subscribeToResult(this, result, value, index, innerSubscriber);\n };\n ExhaustMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExhaustMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n ExhaustMapSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n ExhaustMapSubscriber.prototype.notifyComplete = function (innerSub) {\n var destination = this.destination;\n destination.remove(innerSub);\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return ExhaustMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=exhaustMap.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction expand(project, concurrent, scheduler) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n if (scheduler === void 0) { scheduler = undefined; }\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return function (source) { return source.lift(new ExpandOperator(project, concurrent, scheduler)); };\n}\nexports.expand = expand;\nvar ExpandOperator = (function () {\n function ExpandOperator(project, concurrent, scheduler) {\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n }\n ExpandOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n };\n return ExpandOperator;\n}());\nexports.ExpandOperator = ExpandOperator;\nvar ExpandSubscriber = (function (_super) {\n __extends(ExpandSubscriber, _super);\n function ExpandSubscriber(destination, project, concurrent, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.scheduler = scheduler;\n _this.index = 0;\n _this.active = 0;\n _this.hasCompleted = false;\n if (concurrent < Number.POSITIVE_INFINITY) {\n _this.buffer = [];\n }\n return _this;\n }\n ExpandSubscriber.dispatch = function (arg) {\n var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n subscriber.subscribeToProjection(result, value, index);\n };\n ExpandSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (destination.closed) {\n this._complete();\n return;\n }\n var index = this.index++;\n if (this.active < this.concurrent) {\n destination.next(value);\n var result = tryCatch_1.tryCatch(this.project)(value, index);\n if (result === errorObject_1.errorObject) {\n destination.error(errorObject_1.errorObject.e);\n }\n else if (!this.scheduler) {\n this.subscribeToProjection(result, value, index);\n }\n else {\n var state = { subscriber: this, result: result, value: value, index: index };\n var destination_1 = this.destination;\n destination_1.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n this.active++;\n var destination = this.destination;\n destination.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\n };\n ExpandSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this._next(innerValue);\n };\n ExpandSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n var destination = this.destination;\n destination.remove(innerSub);\n this.active--;\n if (buffer && buffer.length > 0) {\n this._next(buffer.shift());\n }\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n };\n return ExpandSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.ExpandSubscriber = ExpandSubscriber;\n//# sourceMappingURL=expand.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nexports.filter = filter;\nvar FilterOperator = (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = (function (_super) {\n __extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=filter.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Subscription_1 = require(\"../Subscription\");\nfunction finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\nexports.finalize = finalize;\nvar FinallyOperator = (function () {\n function FinallyOperator(callback) {\n this.callback = callback;\n }\n FinallyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n };\n return FinallyOperator;\n}());\nvar FinallySubscriber = (function (_super) {\n __extends(FinallySubscriber, _super);\n function FinallySubscriber(destination, callback) {\n var _this = _super.call(this, destination) || this;\n _this.add(new Subscription_1.Subscription(callback));\n return _this;\n }\n return FinallySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=finalize.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction find(predicate, thisArg) {\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate is not a function');\n }\n return function (source) { return source.lift(new FindValueOperator(predicate, source, false, thisArg)); };\n}\nexports.find = find;\nvar FindValueOperator = (function () {\n function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n }\n FindValueOperator.prototype.call = function (observer, source) {\n return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n };\n return FindValueOperator;\n}());\nexports.FindValueOperator = FindValueOperator;\nvar FindValueSubscriber = (function (_super) {\n __extends(FindValueSubscriber, _super);\n function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.yieldIndex = yieldIndex;\n _this.thisArg = thisArg;\n _this.index = 0;\n return _this;\n }\n FindValueSubscriber.prototype.notifyComplete = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n this.unsubscribe();\n };\n FindValueSubscriber.prototype._next = function (value) {\n var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n var index = this.index++;\n try {\n var result = predicate.call(thisArg || this, value, index, this.source);\n if (result) {\n this.notifyComplete(this.yieldIndex ? index : value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n FindValueSubscriber.prototype._complete = function () {\n this.notifyComplete(this.yieldIndex ? -1 : undefined);\n };\n return FindValueSubscriber;\n}(Subscriber_1.Subscriber));\nexports.FindValueSubscriber = FindValueSubscriber;\n//# sourceMappingURL=find.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar find_1 = require(\"../operators/find\");\nfunction findIndex(predicate, thisArg) {\n return function (source) { return source.lift(new find_1.FindValueOperator(predicate, source, true, thisArg)); };\n}\nexports.findIndex = findIndex;\n//# sourceMappingURL=findIndex.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EmptyError_1 = require(\"../util/EmptyError\");\nvar filter_1 = require(\"./filter\");\nvar take_1 = require(\"./take\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar throwIfEmpty_1 = require(\"./throwIfEmpty\");\nvar identity_1 = require(\"../util/identity\");\nfunction first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? filter_1.filter(function (v, i) { return predicate(v, i, source); }) : identity_1.identity, take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function () { return new EmptyError_1.EmptyError(); })); };\n}\nexports.first = first;\n//# sourceMappingURL=first.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Subscription_1 = require(\"../Subscription\");\nvar Observable_1 = require(\"../Observable\");\nvar Subject_1 = require(\"../Subject\");\nfunction groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nexports.groupBy = groupBy;\nvar GroupByOperator = (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\nvar GroupBySubscriber = (function (_super) {\n __extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.elementSelector = elementSelector;\n _this.durationSelector = durationSelector;\n _this.subjectSelector = subjectSelector;\n _this.groups = null;\n _this.attemptedToUnsubscribe = false;\n _this.count = 0;\n return _this;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = (this.subjectSelector ? this.subjectSelector() : new Subject_1.Subject());\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(Subscriber_1.Subscriber));\nvar GroupDurationSubscriber = (function (_super) {\n __extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n var _this = _super.call(this, group) || this;\n _this.key = key;\n _this.group = group;\n _this.parent = parent;\n return _this;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(Subscriber_1.Subscriber));\nvar GroupedObservable = (function (_super) {\n __extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n var _this = _super.call(this) || this;\n _this.key = key;\n _this.groupSubject = groupSubject;\n _this.refCountSubscription = refCountSubscription;\n return _this;\n }\n GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new Subscription_1.Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(Observable_1.Observable));\nexports.GroupedObservable = GroupedObservable;\nvar InnerRefCountSubscription = (function (_super) {\n __extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n parent.count++;\n return _this;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(Subscription_1.Subscription));\n//# sourceMappingURL=groupBy.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nexports.ignoreElements = ignoreElements;\nvar IgnoreElementsOperator = (function () {\n function IgnoreElementsOperator() {\n }\n IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n };\n return IgnoreElementsOperator;\n}());\nvar IgnoreElementsSubscriber = (function (_super) {\n __extends(IgnoreElementsSubscriber, _super);\n function IgnoreElementsSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IgnoreElementsSubscriber.prototype._next = function (unused) {\n };\n return IgnoreElementsSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ignoreElements.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction isEmpty() {\n return function (source) { return source.lift(new IsEmptyOperator()); };\n}\nexports.isEmpty = isEmpty;\nvar IsEmptyOperator = (function () {\n function IsEmptyOperator() {\n }\n IsEmptyOperator.prototype.call = function (observer, source) {\n return source.subscribe(new IsEmptySubscriber(observer));\n };\n return IsEmptyOperator;\n}());\nvar IsEmptySubscriber = (function (_super) {\n __extends(IsEmptySubscriber, _super);\n function IsEmptySubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n var destination = this.destination;\n destination.next(isEmpty);\n destination.complete();\n };\n IsEmptySubscriber.prototype._next = function (value) {\n this.notifyComplete(false);\n };\n IsEmptySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return IsEmptySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=isEmpty.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EmptyError_1 = require(\"../util/EmptyError\");\nvar filter_1 = require(\"./filter\");\nvar takeLast_1 = require(\"./takeLast\");\nvar throwIfEmpty_1 = require(\"./throwIfEmpty\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar identity_1 = require(\"../util/identity\");\nfunction last(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? filter_1.filter(function (v, i) { return predicate(v, i, source); }) : identity_1.identity, takeLast_1.takeLast(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function () { return new EmptyError_1.EmptyError(); })); };\n}\nexports.last = last;\n//# sourceMappingURL=last.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexports.map = map;\nvar MapOperator = (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexports.MapOperator = MapOperator;\nvar MapSubscriber = (function (_super) {\n __extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=map.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nexports.mapTo = mapTo;\nvar MapToOperator = (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\nvar MapToSubscriber = (function (_super) {\n __extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n var _this = _super.call(this, destination) || this;\n _this.value = value;\n return _this;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=mapTo.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Notification_1 = require(\"../Notification\");\nfunction materialize() {\n return function materializeOperatorFunction(source) {\n return source.lift(new MaterializeOperator());\n };\n}\nexports.materialize = materialize;\nvar MaterializeOperator = (function () {\n function MaterializeOperator() {\n }\n MaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MaterializeSubscriber(subscriber));\n };\n return MaterializeOperator;\n}());\nvar MaterializeSubscriber = (function (_super) {\n __extends(MaterializeSubscriber, _super);\n function MaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n MaterializeSubscriber.prototype._next = function (value) {\n this.destination.next(Notification_1.Notification.createNext(value));\n };\n MaterializeSubscriber.prototype._error = function (err) {\n var destination = this.destination;\n destination.next(Notification_1.Notification.createError(err));\n destination.complete();\n };\n MaterializeSubscriber.prototype._complete = function () {\n var destination = this.destination;\n destination.next(Notification_1.Notification.createComplete());\n destination.complete();\n };\n return MaterializeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=materialize.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar reduce_1 = require(\"./reduce\");\nfunction max(comparer) {\n var max = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n : function (x, y) { return x > y ? x : y; };\n return reduce_1.reduce(max);\n}\nexports.max = max;\n//# sourceMappingURL=max.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar merge_1 = require(\"../observable/merge\");\nfunction merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(merge_1.merge.apply(void 0, [source].concat(observables))); };\n}\nexports.merge = merge;\n//# sourceMappingURL=merge.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mergeMap_1 = require(\"./mergeMap\");\nvar identity_1 = require(\"../util/identity\");\nfunction mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeMap_1.mergeMap(identity_1.identity, concurrent);\n}\nexports.mergeAll = mergeAll;\n//# sourceMappingURL=mergeAll.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar map_1 = require(\"./map\");\nvar from_1 = require(\"../observable/from\");\nfunction mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return from_1.from(project(a, i)).pipe(map_1.map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nexports.mergeMap = mergeMap;\nvar MergeMapOperator = (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexports.MergeMapOperator = MergeMapOperator;\nvar MergeMapSubscriber = (function (_super) {\n __extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined);\n var destination = this.destination;\n destination.add(innerSubscriber);\n subscribeToResult_1.subscribeToResult(this, ish, value, index, innerSubscriber);\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeMapSubscriber = MergeMapSubscriber;\n//# sourceMappingURL=mergeMap.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mergeMap_1 = require(\"./mergeMap\");\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n if (typeof resultSelector === 'function') {\n return mergeMap_1.mergeMap(function () { return innerObservable; }, resultSelector, concurrent);\n }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return mergeMap_1.mergeMap(function () { return innerObservable; }, concurrent);\n}\nexports.mergeMapTo = mergeMapTo;\n//# sourceMappingURL=mergeMapTo.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nfunction mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return function (source) { return source.lift(new MergeScanOperator(accumulator, seed, concurrent)); };\n}\nexports.mergeScan = mergeScan;\nvar MergeScanOperator = (function () {\n function MergeScanOperator(accumulator, seed, concurrent) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.concurrent = concurrent;\n }\n MergeScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));\n };\n return MergeScanOperator;\n}());\nexports.MergeScanOperator = MergeScanOperator;\nvar MergeScanSubscriber = (function (_super) {\n __extends(MergeScanSubscriber, _super);\n function MergeScanSubscriber(destination, accumulator, acc, concurrent) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this.acc = acc;\n _this.concurrent = concurrent;\n _this.hasValue = false;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeScanSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n var index = this.index++;\n var ish = tryCatch_1.tryCatch(this.accumulator)(this.acc, value);\n var destination = this.destination;\n if (ish === errorObject_1.errorObject) {\n destination.error(errorObject_1.errorObject.e);\n }\n else {\n this.active++;\n this._innerSub(ish, value, index);\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeScanSubscriber.prototype._innerSub = function (ish, value, index) {\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined);\n var destination = this.destination;\n destination.add(innerSubscriber);\n subscribeToResult_1.subscribeToResult(this, ish, value, index, innerSubscriber);\n };\n MergeScanSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeScanSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var destination = this.destination;\n this.acc = innerValue;\n this.hasValue = true;\n destination.next(innerValue);\n };\n MergeScanSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n var destination = this.destination;\n destination.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n };\n return MergeScanSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeScanSubscriber = MergeScanSubscriber;\n//# sourceMappingURL=mergeScan.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar reduce_1 = require(\"./reduce\");\nfunction min(comparer) {\n var min = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n : function (x, y) { return x < y ? x : y; };\n return reduce_1.reduce(min);\n}\nexports.min = min;\n//# sourceMappingURL=min.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ConnectableObservable_1 = require(\"../observable/ConnectableObservable\");\nfunction multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n var subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n var connectable = Object.create(source, ConnectableObservable_1.connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexports.multicast = multicast;\nvar MulticastOperator = (function () {\n function MulticastOperator(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n MulticastOperator.prototype.call = function (subscriber, source) {\n var selector = this.selector;\n var subject = this.subjectFactory();\n var subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n };\n return MulticastOperator;\n}());\nexports.MulticastOperator = MulticastOperator;\n//# sourceMappingURL=multicast.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Notification_1 = require(\"../Notification\");\nfunction observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nexports.observeOn = observeOn;\nvar ObserveOnOperator = (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexports.ObserveOnOperator = ObserveOnOperator;\nvar ObserveOnSubscriber = (function (_super) {\n __extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification_1.Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification_1.Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification_1.Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ObserveOnSubscriber = ObserveOnSubscriber;\nvar ObserveOnMessage = (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexports.ObserveOnMessage = ObserveOnMessage;\n//# sourceMappingURL=observeOn.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar from_1 = require(\"../observable/from\");\nvar isArray_1 = require(\"../util/isArray\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction onErrorResumeNext() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n return function (source) { return source.lift(new OnErrorResumeNextOperator(nextSources)); };\n}\nexports.onErrorResumeNext = onErrorResumeNext;\nfunction onErrorResumeNextStatic() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n var source = null;\n if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n source = nextSources.shift();\n return from_1.from(source, null).lift(new OnErrorResumeNextOperator(nextSources));\n}\nexports.onErrorResumeNextStatic = onErrorResumeNextStatic;\nvar OnErrorResumeNextOperator = (function () {\n function OnErrorResumeNextOperator(nextSources) {\n this.nextSources = nextSources;\n }\n OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n };\n return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = (function (_super) {\n __extends(OnErrorResumeNextSubscriber, _super);\n function OnErrorResumeNextSubscriber(destination, nextSources) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.nextSources = nextSources;\n return _this;\n }\n OnErrorResumeNextSubscriber.prototype.notifyError = function (error, innerSub) {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype.notifyComplete = function (innerSub) {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype._error = function (err) {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype._complete = function () {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n var next = this.nextSources.shift();\n if (next) {\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined);\n var destination = this.destination;\n destination.add(innerSubscriber);\n subscribeToResult_1.subscribeToResult(this, next, undefined, undefined, innerSubscriber);\n }\n else {\n this.destination.complete();\n }\n };\n return OnErrorResumeNextSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=onErrorResumeNext.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nexports.pairwise = pairwise;\nvar PairwiseOperator = (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\nvar PairwiseSubscriber = (function (_super) {\n __extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasPrev = false;\n return _this;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n if (this.hasPrev) {\n this.destination.next([this.prev, value]);\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n };\n return PairwiseSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=pairwise.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar not_1 = require(\"../util/not\");\nvar filter_1 = require(\"./filter\");\nfunction partition(predicate, thisArg) {\n return function (source) { return [\n filter_1.filter(predicate, thisArg)(source),\n filter_1.filter(not_1.not(predicate, thisArg))(source)\n ]; };\n}\nexports.partition = partition;\n//# sourceMappingURL=partition.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar map_1 = require(\"./map\");\nfunction pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return map_1.map(plucker(properties, length))(source); };\n}\nexports.pluck = pluck;\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp[props[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n//# sourceMappingURL=pluck.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar multicast_1 = require(\"./multicast\");\nfunction publish(selector) {\n return selector ?\n multicast_1.multicast(function () { return new Subject_1.Subject(); }, selector) :\n multicast_1.multicast(new Subject_1.Subject());\n}\nexports.publish = publish;\n//# sourceMappingURL=publish.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BehaviorSubject_1 = require(\"../BehaviorSubject\");\nvar multicast_1 = require(\"./multicast\");\nfunction publishBehavior(value) {\n return function (source) { return multicast_1.multicast(new BehaviorSubject_1.BehaviorSubject(value))(source); };\n}\nexports.publishBehavior = publishBehavior;\n//# sourceMappingURL=publishBehavior.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncSubject_1 = require(\"../AsyncSubject\");\nvar multicast_1 = require(\"./multicast\");\nfunction publishLast() {\n return function (source) { return multicast_1.multicast(new AsyncSubject_1.AsyncSubject())(source); };\n}\nexports.publishLast = publishLast;\n//# sourceMappingURL=publishLast.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ReplaySubject_1 = require(\"../ReplaySubject\");\nvar multicast_1 = require(\"./multicast\");\nfunction publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n var selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n var subject = new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);\n return function (source) { return multicast_1.multicast(function () { return subject; }, selector)(source); };\n}\nexports.publishReplay = publishReplay;\n//# sourceMappingURL=publishReplay.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = require(\"../util/isArray\");\nvar race_1 = require(\"../observable/race\");\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function raceOperatorFunction(source) {\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0];\n }\n return source.lift.call(race_1.race.apply(void 0, [source].concat(observables)));\n };\n}\nexports.race = race;\n//# sourceMappingURL=race.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar scan_1 = require(\"./scan\");\nvar takeLast_1 = require(\"./takeLast\");\nvar defaultIfEmpty_1 = require(\"./defaultIfEmpty\");\nvar pipe_1 = require(\"../util/pipe\");\nfunction reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe_1.pipe(scan_1.scan(accumulator, seed), takeLast_1.takeLast(1), defaultIfEmpty_1.defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe_1.pipe(scan_1.scan(function (acc, value, index) { return accumulator(acc, value, index + 1); }), takeLast_1.takeLast(1))(source);\n };\n}\nexports.reduce = reduce;\n//# sourceMappingURL=reduce.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nexports.refCount = refCount;\nvar RefCountOperator = (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n __extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=refCount.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar empty_1 = require(\"../observable/empty\");\nfunction repeat(count) {\n if (count === void 0) { count = -1; }\n return function (source) {\n if (count === 0) {\n return empty_1.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}\nexports.repeat = repeat;\nvar RepeatOperator = (function () {\n function RepeatOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RepeatOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n };\n return RepeatOperator;\n}());\nvar RepeatSubscriber = (function (_super) {\n __extends(RepeatSubscriber, _super);\n function RepeatSubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RepeatSubscriber.prototype.complete = function () {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.complete.call(this);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RepeatSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=repeat.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction repeatWhen(notifier) {\n return function (source) { return source.lift(new RepeatWhenOperator(notifier)); };\n}\nexports.repeatWhen = repeatWhen;\nvar RepeatWhenOperator = (function () {\n function RepeatWhenOperator(notifier) {\n this.notifier = notifier;\n }\n RepeatWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));\n };\n return RepeatWhenOperator;\n}());\nvar RepeatWhenSubscriber = (function (_super) {\n __extends(RepeatWhenSubscriber, _super);\n function RepeatWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n _this.sourceIsBeingSubscribedTo = true;\n return _this;\n }\n RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.sourceIsBeingSubscribedTo = true;\n this.source.subscribe(this);\n };\n RepeatWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n if (this.sourceIsBeingSubscribedTo === false) {\n return _super.prototype.complete.call(this);\n }\n };\n RepeatWhenSubscriber.prototype.complete = function () {\n this.sourceIsBeingSubscribedTo = false;\n if (!this.isStopped) {\n if (!this.retries) {\n this.subscribeToRetries();\n }\n if (!this.retriesSubscription || this.retriesSubscription.closed) {\n return _super.prototype.complete.call(this);\n }\n this._unsubscribeAndRecycle();\n this.notifications.next();\n }\n };\n RepeatWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n if (notifications) {\n notifications.unsubscribe();\n this.notifications = null;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = null;\n }\n this.retries = null;\n };\n RepeatWhenSubscriber.prototype._unsubscribeAndRecycle = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n _super.prototype._unsubscribeAndRecycle.call(this);\n this._unsubscribe = _unsubscribe;\n return this;\n };\n RepeatWhenSubscriber.prototype.subscribeToRetries = function () {\n this.notifications = new Subject_1.Subject();\n var retries = tryCatch_1.tryCatch(this.notifier)(this.notifications);\n if (retries === errorObject_1.errorObject) {\n return _super.prototype.complete.call(this);\n }\n this.retries = retries;\n this.retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n };\n return RepeatWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=repeatWhen.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction retry(count) {\n if (count === void 0) { count = -1; }\n return function (source) { return source.lift(new RetryOperator(count, source)); };\n}\nexports.retry = retry;\nvar RetryOperator = (function () {\n function RetryOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RetryOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n };\n return RetryOperator;\n}());\nvar RetrySubscriber = (function (_super) {\n __extends(RetrySubscriber, _super);\n function RetrySubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RetrySubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.error.call(this, err);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RetrySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=retry.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction retryWhen(notifier) {\n return function (source) { return source.lift(new RetryWhenOperator(notifier, source)); };\n}\nexports.retryWhen = retryWhen;\nvar RetryWhenOperator = (function () {\n function RetryWhenOperator(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n };\n return RetryWhenOperator;\n}());\nvar RetryWhenSubscriber = (function (_super) {\n __extends(RetryWhenSubscriber, _super);\n function RetryWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n return _this;\n }\n RetryWhenSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var errors = this.errors;\n var retries = this.retries;\n var retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new Subject_1.Subject();\n retries = tryCatch_1.tryCatch(this.notifier)(errors);\n if (retries === errorObject_1.errorObject) {\n return _super.prototype.error.call(this, errorObject_1.errorObject.e);\n }\n retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n }\n else {\n this.errors = null;\n this.retriesSubscription = null;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n };\n RetryWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n if (errors) {\n errors.unsubscribe();\n this.errors = null;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = null;\n }\n this.retries = null;\n };\n RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n this._unsubscribeAndRecycle();\n this._unsubscribe = _unsubscribe;\n this.source.subscribe(this);\n };\n return RetryWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction sample(notifier) {\n return function (source) { return source.lift(new SampleOperator(notifier)); };\n}\nexports.sample = sample;\nvar SampleOperator = (function () {\n function SampleOperator(notifier) {\n this.notifier = notifier;\n }\n SampleOperator.prototype.call = function (subscriber, source) {\n var sampleSubscriber = new SampleSubscriber(subscriber);\n var subscription = source.subscribe(sampleSubscriber);\n subscription.add(subscribeToResult_1.subscribeToResult(sampleSubscriber, this.notifier));\n return subscription;\n };\n return SampleOperator;\n}());\nvar SampleSubscriber = (function (_super) {\n __extends(SampleSubscriber, _super);\n function SampleSubscriber() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hasValue = false;\n return _this;\n }\n SampleSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n };\n SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.emitValue();\n };\n SampleSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.value);\n }\n };\n return SampleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=sample.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar async_1 = require(\"../scheduler/async\");\nfunction sampleTime(period, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) { return source.lift(new SampleTimeOperator(period, scheduler)); };\n}\nexports.sampleTime = sampleTime;\nvar SampleTimeOperator = (function () {\n function SampleTimeOperator(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n SampleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n };\n return SampleTimeOperator;\n}());\nvar SampleTimeSubscriber = (function (_super) {\n __extends(SampleTimeSubscriber, _super);\n function SampleTimeSubscriber(destination, period, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.period = period;\n _this.scheduler = scheduler;\n _this.hasValue = false;\n _this.add(scheduler.schedule(dispatchNotification, period, { subscriber: _this, period: period }));\n return _this;\n }\n SampleTimeSubscriber.prototype._next = function (value) {\n this.lastValue = value;\n this.hasValue = true;\n };\n SampleTimeSubscriber.prototype.notifyNext = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n };\n return SampleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNotification(state) {\n var subscriber = state.subscriber, period = state.period;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction scan(accumulator, seed) {\n var hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nexports.scan = scan;\nvar ScanOperator = (function () {\n function ScanOperator(accumulator, seed, hasSeed) {\n if (hasSeed === void 0) { hasSeed = false; }\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n ScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n };\n return ScanOperator;\n}());\nvar ScanSubscriber = (function (_super) {\n __extends(ScanSubscriber, _super);\n function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this._seed = _seed;\n _this.hasSeed = hasSeed;\n _this.index = 0;\n return _this;\n }\n Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n get: function () {\n return this._seed;\n },\n set: function (value) {\n this.hasSeed = true;\n this._seed = value;\n },\n enumerable: true,\n configurable: true\n });\n ScanSubscriber.prototype._next = function (value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n };\n ScanSubscriber.prototype._tryNext = function (value) {\n var index = this.index++;\n var result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n };\n return ScanSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=scan.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nfunction sequenceEqual(compareTo, comparor) {\n return function (source) { return source.lift(new SequenceEqualOperator(compareTo, comparor)); };\n}\nexports.sequenceEqual = sequenceEqual;\nvar SequenceEqualOperator = (function () {\n function SequenceEqualOperator(compareTo, comparor) {\n this.compareTo = compareTo;\n this.comparor = comparor;\n }\n SequenceEqualOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor));\n };\n return SequenceEqualOperator;\n}());\nexports.SequenceEqualOperator = SequenceEqualOperator;\nvar SequenceEqualSubscriber = (function (_super) {\n __extends(SequenceEqualSubscriber, _super);\n function SequenceEqualSubscriber(destination, compareTo, comparor) {\n var _this = _super.call(this, destination) || this;\n _this.compareTo = compareTo;\n _this.comparor = comparor;\n _this._a = [];\n _this._b = [];\n _this._oneComplete = false;\n _this.destination.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, _this)));\n return _this;\n }\n SequenceEqualSubscriber.prototype._next = function (value) {\n if (this._oneComplete && this._b.length === 0) {\n this.emit(false);\n }\n else {\n this._a.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype._complete = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n this.unsubscribe();\n };\n SequenceEqualSubscriber.prototype.checkValues = function () {\n var _c = this, _a = _c._a, _b = _c._b, comparor = _c.comparor;\n while (_a.length > 0 && _b.length > 0) {\n var a = _a.shift();\n var b = _b.shift();\n var areEqual = false;\n if (comparor) {\n areEqual = tryCatch_1.tryCatch(comparor)(a, b);\n if (areEqual === errorObject_1.errorObject) {\n this.destination.error(errorObject_1.errorObject.e);\n }\n }\n else {\n areEqual = a === b;\n }\n if (!areEqual) {\n this.emit(false);\n }\n }\n };\n SequenceEqualSubscriber.prototype.emit = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n };\n SequenceEqualSubscriber.prototype.nextB = function (value) {\n if (this._oneComplete && this._a.length === 0) {\n this.emit(false);\n }\n else {\n this._b.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype.completeB = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n };\n return SequenceEqualSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SequenceEqualSubscriber = SequenceEqualSubscriber;\nvar SequenceEqualCompareToSubscriber = (function (_super) {\n __extends(SequenceEqualCompareToSubscriber, _super);\n function SequenceEqualCompareToSubscriber(destination, parent) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n return _this;\n }\n SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n this.parent.nextB(value);\n };\n SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n this.parent.error(err);\n this.unsubscribe();\n };\n SequenceEqualCompareToSubscriber.prototype._complete = function () {\n this.parent.completeB();\n this.unsubscribe();\n };\n return SequenceEqualCompareToSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=sequenceEqual.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar multicast_1 = require(\"./multicast\");\nvar refCount_1 = require(\"./refCount\");\nvar Subject_1 = require(\"../Subject\");\nfunction shareSubjectFactory() {\n return new Subject_1.Subject();\n}\nfunction share() {\n return function (source) { return refCount_1.refCount()(multicast_1.multicast(shareSubjectFactory)(source)); };\n}\nexports.share = share;\n//# sourceMappingURL=share.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ReplaySubject_1 = require(\"../ReplaySubject\");\nfunction shareReplay(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n return function (source) { return source.lift(shareReplayOperator(bufferSize, windowTime, scheduler)); };\n}\nexports.shareReplay = shareReplay;\nfunction shareReplayOperator(bufferSize, windowTime, scheduler) {\n var subject;\n var refCount = 0;\n var subscription;\n var hasError = false;\n var isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);\n subscription = source.subscribe({\n next: function (value) { subject.next(value); },\n error: function (err) {\n hasError = true;\n subject.error(err);\n },\n complete: function () {\n isComplete = true;\n subject.complete();\n },\n });\n }\n var innerSub = subject.subscribe(this);\n return function () {\n refCount--;\n innerSub.unsubscribe();\n if (subscription && refCount === 0 && isComplete) {\n subscription.unsubscribe();\n }\n };\n };\n}\n//# sourceMappingURL=shareReplay.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar EmptyError_1 = require(\"../util/EmptyError\");\nfunction single(predicate) {\n return function (source) { return source.lift(new SingleOperator(predicate, source)); };\n}\nexports.single = single;\nvar SingleOperator = (function () {\n function SingleOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n SingleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n };\n return SingleOperator;\n}());\nvar SingleSubscriber = (function (_super) {\n __extends(SingleSubscriber, _super);\n function SingleSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.seenValue = false;\n _this.index = 0;\n return _this;\n }\n SingleSubscriber.prototype.applySingleValue = function (value) {\n if (this.seenValue) {\n this.destination.error('Sequence contains more than one element');\n }\n else {\n this.seenValue = true;\n this.singleValue = value;\n }\n };\n SingleSubscriber.prototype._next = function (value) {\n var index = this.index++;\n if (this.predicate) {\n this.tryNext(value, index);\n }\n else {\n this.applySingleValue(value);\n }\n };\n SingleSubscriber.prototype.tryNext = function (value, index) {\n try {\n if (this.predicate(value, index, this.source)) {\n this.applySingleValue(value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n SingleSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.index > 0) {\n destination.next(this.seenValue ? this.singleValue : undefined);\n destination.complete();\n }\n else {\n destination.error(new EmptyError_1.EmptyError);\n }\n };\n return SingleSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=single.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nexports.skip = skip;\nvar SkipOperator = (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\nvar SkipSubscriber = (function (_super) {\n __extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=skip.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar ArgumentOutOfRangeError_1 = require(\"../util/ArgumentOutOfRangeError\");\nfunction skipLast(count) {\n return function (source) { return source.lift(new SkipLastOperator(count)); };\n}\nexports.skipLast = skipLast;\nvar SkipLastOperator = (function () {\n function SkipLastOperator(_skipCount) {\n this._skipCount = _skipCount;\n if (this._skipCount < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n SkipLastOperator.prototype.call = function (subscriber, source) {\n if (this._skipCount === 0) {\n return source.subscribe(new Subscriber_1.Subscriber(subscriber));\n }\n else {\n return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount));\n }\n };\n return SkipLastOperator;\n}());\nvar SkipLastSubscriber = (function (_super) {\n __extends(SkipLastSubscriber, _super);\n function SkipLastSubscriber(destination, _skipCount) {\n var _this = _super.call(this, destination) || this;\n _this._skipCount = _skipCount;\n _this._count = 0;\n _this._ring = new Array(_skipCount);\n return _this;\n }\n SkipLastSubscriber.prototype._next = function (value) {\n var skipCount = this._skipCount;\n var count = this._count++;\n if (count < skipCount) {\n this._ring[count] = value;\n }\n else {\n var currentIndex = count % skipCount;\n var ring = this._ring;\n var oldValue = ring[currentIndex];\n ring[currentIndex] = value;\n this.destination.next(oldValue);\n }\n };\n return SkipLastSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=skipLast.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction skipUntil(notifier) {\n return function (source) { return source.lift(new SkipUntilOperator(notifier)); };\n}\nexports.skipUntil = skipUntil;\nvar SkipUntilOperator = (function () {\n function SkipUntilOperator(notifier) {\n this.notifier = notifier;\n }\n SkipUntilOperator.prototype.call = function (destination, source) {\n return source.subscribe(new SkipUntilSubscriber(destination, this.notifier));\n };\n return SkipUntilOperator;\n}());\nvar SkipUntilSubscriber = (function (_super) {\n __extends(SkipUntilSubscriber, _super);\n function SkipUntilSubscriber(destination, notifier) {\n var _this = _super.call(this, destination) || this;\n _this.hasValue = false;\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(_this, undefined, undefined);\n _this.add(innerSubscriber);\n _this.innerSubscription = innerSubscriber;\n subscribeToResult_1.subscribeToResult(_this, notifier, undefined, undefined, innerSubscriber);\n return _this;\n }\n SkipUntilSubscriber.prototype._next = function (value) {\n if (this.hasValue) {\n _super.prototype._next.call(this, value);\n }\n };\n SkipUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.hasValue = true;\n if (this.innerSubscription) {\n this.innerSubscription.unsubscribe();\n }\n };\n SkipUntilSubscriber.prototype.notifyComplete = function () {\n };\n return SkipUntilSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=skipUntil.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction skipWhile(predicate) {\n return function (source) { return source.lift(new SkipWhileOperator(predicate)); };\n}\nexports.skipWhile = skipWhile;\nvar SkipWhileOperator = (function () {\n function SkipWhileOperator(predicate) {\n this.predicate = predicate;\n }\n SkipWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n };\n return SkipWhileOperator;\n}());\nvar SkipWhileSubscriber = (function (_super) {\n __extends(SkipWhileSubscriber, _super);\n function SkipWhileSubscriber(destination, predicate) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.skipping = true;\n _this.index = 0;\n return _this;\n }\n SkipWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (this.skipping) {\n this.tryCallPredicate(value);\n }\n if (!this.skipping) {\n destination.next(value);\n }\n };\n SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n try {\n var result = this.predicate(value, this.index++);\n this.skipping = Boolean(result);\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n return SkipWhileSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=skipWhile.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar fromArray_1 = require(\"../observable/fromArray\");\nvar scalar_1 = require(\"../observable/scalar\");\nvar empty_1 = require(\"../observable/empty\");\nvar concat_1 = require(\"../observable/concat\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction startWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n return function (source) {\n var scheduler = array[array.length - 1];\n if (isScheduler_1.isScheduler(scheduler)) {\n array.pop();\n }\n else {\n scheduler = null;\n }\n var len = array.length;\n if (len === 1 && !scheduler) {\n return concat_1.concat(scalar_1.scalar(array[0]), source);\n }\n else if (len > 0) {\n return concat_1.concat(fromArray_1.fromArray(array, scheduler), source);\n }\n else {\n return concat_1.concat(empty_1.empty(scheduler), source);\n }\n };\n}\nexports.startWith = startWith;\n//# sourceMappingURL=startWith.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SubscribeOnObservable_1 = require(\"../observable/SubscribeOnObservable\");\nfunction subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nexports.subscribeOn = subscribeOn;\nvar SubscribeOnOperator = (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable_1.SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar switchMap_1 = require(\"./switchMap\");\nvar identity_1 = require(\"../util/identity\");\nfunction switchAll() {\n return switchMap_1.switchMap(identity_1.identity);\n}\nexports.switchAll = switchAll;\n//# sourceMappingURL=switchAll.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nvar map_1 = require(\"./map\");\nvar from_1 = require(\"../observable/from\");\nfunction switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return from_1.from(project(a, i)).pipe(map_1.map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\nexports.switchMap = switchMap;\nvar SwitchMapOperator = (function () {\n function SwitchMapOperator(project) {\n this.project = project;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n };\n return SwitchMapOperator;\n}());\nvar SwitchMapSubscriber = (function (_super) {\n __extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.index = 0;\n return _this;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result, value, index);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result, value, index) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index, innerSubscriber);\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n this.unsubscribe();\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = null;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) {\n var destination = this.destination;\n destination.remove(innerSub);\n this.innerSubscription = null;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n return SwitchMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=switchMap.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar switchMap_1 = require(\"./switchMap\");\nfunction switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? switchMap_1.switchMap(function () { return innerObservable; }, resultSelector) : switchMap_1.switchMap(function () { return innerObservable; });\n}\nexports.switchMapTo = switchMapTo;\n//# sourceMappingURL=switchMapTo.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar ArgumentOutOfRangeError_1 = require(\"../util/ArgumentOutOfRangeError\");\nvar empty_1 = require(\"../observable/empty\");\nfunction take(count) {\n return function (source) {\n if (count === 0) {\n return empty_1.empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nexports.take = take;\nvar TakeOperator = (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\nvar TakeSubscriber = (function (_super) {\n __extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=take.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar ArgumentOutOfRangeError_1 = require(\"../util/ArgumentOutOfRangeError\");\nvar empty_1 = require(\"../observable/empty\");\nfunction takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty_1.empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nexports.takeLast = takeLast;\nvar TakeLastOperator = (function () {\n function TakeLastOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n TakeLastOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n };\n return TakeLastOperator;\n}());\nvar TakeLastSubscriber = (function (_super) {\n __extends(TakeLastSubscriber, _super);\n function TakeLastSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.ring = new Array();\n _this.count = 0;\n return _this;\n }\n TakeLastSubscriber.prototype._next = function (value) {\n var ring = this.ring;\n var total = this.total;\n var count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n var index = count % total;\n ring[index] = value;\n }\n };\n TakeLastSubscriber.prototype._complete = function () {\n var destination = this.destination;\n var count = this.count;\n if (count > 0) {\n var total = this.count >= this.total ? this.total : this.count;\n var ring = this.ring;\n for (var i = 0; i < total; i++) {\n var idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n };\n return TakeLastSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=takeLast.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nexports.takeUntil = takeUntil;\nvar TakeUntilOperator = (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n var notifierSubscription = subscribeToResult_1.subscribeToResult(takeUntilSubscriber, this.notifier);\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n };\n return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = (function (_super) {\n __extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.seenValue = false;\n return _this;\n }\n TakeUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.seenValue = true;\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n };\n return TakeUntilSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction takeWhile(predicate) {\n return function (source) { return source.lift(new TakeWhileOperator(predicate)); };\n}\nexports.takeWhile = takeWhile;\nvar TakeWhileOperator = (function () {\n function TakeWhileOperator(predicate) {\n this.predicate = predicate;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate));\n };\n return TakeWhileOperator;\n}());\nvar TakeWhileSubscriber = (function (_super) {\n __extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.index = 0;\n return _this;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=takeWhile.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar noop_1 = require(\"../util/noop\");\nvar isFunction_1 = require(\"../util/isFunction\");\nfunction tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nexports.tap = tap;\nvar DoOperator = (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\nvar TapSubscriber = (function (_super) {\n __extends(TapSubscriber, _super);\n function TapSubscriber(destination, observerOrNext, error, complete) {\n var _this = _super.call(this, destination) || this;\n _this._tapNext = noop_1.noop;\n _this._tapError = noop_1.noop;\n _this._tapComplete = noop_1.noop;\n _this._tapError = error || noop_1.noop;\n _this._tapComplete = complete || noop_1.noop;\n if (isFunction_1.isFunction(observerOrNext)) {\n _this._context = _this;\n _this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n _this._context = observerOrNext;\n _this._tapNext = observerOrNext.next || noop_1.noop;\n _this._tapError = observerOrNext.error || noop_1.noop;\n _this._tapComplete = observerOrNext.complete || noop_1.noop;\n }\n return _this;\n }\n TapSubscriber.prototype._next = function (value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n };\n TapSubscriber.prototype._error = function (err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n };\n TapSubscriber.prototype._complete = function () {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n };\n return TapSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=tap.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nexports.defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nfunction throttle(durationSelector, config) {\n if (config === void 0) { config = exports.defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, config.leading, config.trailing)); };\n}\nexports.throttle = throttle;\nvar ThrottleOperator = (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\nvar ThrottleSubscriber = (function (_super) {\n __extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.durationSelector = durationSelector;\n _this._leading = _leading;\n _this._trailing = _trailing;\n _this._hasValue = false;\n return _this;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n this._hasValue = true;\n this._sendValue = value;\n if (!this._throttled) {\n if (this._leading) {\n this.send();\n }\n else {\n this.throttle(value);\n }\n }\n };\n ThrottleSubscriber.prototype.send = function () {\n var _a = this, _hasValue = _a._hasValue, _sendValue = _a._sendValue;\n if (_hasValue) {\n this.destination.next(_sendValue);\n this.throttle(_sendValue);\n }\n this._hasValue = false;\n this._sendValue = null;\n };\n ThrottleSubscriber.prototype.throttle = function (value) {\n var duration = this.tryDurationSelector(value);\n if (duration) {\n this.add(this._throttled = subscribeToResult_1.subscribeToResult(this, duration));\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n ThrottleSubscriber.prototype.throttlingDone = function () {\n var _a = this, _throttled = _a._throttled, _trailing = _a._trailing;\n if (_throttled) {\n _throttled.unsubscribe();\n }\n this._throttled = null;\n if (_trailing) {\n this.send();\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.throttlingDone();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this.throttlingDone();\n };\n return ThrottleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=throttle.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar async_1 = require(\"../scheduler/async\");\nvar throttle_1 = require(\"./throttle\");\nfunction throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n if (config === void 0) { config = throttle_1.defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nexports.throttleTime = throttleTime;\nvar ThrottleTimeOperator = (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\nvar ThrottleTimeSubscriber = (function (_super) {\n __extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n var _this = _super.call(this, destination) || this;\n _this.duration = duration;\n _this.scheduler = scheduler;\n _this.leading = leading;\n _this.trailing = trailing;\n _this._hasTrailingValue = false;\n _this._trailingValue = null;\n return _this;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n }\n };\n ThrottleTimeSubscriber.prototype._complete = function () {\n if (this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this.destination.complete();\n }\n else {\n this.destination.complete();\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tap_1 = require(\"./tap\");\nvar EmptyError_1 = require(\"../util/EmptyError\");\nexports.throwIfEmpty = function (errorFactory) {\n if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }\n return tap_1.tap({\n hasValue: false,\n next: function () { this.hasValue = true; },\n complete: function () {\n if (!this.hasValue) {\n throw errorFactory();\n }\n }\n });\n};\nfunction defaultErrorFactory() {\n return new EmptyError_1.EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar scan_1 = require(\"./scan\");\nvar defer_1 = require(\"../observable/defer\");\nvar map_1 = require(\"./map\");\nfunction timeInterval(scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) { return defer_1.defer(function () {\n return source.pipe(scan_1.scan(function (_a, value) {\n var current = _a.current;\n return ({ value: value, current: scheduler.now(), last: current });\n }, { current: scheduler.now(), value: undefined, last: undefined }), map_1.map(function (_a) {\n var current = _a.current, last = _a.last, value = _a.value;\n return new TimeInterval(value, current - last);\n }));\n }); };\n}\nexports.timeInterval = timeInterval;\nvar TimeInterval = (function () {\n function TimeInterval(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n return TimeInterval;\n}());\nexports.TimeInterval = TimeInterval;\n//# sourceMappingURL=timeInterval.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar TimeoutError_1 = require(\"../util/TimeoutError\");\nvar timeoutWith_1 = require(\"./timeoutWith\");\nvar throwError_1 = require(\"../observable/throwError\");\nfunction timeout(due, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return timeoutWith_1.timeoutWith(due, throwError_1.throwError(new TimeoutError_1.TimeoutError()), scheduler);\n}\nexports.timeout = timeout;\n//# sourceMappingURL=timeout.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar isDate_1 = require(\"../util/isDate\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction timeoutWith(due, withObservable, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) {\n var absoluteTimeout = isDate_1.isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n };\n}\nexports.timeoutWith = timeoutWith;\nvar TimeoutWithOperator = (function () {\n function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n }\n TimeoutWithOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n };\n return TimeoutWithOperator;\n}());\nvar TimeoutWithSubscriber = (function (_super) {\n __extends(TimeoutWithSubscriber, _super);\n function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.absoluteTimeout = absoluteTimeout;\n _this.waitFor = waitFor;\n _this.withObservable = withObservable;\n _this.scheduler = scheduler;\n _this.action = null;\n _this.scheduleTimeout();\n return _this;\n }\n TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {\n var withObservable = subscriber.withObservable;\n subscriber._unsubscribeAndRecycle();\n subscriber.add(subscribeToResult_1.subscribeToResult(subscriber, withObservable));\n };\n TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutWithSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n TimeoutWithSubscriber.prototype._unsubscribe = function () {\n this.action = null;\n this.scheduler = null;\n this.withObservable = null;\n };\n return TimeoutWithSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar async_1 = require(\"../scheduler/async\");\nvar map_1 = require(\"./map\");\nfunction timestamp(scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return map_1.map(function (value) { return new Timestamp(value, scheduler.now()); });\n}\nexports.timestamp = timestamp;\nvar Timestamp = (function () {\n function Timestamp(value, timestamp) {\n this.value = value;\n this.timestamp = timestamp;\n }\n return Timestamp;\n}());\nexports.Timestamp = Timestamp;\n//# sourceMappingURL=timestamp.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar reduce_1 = require(\"./reduce\");\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nfunction toArray() {\n return reduce_1.reduce(toArrayReducer, []);\n}\nexports.toArray = toArray;\n//# sourceMappingURL=toArray.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction window(windowBoundaries) {\n return function windowOperatorFunction(source) {\n return source.lift(new WindowOperator(windowBoundaries));\n };\n}\nexports.window = window;\nvar WindowOperator = (function () {\n function WindowOperator(windowBoundaries) {\n this.windowBoundaries = windowBoundaries;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n var windowSubscriber = new WindowSubscriber(subscriber);\n var sourceSubscription = source.subscribe(windowSubscriber);\n if (!sourceSubscription.closed) {\n windowSubscriber.add(subscribeToResult_1.subscribeToResult(windowSubscriber, this.windowBoundaries));\n }\n return sourceSubscription;\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = (function (_super) {\n __extends(WindowSubscriber, _super);\n function WindowSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.window = new Subject_1.Subject();\n destination.next(_this.window);\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.openWindow();\n };\n WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this._complete();\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n };\n WindowSubscriber.prototype._unsubscribe = function () {\n this.window = null;\n };\n WindowSubscriber.prototype.openWindow = function () {\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var destination = this.destination;\n var newWindow = this.window = new Subject_1.Subject();\n destination.next(newWindow);\n };\n return WindowSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=window.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Subject_1 = require(\"../Subject\");\nfunction windowCount(windowSize, startWindowEvery) {\n if (startWindowEvery === void 0) { startWindowEvery = 0; }\n return function windowCountOperatorFunction(source) {\n return source.lift(new WindowCountOperator(windowSize, startWindowEvery));\n };\n}\nexports.windowCount = windowCount;\nvar WindowCountOperator = (function () {\n function WindowCountOperator(windowSize, startWindowEvery) {\n this.windowSize = windowSize;\n this.startWindowEvery = startWindowEvery;\n }\n WindowCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n };\n return WindowCountOperator;\n}());\nvar WindowCountSubscriber = (function (_super) {\n __extends(WindowCountSubscriber, _super);\n function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowSize = windowSize;\n _this.startWindowEvery = startWindowEvery;\n _this.windows = [new Subject_1.Subject()];\n _this.count = 0;\n destination.next(_this.windows[0]);\n return _this;\n }\n WindowCountSubscriber.prototype._next = function (value) {\n var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n var destination = this.destination;\n var windowSize = this.windowSize;\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len && !this.closed; i++) {\n windows[i].next(value);\n }\n var c = this.count - windowSize + 1;\n if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n windows.shift().complete();\n }\n if (++this.count % startWindowEvery === 0 && !this.closed) {\n var window_1 = new Subject_1.Subject();\n windows.push(window_1);\n destination.next(window_1);\n }\n };\n WindowCountSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().error(err);\n }\n }\n this.destination.error(err);\n };\n WindowCountSubscriber.prototype._complete = function () {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().complete();\n }\n }\n this.destination.complete();\n };\n WindowCountSubscriber.prototype._unsubscribe = function () {\n this.count = 0;\n this.windows = null;\n };\n return WindowCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=windowCount.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar async_1 = require(\"../scheduler/async\");\nvar Subscriber_1 = require(\"../Subscriber\");\nvar isNumeric_1 = require(\"../util/isNumeric\");\nvar isScheduler_1 = require(\"../util/isScheduler\");\nfunction windowTime(windowTimeSpan) {\n var scheduler = async_1.async;\n var windowCreationInterval = null;\n var maxWindowSize = Number.POSITIVE_INFINITY;\n if (isScheduler_1.isScheduler(arguments[3])) {\n scheduler = arguments[3];\n }\n if (isScheduler_1.isScheduler(arguments[2])) {\n scheduler = arguments[2];\n }\n else if (isNumeric_1.isNumeric(arguments[2])) {\n maxWindowSize = arguments[2];\n }\n if (isScheduler_1.isScheduler(arguments[1])) {\n scheduler = arguments[1];\n }\n else if (isNumeric_1.isNumeric(arguments[1])) {\n windowCreationInterval = arguments[1];\n }\n return function windowTimeOperatorFunction(source) {\n return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler));\n };\n}\nexports.windowTime = windowTime;\nvar WindowTimeOperator = (function () {\n function WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n }\n WindowTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler));\n };\n return WindowTimeOperator;\n}());\nvar CountedSubject = (function (_super) {\n __extends(CountedSubject, _super);\n function CountedSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._numberOfNextedValues = 0;\n return _this;\n }\n CountedSubject.prototype.next = function (value) {\n this._numberOfNextedValues++;\n _super.prototype.next.call(this, value);\n };\n Object.defineProperty(CountedSubject.prototype, \"numberOfNextedValues\", {\n get: function () {\n return this._numberOfNextedValues;\n },\n enumerable: true,\n configurable: true\n });\n return CountedSubject;\n}(Subject_1.Subject));\nvar WindowTimeSubscriber = (function (_super) {\n __extends(WindowTimeSubscriber, _super);\n function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowTimeSpan = windowTimeSpan;\n _this.windowCreationInterval = windowCreationInterval;\n _this.maxWindowSize = maxWindowSize;\n _this.scheduler = scheduler;\n _this.windows = [];\n var window = _this.openWindow();\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n var closeState = { subscriber: _this, window: window, context: null };\n var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n }\n else {\n var timeSpanOnlyState = { subscriber: _this, window: window, windowTimeSpan: windowTimeSpan };\n _this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n }\n return _this;\n }\n WindowTimeSubscriber.prototype._next = function (value) {\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len; i++) {\n var window_1 = windows[i];\n if (!window_1.closed) {\n window_1.next(value);\n if (window_1.numberOfNextedValues >= this.maxWindowSize) {\n this.closeWindow(window_1);\n }\n }\n }\n };\n WindowTimeSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n this.destination.error(err);\n };\n WindowTimeSubscriber.prototype._complete = function () {\n var windows = this.windows;\n while (windows.length > 0) {\n var window_2 = windows.shift();\n if (!window_2.closed) {\n window_2.complete();\n }\n }\n this.destination.complete();\n };\n WindowTimeSubscriber.prototype.openWindow = function () {\n var window = new CountedSubject();\n this.windows.push(window);\n var destination = this.destination;\n destination.next(window);\n return window;\n };\n WindowTimeSubscriber.prototype.closeWindow = function (window) {\n window.complete();\n var windows = this.windows;\n windows.splice(windows.indexOf(window), 1);\n };\n return WindowTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n if (window) {\n subscriber.closeWindow(window);\n }\n state.window = subscriber.openWindow();\n this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n var window = subscriber.openWindow();\n var action = this;\n var context = { action: action, subscription: null };\n var timeSpanState = { subscriber: subscriber, window: window, context: context };\n context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n action.add(context.subscription);\n action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(state) {\n var subscriber = state.subscriber, window = state.window, context = state.context;\n if (context && context.action && context.subscription) {\n context.action.remove(context.subscription);\n }\n subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar Subscription_1 = require(\"../Subscription\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction windowToggle(openings, closingSelector) {\n return function (source) { return source.lift(new WindowToggleOperator(openings, closingSelector)); };\n}\nexports.windowToggle = windowToggle;\nvar WindowToggleOperator = (function () {\n function WindowToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n WindowToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return WindowToggleOperator;\n}());\nvar WindowToggleSubscriber = (function (_super) {\n __extends(WindowToggleSubscriber, _super);\n function WindowToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.openings = openings;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(_this.openSubscription = subscribeToResult_1.subscribeToResult(_this, openings, openings));\n return _this;\n }\n WindowToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n if (contexts) {\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].window.next(value);\n }\n }\n };\n WindowToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_1 = contexts[index];\n context_1.window.error(err);\n context_1.subscription.unsubscribe();\n }\n }\n _super.prototype._error.call(this, err);\n };\n WindowToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_2 = contexts[index];\n context_2.window.complete();\n context_2.subscription.unsubscribe();\n }\n }\n _super.prototype._complete.call(this);\n };\n WindowToggleSubscriber.prototype._unsubscribe = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_3 = contexts[index];\n context_3.window.unsubscribe();\n context_3.subscription.unsubscribe();\n }\n }\n };\n WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (outerValue === this.openings) {\n var closingSelector = this.closingSelector;\n var closingNotifier = tryCatch_1.tryCatch(closingSelector)(innerValue);\n if (closingNotifier === errorObject_1.errorObject) {\n return this.error(errorObject_1.errorObject.e);\n }\n else {\n var window_1 = new Subject_1.Subject();\n var subscription = new Subscription_1.Subscription();\n var context_4 = { window: window_1, subscription: subscription };\n this.contexts.push(context_4);\n var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context_4);\n if (innerSubscription.closed) {\n this.closeWindow(this.contexts.length - 1);\n }\n else {\n innerSubscription.context = context_4;\n subscription.add(innerSubscription);\n }\n this.destination.next(window_1);\n }\n }\n else {\n this.closeWindow(this.contexts.indexOf(outerValue));\n }\n };\n WindowToggleSubscriber.prototype.notifyError = function (err) {\n this.error(err);\n };\n WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n if (inner !== this.openSubscription) {\n this.closeWindow(this.contexts.indexOf(inner.context));\n }\n };\n WindowToggleSubscriber.prototype.closeWindow = function (index) {\n if (index === -1) {\n return;\n }\n var contexts = this.contexts;\n var context = contexts[index];\n var window = context.window, subscription = context.subscription;\n contexts.splice(index, 1);\n window.complete();\n subscription.unsubscribe();\n };\n return WindowToggleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=windowToggle.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"../Subject\");\nvar tryCatch_1 = require(\"../util/tryCatch\");\nvar errorObject_1 = require(\"../util/errorObject\");\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction windowWhen(closingSelector) {\n return function windowWhenOperatorFunction(source) {\n return source.lift(new WindowOperator(closingSelector));\n };\n}\nexports.windowWhen = windowWhen;\nvar WindowOperator = (function () {\n function WindowOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = (function (_super) {\n __extends(WindowSubscriber, _super);\n function WindowSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.closingSelector = closingSelector;\n _this.openWindow();\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n if (this.closingNotification) {\n this.closingNotification.unsubscribe();\n }\n };\n WindowSubscriber.prototype.openWindow = function (innerSub) {\n if (innerSub === void 0) { innerSub = null; }\n if (innerSub) {\n this.remove(innerSub);\n innerSub.unsubscribe();\n }\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var window = this.window = new Subject_1.Subject();\n this.destination.next(window);\n var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\n if (closingNotifier === errorObject_1.errorObject) {\n var err = errorObject_1.errorObject.e;\n this.destination.error(err);\n this.window.error(err);\n }\n else {\n this.add(this.closingNotification = subscribeToResult_1.subscribeToResult(this, closingNotifier));\n }\n };\n return WindowSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=windowWhen.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar OuterSubscriber_1 = require(\"../OuterSubscriber\");\nvar subscribeToResult_1 = require(\"../util/subscribeToResult\");\nfunction withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nexports.withLatestFrom = withLatestFrom;\nvar WithLatestFromOperator = (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\nvar WithLatestFromSubscriber = (function (_super) {\n __extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n var _this = _super.call(this, destination) || this;\n _this.observables = observables;\n _this.project = project;\n _this.toRespond = [];\n var len = observables.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n _this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n _this.add(subscribeToResult_1.subscribeToResult(_this, observable, observable, i));\n }\n return _this;\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar zip_1 = require(\"../observable/zip\");\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(zip_1.zip.apply(void 0, [source].concat(observables)));\n };\n}\nexports.zip = zip;\n//# sourceMappingURL=zip.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar zip_1 = require(\"../observable/zip\");\nfunction zipAll(project) {\n return function (source) { return source.lift(new zip_1.ZipOperator(project)); };\n}\nexports.zipAll = zipAll;\n//# sourceMappingURL=zipAll.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscription_1 = require(\"../Subscription\");\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription_1.Subscription));\nexports.Action = Action;\n//# sourceMappingURL=Action.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar AnimationFrameAction = (function (_super) {\n __extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction_1.AsyncAction));\nexports.AnimationFrameAction = AnimationFrameAction;\n//# sourceMappingURL=AnimationFrameAction.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar AnimationFrameScheduler = (function (_super) {\n __extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AnimationFrameScheduler = AnimationFrameScheduler;\n//# sourceMappingURL=AnimationFrameScheduler.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Immediate_1 = require(\"../util/Immediate\");\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar AsapAction = (function (_super) {\n __extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate_1.Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction_1.AsyncAction));\nexports.AsapAction = AsapAction;\n//# sourceMappingURL=AsapAction.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar AsapScheduler = (function (_super) {\n __extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.AsapScheduler = AsapScheduler;\n//# sourceMappingURL=AsapScheduler.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Action_1 = require(\"./Action\");\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action_1.Action));\nexports.AsyncAction = AsyncAction;\n//# sourceMappingURL=AsyncAction.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Scheduler_1 = require(\"../Scheduler\");\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler_1.Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler_1.Scheduler));\nexports.AsyncScheduler = AsyncScheduler;\n//# sourceMappingURL=AsyncScheduler.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar QueueAction = (function (_super) {\n __extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction_1.AsyncAction));\nexports.QueueAction = QueueAction;\n//# sourceMappingURL=QueueAction.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar QueueScheduler = (function (_super) {\n __extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.QueueScheduler = QueueScheduler;\n//# sourceMappingURL=QueueScheduler.js.map", "\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nvar VirtualTimeScheduler = (function (_super) {\n __extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n if (SchedulerAction === void 0) { SchedulerAction = VirtualAction; }\n if (maxFrames === void 0) { maxFrames = Number.POSITIVE_INFINITY; }\n var _this = _super.call(this, SchedulerAction, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error, action;\n while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.VirtualTimeScheduler = VirtualTimeScheduler;\nvar VirtualAction = (function (_super) {\n __extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) { index = scheduler.index += 1; }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction_1.AsyncAction));\nexports.VirtualAction = VirtualAction;\n//# sourceMappingURL=VirtualTimeScheduler.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnimationFrameAction_1 = require(\"./AnimationFrameAction\");\nvar AnimationFrameScheduler_1 = require(\"./AnimationFrameScheduler\");\nexports.animationFrame = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);\n//# sourceMappingURL=animationFrame.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsapAction_1 = require(\"./AsapAction\");\nvar AsapScheduler_1 = require(\"./AsapScheduler\");\nexports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);\n//# sourceMappingURL=asap.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AsyncAction_1 = require(\"./AsyncAction\");\nvar AsyncScheduler_1 = require(\"./AsyncScheduler\");\nexports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);\n//# sourceMappingURL=async.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar QueueAction_1 = require(\"./QueueAction\");\nvar QueueScheduler_1 = require(\"./QueueScheduler\");\nexports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);\n//# sourceMappingURL=queue.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexports.getSymbolIterator = getSymbolIterator;\nexports.iterator = getSymbolIterator();\nexports.$$iterator = exports.iterator;\n//# sourceMappingURL=iterator.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.observable = typeof Symbol === 'function' && Symbol.observable || '@@observable';\n//# sourceMappingURL=observable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rxSubscriber = typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random();\nexports.$$rxSubscriber = exports.rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n}\nArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n}\nEmptyErrorImpl.prototype = Object.create(Error.prototype);\nexports.EmptyError = EmptyErrorImpl;\n//# sourceMappingURL=EmptyError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar nextHandle = 1;\nvar tasksByHandle = {};\nfunction runIfPresent(handle) {\n var cb = tasksByHandle[handle];\n if (cb) {\n cb();\n }\n}\nexports.Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n tasksByHandle[handle] = cb;\n Promise.resolve().then(function () { return runIfPresent(handle); });\n return handle;\n },\n clearImmediate: function (handle) {\n delete tasksByHandle[handle];\n },\n};\n//# sourceMappingURL=Immediate.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n}\nObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\nexports.ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n}\nTimeoutErrorImpl.prototype = Object.create(Error.prototype);\nexports.TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n}\nUnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\nexports.UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nfunction canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber_1.Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\nexports.canReportError = canReportError;\n//# sourceMappingURL=canReportError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction hostReportError(err) {\n setTimeout(function () { throw err; });\n}\nexports.hostReportError = hostReportError;\n//# sourceMappingURL=hostReportError.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction identity(x) {\n return x;\n}\nexports.identity = identity;\n//# sourceMappingURL=identity.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\nexports.isDate = isDate;\n//# sourceMappingURL=isDate.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isFunction(x) {\n return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar observable_1 = require(\"../symbol/observable\");\nfunction isInteropObservable(input) {\n return input && typeof input[observable_1.observable] === 'function';\n}\nexports.isInteropObservable = isInteropObservable;\n//# sourceMappingURL=isInteropObservable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar iterator_1 = require(\"../symbol/iterator\");\nfunction isIterable(input) {\n return input && typeof input[iterator_1.iterator] === 'function';\n}\nexports.isIterable = isIterable;\n//# sourceMappingURL=isIterable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = require(\"./isArray\");\nfunction isNumeric(val) {\n return !isArray_1.isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\nexports.isNumeric = isNumeric;\n//# sourceMappingURL=isNumeric.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isObject(x) {\n return x != null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nfunction isObservable(obj) {\n return !!obj && (obj instanceof Observable_1.Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\nexports.isObservable = isObservable;\n//# sourceMappingURL=isObservable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isPromise(value) {\n return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\nexports.isScheduler = isScheduler;\n//# sourceMappingURL=isScheduler.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction noop() { }\nexports.noop = noop;\n//# sourceMappingURL=noop.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\nexports.not = not;\n//# sourceMappingURL=not.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar noop_1 = require(\"./noop\");\nfunction pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexports.pipe = pipe;\nfunction pipeFromArray(fns) {\n if (!fns) {\n return noop_1.noop;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\nexports.pipeFromArray = pipeFromArray;\n//# sourceMappingURL=pipe.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nvar subscribeToArray_1 = require(\"./subscribeToArray\");\nvar subscribeToPromise_1 = require(\"./subscribeToPromise\");\nvar subscribeToIterable_1 = require(\"./subscribeToIterable\");\nvar subscribeToObservable_1 = require(\"./subscribeToObservable\");\nvar isArrayLike_1 = require(\"./isArrayLike\");\nvar isPromise_1 = require(\"./isPromise\");\nvar isObject_1 = require(\"./isObject\");\nvar iterator_1 = require(\"../symbol/iterator\");\nvar observable_1 = require(\"../symbol/observable\");\nexports.subscribeTo = function (result) {\n if (result instanceof Observable_1.Observable) {\n return function (subscriber) {\n if (result._isScalar) {\n subscriber.next(result.value);\n subscriber.complete();\n return undefined;\n }\n else {\n return result.subscribe(subscriber);\n }\n };\n }\n else if (result && typeof result[observable_1.observable] === 'function') {\n return subscribeToObservable_1.subscribeToObservable(result);\n }\n else if (isArrayLike_1.isArrayLike(result)) {\n return subscribeToArray_1.subscribeToArray(result);\n }\n else if (isPromise_1.isPromise(result)) {\n return subscribeToPromise_1.subscribeToPromise(result);\n }\n else if (result && typeof result[iterator_1.iterator] === 'function') {\n return subscribeToIterable_1.subscribeToIterable(result);\n }\n else {\n var value = isObject_1.isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subscribeToArray = function (array) { return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n if (!subscriber.closed) {\n subscriber.complete();\n }\n}; };\n//# sourceMappingURL=subscribeToArray.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar iterator_1 = require(\"../symbol/iterator\");\nexports.subscribeToIterable = function (iterable) { return function (subscriber) {\n var iterator = iterable[iterator_1.iterator]();\n do {\n var item = iterator.next();\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n}; };\n//# sourceMappingURL=subscribeToIterable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar observable_1 = require(\"../symbol/observable\");\nexports.subscribeToObservable = function (obj) { return function (subscriber) {\n var obs = obj[observable_1.observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n}; };\n//# sourceMappingURL=subscribeToObservable.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hostReportError_1 = require(\"./hostReportError\");\nexports.subscribeToPromise = function (promise) { return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError_1.hostReportError);\n return subscriber;\n}; };\n//# sourceMappingURL=subscribeToPromise.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InnerSubscriber_1 = require(\"../InnerSubscriber\");\nvar subscribeTo_1 = require(\"./subscribeTo\");\nfunction subscribeToResult(outerSubscriber, result, outerValue, outerIndex, destination) {\n if (destination === void 0) { destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex); }\n if (destination.closed) {\n return;\n }\n return subscribeTo_1.subscribeTo(result)(destination);\n}\nexports.subscribeToResult = subscribeToResult;\n//# sourceMappingURL=subscribeToResult.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar rxSubscriber_1 = require(\"../symbol/rxSubscriber\");\nvar Observer_1 = require(\"../Observer\");\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriber_1.rxSubscriber]) {\n return nextOrObserver[rxSubscriber_1.rxSubscriber]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber_1.Subscriber(Observer_1.empty);\n }\n return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar errorObject_1 = require(\"./errorObject\");\nvar tryCatchTarget;\nfunction tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n }\n catch (e) {\n errorObject_1.errorObject.e = e;\n return errorObject_1.errorObject;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\nexports.tryCatch = tryCatch;\n//# sourceMappingURL=tryCatch.js.map", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar audit_1 = require(\"../internal/operators/audit\");\nexports.audit = audit_1.audit;\nvar auditTime_1 = require(\"../internal/operators/auditTime\");\nexports.auditTime = auditTime_1.auditTime;\nvar buffer_1 = require(\"../internal/operators/buffer\");\nexports.buffer = buffer_1.buffer;\nvar bufferCount_1 = require(\"../internal/operators/bufferCount\");\nexports.bufferCount = bufferCount_1.bufferCount;\nvar bufferTime_1 = require(\"../internal/operators/bufferTime\");\nexports.bufferTime = bufferTime_1.bufferTime;\nvar bufferToggle_1 = require(\"../internal/operators/bufferToggle\");\nexports.bufferToggle = bufferToggle_1.bufferToggle;\nvar bufferWhen_1 = require(\"../internal/operators/bufferWhen\");\nexports.bufferWhen = bufferWhen_1.bufferWhen;\nvar catchError_1 = require(\"../internal/operators/catchError\");\nexports.catchError = catchError_1.catchError;\nvar combineAll_1 = require(\"../internal/operators/combineAll\");\nexports.combineAll = combineAll_1.combineAll;\nvar combineLatest_1 = require(\"../internal/operators/combineLatest\");\nexports.combineLatest = combineLatest_1.combineLatest;\nvar concat_1 = require(\"../internal/operators/concat\");\nexports.concat = concat_1.concat;\nvar concatAll_1 = require(\"../internal/operators/concatAll\");\nexports.concatAll = concatAll_1.concatAll;\nvar concatMap_1 = require(\"../internal/operators/concatMap\");\nexports.concatMap = concatMap_1.concatMap;\nvar concatMapTo_1 = require(\"../internal/operators/concatMapTo\");\nexports.concatMapTo = concatMapTo_1.concatMapTo;\nvar count_1 = require(\"../internal/operators/count\");\nexports.count = count_1.count;\nvar debounce_1 = require(\"../internal/operators/debounce\");\nexports.debounce = debounce_1.debounce;\nvar debounceTime_1 = require(\"../internal/operators/debounceTime\");\nexports.debounceTime = debounceTime_1.debounceTime;\nvar defaultIfEmpty_1 = require(\"../internal/operators/defaultIfEmpty\");\nexports.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;\nvar delay_1 = require(\"../internal/operators/delay\");\nexports.delay = delay_1.delay;\nvar delayWhen_1 = require(\"../internal/operators/delayWhen\");\nexports.delayWhen = delayWhen_1.delayWhen;\nvar dematerialize_1 = require(\"../internal/operators/dematerialize\");\nexports.dematerialize = dematerialize_1.dematerialize;\nvar distinct_1 = require(\"../internal/operators/distinct\");\nexports.distinct = distinct_1.distinct;\nvar distinctUntilChanged_1 = require(\"../internal/operators/distinctUntilChanged\");\nexports.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;\nvar distinctUntilKeyChanged_1 = require(\"../internal/operators/distinctUntilKeyChanged\");\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged_1.distinctUntilKeyChanged;\nvar elementAt_1 = require(\"../internal/operators/elementAt\");\nexports.elementAt = elementAt_1.elementAt;\nvar endWith_1 = require(\"../internal/operators/endWith\");\nexports.endWith = endWith_1.endWith;\nvar every_1 = require(\"../internal/operators/every\");\nexports.every = every_1.every;\nvar exhaust_1 = require(\"../internal/operators/exhaust\");\nexports.exhaust = exhaust_1.exhaust;\nvar exhaustMap_1 = require(\"../internal/operators/exhaustMap\");\nexports.exhaustMap = exhaustMap_1.exhaustMap;\nvar expand_1 = require(\"../internal/operators/expand\");\nexports.expand = expand_1.expand;\nvar filter_1 = require(\"../internal/operators/filter\");\nexports.filter = filter_1.filter;\nvar finalize_1 = require(\"../internal/operators/finalize\");\nexports.finalize = finalize_1.finalize;\nvar find_1 = require(\"../internal/operators/find\");\nexports.find = find_1.find;\nvar findIndex_1 = require(\"../internal/operators/findIndex\");\nexports.findIndex = findIndex_1.findIndex;\nvar first_1 = require(\"../internal/operators/first\");\nexports.first = first_1.first;\nvar groupBy_1 = require(\"../internal/operators/groupBy\");\nexports.groupBy = groupBy_1.groupBy;\nvar ignoreElements_1 = require(\"../internal/operators/ignoreElements\");\nexports.ignoreElements = ignoreElements_1.ignoreElements;\nvar isEmpty_1 = require(\"../internal/operators/isEmpty\");\nexports.isEmpty = isEmpty_1.isEmpty;\nvar last_1 = require(\"../internal/operators/last\");\nexports.last = last_1.last;\nvar map_1 = require(\"../internal/operators/map\");\nexports.map = map_1.map;\nvar mapTo_1 = require(\"../internal/operators/mapTo\");\nexports.mapTo = mapTo_1.mapTo;\nvar materialize_1 = require(\"../internal/operators/materialize\");\nexports.materialize = materialize_1.materialize;\nvar max_1 = require(\"../internal/operators/max\");\nexports.max = max_1.max;\nvar merge_1 = require(\"../internal/operators/merge\");\nexports.merge = merge_1.merge;\nvar mergeAll_1 = require(\"../internal/operators/mergeAll\");\nexports.mergeAll = mergeAll_1.mergeAll;\nvar mergeMap_1 = require(\"../internal/operators/mergeMap\");\nexports.mergeMap = mergeMap_1.mergeMap;\nvar mergeMap_2 = require(\"../internal/operators/mergeMap\");\nexports.flatMap = mergeMap_2.mergeMap;\nvar mergeMapTo_1 = require(\"../internal/operators/mergeMapTo\");\nexports.mergeMapTo = mergeMapTo_1.mergeMapTo;\nvar mergeScan_1 = require(\"../internal/operators/mergeScan\");\nexports.mergeScan = mergeScan_1.mergeScan;\nvar min_1 = require(\"../internal/operators/min\");\nexports.min = min_1.min;\nvar multicast_1 = require(\"../internal/operators/multicast\");\nexports.multicast = multicast_1.multicast;\nvar observeOn_1 = require(\"../internal/operators/observeOn\");\nexports.observeOn = observeOn_1.observeOn;\nvar onErrorResumeNext_1 = require(\"../internal/operators/onErrorResumeNext\");\nexports.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;\nvar pairwise_1 = require(\"../internal/operators/pairwise\");\nexports.pairwise = pairwise_1.pairwise;\nvar partition_1 = require(\"../internal/operators/partition\");\nexports.partition = partition_1.partition;\nvar pluck_1 = require(\"../internal/operators/pluck\");\nexports.pluck = pluck_1.pluck;\nvar publish_1 = require(\"../internal/operators/publish\");\nexports.publish = publish_1.publish;\nvar publishBehavior_1 = require(\"../internal/operators/publishBehavior\");\nexports.publishBehavior = publishBehavior_1.publishBehavior;\nvar publishLast_1 = require(\"../internal/operators/publishLast\");\nexports.publishLast = publishLast_1.publishLast;\nvar publishReplay_1 = require(\"../internal/operators/publishReplay\");\nexports.publishReplay = publishReplay_1.publishReplay;\nvar race_1 = require(\"../internal/operators/race\");\nexports.race = race_1.race;\nvar reduce_1 = require(\"../internal/operators/reduce\");\nexports.reduce = reduce_1.reduce;\nvar repeat_1 = require(\"../internal/operators/repeat\");\nexports.repeat = repeat_1.repeat;\nvar repeatWhen_1 = require(\"../internal/operators/repeatWhen\");\nexports.repeatWhen = repeatWhen_1.repeatWhen;\nvar retry_1 = require(\"../internal/operators/retry\");\nexports.retry = retry_1.retry;\nvar retryWhen_1 = require(\"../internal/operators/retryWhen\");\nexports.retryWhen = retryWhen_1.retryWhen;\nvar refCount_1 = require(\"../internal/operators/refCount\");\nexports.refCount = refCount_1.refCount;\nvar sample_1 = require(\"../internal/operators/sample\");\nexports.sample = sample_1.sample;\nvar sampleTime_1 = require(\"../internal/operators/sampleTime\");\nexports.sampleTime = sampleTime_1.sampleTime;\nvar scan_1 = require(\"../internal/operators/scan\");\nexports.scan = scan_1.scan;\nvar sequenceEqual_1 = require(\"../internal/operators/sequenceEqual\");\nexports.sequenceEqual = sequenceEqual_1.sequenceEqual;\nvar share_1 = require(\"../internal/operators/share\");\nexports.share = share_1.share;\nvar shareReplay_1 = require(\"../internal/operators/shareReplay\");\nexports.shareReplay = shareReplay_1.shareReplay;\nvar single_1 = require(\"../internal/operators/single\");\nexports.single = single_1.single;\nvar skip_1 = require(\"../internal/operators/skip\");\nexports.skip = skip_1.skip;\nvar skipLast_1 = require(\"../internal/operators/skipLast\");\nexports.skipLast = skipLast_1.skipLast;\nvar skipUntil_1 = require(\"../internal/operators/skipUntil\");\nexports.skipUntil = skipUntil_1.skipUntil;\nvar skipWhile_1 = require(\"../internal/operators/skipWhile\");\nexports.skipWhile = skipWhile_1.skipWhile;\nvar startWith_1 = require(\"../internal/operators/startWith\");\nexports.startWith = startWith_1.startWith;\nvar subscribeOn_1 = require(\"../internal/operators/subscribeOn\");\nexports.subscribeOn = subscribeOn_1.subscribeOn;\nvar switchAll_1 = require(\"../internal/operators/switchAll\");\nexports.switchAll = switchAll_1.switchAll;\nvar switchMap_1 = require(\"../internal/operators/switchMap\");\nexports.switchMap = switchMap_1.switchMap;\nvar switchMapTo_1 = require(\"../internal/operators/switchMapTo\");\nexports.switchMapTo = switchMapTo_1.switchMapTo;\nvar take_1 = require(\"../internal/operators/take\");\nexports.take = take_1.take;\nvar takeLast_1 = require(\"../internal/operators/takeLast\");\nexports.takeLast = takeLast_1.takeLast;\nvar takeUntil_1 = require(\"../internal/operators/takeUntil\");\nexports.takeUntil = takeUntil_1.takeUntil;\nvar takeWhile_1 = require(\"../internal/operators/takeWhile\");\nexports.takeWhile = takeWhile_1.takeWhile;\nvar tap_1 = require(\"../internal/operators/tap\");\nexports.tap = tap_1.tap;\nvar throttle_1 = require(\"../internal/operators/throttle\");\nexports.throttle = throttle_1.throttle;\nvar throttleTime_1 = require(\"../internal/operators/throttleTime\");\nexports.throttleTime = throttleTime_1.throttleTime;\nvar throwIfEmpty_1 = require(\"../internal/operators/throwIfEmpty\");\nexports.throwIfEmpty = throwIfEmpty_1.throwIfEmpty;\nvar timeInterval_1 = require(\"../internal/operators/timeInterval\");\nexports.timeInterval = timeInterval_1.timeInterval;\nvar timeout_1 = require(\"../internal/operators/timeout\");\nexports.timeout = timeout_1.timeout;\nvar timeoutWith_1 = require(\"../internal/operators/timeoutWith\");\nexports.timeoutWith = timeoutWith_1.timeoutWith;\nvar timestamp_1 = require(\"../internal/operators/timestamp\");\nexports.timestamp = timestamp_1.timestamp;\nvar toArray_1 = require(\"../internal/operators/toArray\");\nexports.toArray = toArray_1.toArray;\nvar window_1 = require(\"../internal/operators/window\");\nexports.window = window_1.window;\nvar windowCount_1 = require(\"../internal/operators/windowCount\");\nexports.windowCount = windowCount_1.windowCount;\nvar windowTime_1 = require(\"../internal/operators/windowTime\");\nexports.windowTime = windowTime_1.windowTime;\nvar windowToggle_1 = require(\"../internal/operators/windowToggle\");\nexports.windowToggle = windowToggle_1.windowToggle;\nvar windowWhen_1 = require(\"../internal/operators/windowWhen\");\nexports.windowWhen = windowWhen_1.windowWhen;\nvar withLatestFrom_1 = require(\"../internal/operators/withLatestFrom\");\nexports.withLatestFrom = withLatestFrom_1.withLatestFrom;\nvar zip_1 = require(\"../internal/operators/zip\");\nexports.zip = zip_1.zip;\nvar zipAll_1 = require(\"../internal/operators/zipAll\");\nexports.zipAll = zipAll_1.zipAll;\n//# sourceMappingURL=index.js.map", "// threejs.org/license\n(function(l,ya){\"object\"===typeof exports&&\"undefined\"!==typeof module?ya(exports):\"function\"===typeof define&&define.amd?define([\"exports\"],ya):ya(l.THREE={})})(this,function(l){function ya(){}function z(a,b){this.x=a||0;this.y=b||0}function I(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];0b&&(b=a[c]);return b}function C(){Object.defineProperty(this,\"id\",{value:If+=2});this.uuid=H.generateUUID();this.name=\"\";this.type=\"BufferGeometry\";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity};this.userData={}}function Ib(a,b,c,d,e,f){R.call(this);this.type=\"BoxGeometry\";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,\ndepthSegments:f};this.fromBufferGeometry(new kb(a,b,c,d,e,f));this.mergeVertices()}function kb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,N,O,Jf){var r=f/N,v=g/O,P=f/2,y=g/2,w=l/2;g=N+1;var E=O+1,x=f=0,B,z,A=new p;for(z=0;zm;m++){if(n=d[m])if(h=n[0],k=n[1]){q&&e.addAttribute(\"morphTarget\"+m,q[h]);f&&e.addAttribute(\"morphNormal\"+\nm,f[h]);c[m]=k;continue}c[m]=0}g.getUniforms().setValue(a,\"morphTargetInfluences\",c)}}}function Vf(a,b){var c={};return{update:function(d){var e=b.render.frame,f=d.geometry,g=a.get(d,f);c[g.id]!==e&&(f.isGeometry&&g.updateFromObject(d),a.update(g),c[g.id]=e);return g},dispose:function(){c={}}}}function Ua(a,b,c,d,e,f,g,h,k,m){a=void 0!==a?a:[];T.call(this,a,void 0!==b?b:301,c,d,e,f,g,h,k,m);this.flipY=!1}function Jb(a,b,c){var d=a[0];if(0>=d||0/gm,\nfunction(a,c){a=S[c];if(void 0===a)throw Error(\"Can not resolve #include <\"+c+\">\");return Xd(a)})}function Xe(a){return a.replace(/#pragma unroll_loop[\\s]+?for \\( int i = (\\d+); i < (\\d+); i \\+\\+ \\) \\{([\\s\\S]+?)(?=\\})\\}/g,function(a,c,d,e){a=\"\";for(c=parseInt(c);cb||a.height>b){if(\"data\"in a){console.warn(\"THREE.WebGLRenderer: image in DataTexture is too big (\"+a.width+\"x\"+a.height+\").\");\nreturn}b/=Math.max(a.width,a.height);var c=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");c.width=Math.floor(a.width*b);c.height=Math.floor(a.height*b);c.getContext(\"2d\").drawImage(a,0,0,a.width,a.height,0,0,c.width,c.height);console.warn(\"THREE.WebGLRenderer: image is too big (\"+a.width+\"x\"+a.height+\"). Resized to \"+c.width+\"x\"+c.height);return c}return a}function k(a){return H.isPowerOfTwo(a.width)&&H.isPowerOfTwo(a.height)}function m(a,b){return a.generateMipmaps&&b&&1003!==\na.minFilter&&1006!==a.minFilter}function q(b,c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function n(b,c){if(!e.isWebGL2)return b;if(b===a.RGB){if(c===a.FLOAT)return a.RGB32F;if(c===a.HALF_FLOAT)return a.RGB16F;if(c===a.UNSIGNED_BYTE)return a.RGB8}if(b===a.RGBA){if(c===a.FLOAT)return a.RGBA32F;if(c===a.HALF_FLOAT)return a.RGBA16F;if(c===a.UNSIGNED_BYTE)return a.RGBA8}return b}function t(b){return 1003===b||1004===b||1005===b?a.NEAREST:a.LINEAR}function u(b){b=\nb.target;b.removeEventListener(\"dispose\",u);a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d.remove(b)}b.isVideoTexture&&delete B[b.id];g.memory.textures--}function r(b){b=b.target;b.removeEventListener(\"dispose\",r);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e=\n0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d.remove(b.texture);d.remove(b)}g.memory.textures--}function l(b,t){var r=d.get(b);if(b.isVideoTexture){var l=b.id,v=g.render.frame;B[l]!==v&&(B[l]=v,b.update())}if(0w;w++)v[w]=t||l?l?b.image[w].image:b.image[w]:h(b.image[w],e.maxCubemapSize);var y=v[0],E=k(y),P=f.convert(b.format),x=f.convert(b.type),N=n(P,x);p(a.TEXTURE_CUBE_MAP,b,E);for(w=0;6>w;w++)if(t)for(var B,z=v[w].mipmaps,A=0,D=z.length;At;t++)e.__webglFramebuffer[t]=a.createFramebuffer()}else e.__webglFramebuffer=\na.createFramebuffer();if(h){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);p(a.TEXTURE_CUBE_MAP,b.texture,n);for(t=0;6>t;t++)x(e.__webglFramebuffer[t],b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+t);m(b.texture,n)&&q(a.TEXTURE_CUBE_MAP,b.texture,b.width,b.height);c.bindTexture(a.TEXTURE_CUBE_MAP,null)}else c.bindTexture(a.TEXTURE_2D,f.__webglTexture),p(a.TEXTURE_2D,b.texture,n),x(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),m(b.texture,n)&&q(a.TEXTURE_2D,b.texture,b.width,b.height),\nc.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=!0===b.isWebGLRenderTargetCube;if(b.depthTexture){if(f)throw Error(\"target.depthTexture not supported in Cube render targets\");if(b&&b.isWebGLRenderTargetCube)throw Error(\"Depth Texture with cube render targets is not supported\");a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");d.get(b.depthTexture).__webglTexture&&\nb.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);l(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.TEXTURE_2D,e,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.TEXTURE_2D,e,0);else throw Error(\"Unknown depthTexture format\");\n}else if(f)for(e.__webglDepthbuffer=[],f=0;6>f;f++)a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer[f]),e.__webglDepthbuffer[f]=a.createRenderbuffer(),w(e.__webglDepthbuffer[f],b);else a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer),e.__webglDepthbuffer=a.createRenderbuffer(),w(e.__webglDepthbuffer,b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture,f=k(b);if(m(e,f)){f=b.isWebGLRenderTargetCube?a.TEXTURE_CUBE_MAP:a.TEXTURE_2D;var g=d.get(e).__webglTexture;\nc.bindTexture(f,g);q(f,e,b.width,b.height);c.bindTexture(f,null)}}}function $e(a,b,c){return{convert:function(d){if(1E3===d)return a.REPEAT;if(1001===d)return a.CLAMP_TO_EDGE;if(1002===d)return a.MIRRORED_REPEAT;if(1003===d)return a.NEAREST;if(1004===d)return a.NEAREST_MIPMAP_NEAREST;if(1005===d)return a.NEAREST_MIPMAP_LINEAR;if(1006===d)return a.LINEAR;if(1007===d)return a.LINEAR_MIPMAP_NEAREST;if(1008===d)return a.LINEAR_MIPMAP_LINEAR;if(1009===d)return a.UNSIGNED_BYTE;if(1017===d)return a.UNSIGNED_SHORT_4_4_4_4;\nif(1018===d)return a.UNSIGNED_SHORT_5_5_5_1;if(1019===d)return a.UNSIGNED_SHORT_5_6_5;if(1010===d)return a.BYTE;if(1011===d)return a.SHORT;if(1012===d)return a.UNSIGNED_SHORT;if(1013===d)return a.INT;if(1014===d)return a.UNSIGNED_INT;if(1015===d)return a.FLOAT;if(1016===d){if(c.isWebGL2)return a.HALF_FLOAT;var e=b.get(\"OES_texture_half_float\");if(null!==e)return e.HALF_FLOAT_OES}if(1021===d)return a.ALPHA;if(1022===d)return a.RGB;if(1023===d)return a.RGBA;if(1024===d)return a.LUMINANCE;if(1025===\nd)return a.LUMINANCE_ALPHA;if(1026===d)return a.DEPTH_COMPONENT;if(1027===d)return a.DEPTH_STENCIL;if(100===d)return a.FUNC_ADD;if(101===d)return a.FUNC_SUBTRACT;if(102===d)return a.FUNC_REVERSE_SUBTRACT;if(200===d)return a.ZERO;if(201===d)return a.ONE;if(202===d)return a.SRC_COLOR;if(203===d)return a.ONE_MINUS_SRC_COLOR;if(204===d)return a.SRC_ALPHA;if(205===d)return a.ONE_MINUS_SRC_ALPHA;if(206===d)return a.DST_ALPHA;if(207===d)return a.ONE_MINUS_DST_ALPHA;if(208===d)return a.DST_COLOR;if(209===\nd)return a.ONE_MINUS_DST_COLOR;if(210===d)return a.SRC_ALPHA_SATURATE;if(33776===d||33777===d||33778===d||33779===d)if(e=b.get(\"WEBGL_compressed_texture_s3tc\"),null!==e){if(33776===d)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===d)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===d)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===d)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===d||35841===d||35842===d||35843===d)if(e=b.get(\"WEBGL_compressed_texture_pvrtc\"),null!==e){if(35840===d)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;\nif(35841===d)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===d)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===d)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===d&&(e=b.get(\"WEBGL_compressed_texture_etc1\"),null!==e))return e.COMPRESSED_RGB_ETC1_WEBGL;if(37808===d||37809===d||37810===d||37811===d||37812===d||37813===d||37814===d||37815===d||37816===d||37817===d||37818===d||37819===d||37820===d||37821===d)if(e=b.get(\"WEBGL_compressed_texture_astc\"),null!==e)return d;if(103===d||104===\nd){if(c.isWebGL2){if(103===d)return a.MIN;if(104===d)return a.MAX}e=b.get(\"EXT_blend_minmax\");if(null!==e){if(103===d)return e.MIN_EXT;if(104===d)return e.MAX_EXT}}if(1020===d){if(c.isWebGL2)return a.UNSIGNED_INT_24_8;e=b.get(\"WEBGL_depth_texture\");if(null!==e)return e.UNSIGNED_INT_24_8_WEBGL}return 0}}}function Kb(){D.call(this);this.type=\"Group\"}function Z(a,b,c,d){Na.call(this);this.type=\"PerspectiveCamera\";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3;\nthis.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function yc(a){Z.call(this);this.cameras=a||[]}function af(a){function b(){return null!==e&&!0===e.isPresenting}function c(){if(b()){var c=e.getEyeParameters(\"left\"),f=c.renderWidth;c=c.renderHeight;x=a.getPixelRatio();y=a.getSize();a.setDrawingBufferSize(2*f,c,1);B.start()}else d.enabled&&(a.setDrawingBufferSize(y.width,y.height,x),B.stop())}var d=this,e=null,f=null,g=null,h=\n[],k=new I,m=new I;\"undefined\"!==typeof window&&\"VRFrameData\"in window&&(f=new window.VRFrameData,window.addEventListener(\"vrdisplaypresentchange\",c,!1));var q=new I,n=new fa,t=new p,u=new Z;u.bounds=new V(0,0,.5,1);u.layers.enable(1);var r=new Z;r.bounds=new V(.5,0,.5,1);r.layers.enable(2);var l=new yc([u,r]);l.layers.enable(1);l.layers.enable(2);var y,x,w=[];this.enabled=!1;this.userHeight=1.6;this.getController=function(a){var b=h[a];void 0===b&&(b=new Kb,b.matrixAutoUpdate=!1,b.visible=!1,h[a]=\nb);return b};this.getDevice=function(){return e};this.setDevice=function(a){void 0!==a&&(e=a);B.setContext(a)};this.setPoseTarget=function(a){void 0!==a&&(g=a)};this.getCamera=function(a){if(null===e)return a.position.set(0,d.userHeight,0),a;e.depthNear=a.near;e.depthFar=a.far;e.getFrameData(f);var b=e.stageParameters;b?k.fromArray(b.sittingToStandingTransform):k.makeTranslation(0,d.userHeight,0);b=f.pose;var c=null!==g?g:a;c.matrix.copy(k);c.matrix.decompose(c.position,c.quaternion,c.scale);null!==\nb.orientation&&(n.fromArray(b.orientation),c.quaternion.multiply(n));null!==b.position&&(n.setFromRotationMatrix(k),t.fromArray(b.position),t.applyQuaternion(n),c.position.add(t));c.updateMatrixWorld();if(!1===e.isPresenting)return a;u.near=a.near;r.near=a.near;u.far=a.far;r.far=a.far;l.matrixWorld.copy(a.matrixWorld);l.matrixWorldInverse.copy(a.matrixWorldInverse);u.matrixWorldInverse.fromArray(f.leftViewMatrix);r.matrixWorldInverse.fromArray(f.rightViewMatrix);m.getInverse(k);u.matrixWorldInverse.multiply(m);\nr.matrixWorldInverse.multiply(m);a=c.parent;null!==a&&(q.getInverse(a.matrixWorld),u.matrixWorldInverse.multiply(q),r.matrixWorldInverse.multiply(q));u.matrixWorld.getInverse(u.matrixWorldInverse);r.matrixWorld.getInverse(r.matrixWorldInverse);u.projectionMatrix.fromArray(f.leftProjectionMatrix);r.projectionMatrix.fromArray(f.rightProjectionMatrix);l.projectionMatrix.copy(u.projectionMatrix);a=e.getLayers();a.length&&(a=a[0],null!==a.leftBounds&&4===a.leftBounds.length&&u.bounds.fromArray(a.leftBounds),\nnull!==a.rightBounds&&4===a.rightBounds.length&&r.bounds.fromArray(a.rightBounds));a:for(a=0;af.normalMatrix.determinant();ba.setMaterial(e,h);var k=t(a,c,e,f),m=!1;if(b!==d.id||S!==k.id||nd!==(!0===e.wireframe))b=d.id,S=k.id,nd=!0===e.wireframe,m=!0;f.morphTargetInfluences&&(va.update(f,d,e,k),m=!0);h=d.index;var q=d.attributes.position;c=1;!0===e.wireframe&&\n(h=ra.getWireframeAttribute(d),c=2);a=xa;if(null!==h){var n=pa.get(h);a=ya;a.setIndex(n)}if(m){if(d&&d.isInstancedBufferGeometry&!ua.isWebGL2&&null===ha.get(\"ANGLE_instanced_arrays\"))console.error(\"THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");else{ba.initAttributes();m=d.attributes;k=k.getAttributes();var u=e.defaultAttributeValues;for(N in k){var l=k[N];if(0<=l){var r=m[N];if(void 0!==r){var v=r.normalized,\np=r.itemSize,w=pa.get(r);if(void 0!==w){var y=w.buffer,E=w.type;w=w.bytesPerElement;if(r.isInterleavedBufferAttribute){var x=r.data,B=x.stride;r=r.offset;x&&x.isInstancedInterleavedBuffer?(ba.enableAttributeAndDivisor(l,x.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=x.meshPerAttribute*x.count)):ba.enableAttribute(l);F.bindBuffer(F.ARRAY_BUFFER,y);F.vertexAttribPointer(l,p,E,v,B*w,r*w)}else r.isInstancedBufferAttribute?(ba.enableAttributeAndDivisor(l,r.meshPerAttribute),void 0===\nd.maxInstancedCount&&(d.maxInstancedCount=r.meshPerAttribute*r.count)):ba.enableAttribute(l),F.bindBuffer(F.ARRAY_BUFFER,y),F.vertexAttribPointer(l,p,E,v,0,0)}}else if(void 0!==u&&(v=u[N],void 0!==v))switch(v.length){case 2:F.vertexAttrib2fv(l,v);break;case 3:F.vertexAttrib3fv(l,v);break;case 4:F.vertexAttrib4fv(l,v);break;default:F.vertexAttrib1fv(l,v)}}}ba.disableUnusedAttributes()}null!==h&&F.bindBuffer(F.ELEMENT_ARRAY_BUFFER,n.buffer)}n=Infinity;null!==h?n=h.count:void 0!==q&&(n=q.count);h=d.drawRange.start*\nc;q=null!==g?g.start*c:0;var N=Math.max(h,q);g=Math.max(0,Math.min(n,h+d.drawRange.count*c,q+(null!==g?g.count*c:Infinity))-1-N+1);if(0!==g){if(f.isMesh)if(!0===e.wireframe)ba.setLineWidth(e.wireframeLinewidth*(null===R?U:1)),a.setMode(F.LINES);else switch(f.drawMode){case 0:a.setMode(F.TRIANGLES);break;case 1:a.setMode(F.TRIANGLE_STRIP);break;case 2:a.setMode(F.TRIANGLE_FAN)}else f.isLine?(e=e.linewidth,void 0===e&&(e=1),ba.setLineWidth(e*(null===R?U:1)),f.isLineSegments?a.setMode(F.LINES):f.isLineLoop?\na.setMode(F.LINE_LOOP):a.setMode(F.LINE_STRIP)):f.isPoints?a.setMode(F.POINTS):f.isSprite&&a.setMode(F.TRIANGLES);d&&d.isInstancedBufferGeometry?0=ua.maxTextures&&console.warn(\"THREE.WebGLRenderer: Trying to use \"+a+\" texture units while this GPU supports only \"+ua.maxTextures);X+=1;return a};\nthis.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn(\"THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead.\"),a=!0),b=b.texture);ia.setTexture2D(b,c)}}();this.setTexture=function(){var a=!1;return function(b,c){a||(console.warn(\"THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead.\"),a=!0);ia.setTexture2D(b,c)}}();this.setTextureCube=function(){var a=!1;return function(b,c){b&&\nb.isWebGLRenderTargetCube&&(a||(console.warn(\"THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead.\"),a=!0),b=b.texture);b&&b.isCubeTexture||Array.isArray(b.image)&&6===b.image.length?ia.setTextureCube(b,c):ia.setTextureCubeDynamic(b,c)}}();this.setFramebuffer=function(a){L=a};this.getRenderTarget=function(){return R};this.setRenderTarget=function(a){(R=a)&&void 0===Ba.get(a).__webglFramebuffer&&ia.setupRenderTarget(a);var b=L,c=!1;a?(b=\nBa.get(a).__webglFramebuffer,a.isWebGLRenderTargetCube&&(b=b[a.activeCubeFace],c=!0),T.copy(a.viewport),wc.copy(a.scissor),ea=a.scissorTest):(T.copy(od).multiplyScalar(U),wc.copy(fa).multiplyScalar(U),ea=qa);Q!==b&&(F.bindFramebuffer(F.FRAMEBUFFER,b),Q=b);ba.viewport(T);ba.scissor(wc);ba.setScissorTest(ea);c&&(c=Ba.get(a.texture),F.framebufferTexture2D(F.FRAMEBUFFER,F.COLOR_ATTACHMENT0,F.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,c.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels=\nfunction(a,b,c,d,e,f){if(a&&a.isWebGLRenderTarget){var g=Ba.get(a).__webglFramebuffer;if(g){var h=!1;g!==Q&&(F.bindFramebuffer(F.FRAMEBUFFER,g),h=!0);try{var k=a.texture,m=k.format,q=k.type;1023!==m&&da.convert(m)!==F.getParameter(F.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\"):1009===q||da.convert(q)===F.getParameter(F.IMPLEMENTATION_COLOR_READ_TYPE)||1015===q&&(ua.isWebGL2||ha.get(\"OES_texture_float\")||\nha.get(\"WEBGL_color_buffer_float\"))||1016===q&&(ua.isWebGL2?ha.get(\"EXT_color_buffer_float\"):ha.get(\"EXT_color_buffer_half_float\"))?F.checkFramebufferStatus(F.FRAMEBUFFER)===F.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&F.readPixels(b,c,d,e,da.convert(m),da.convert(q),f):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\"):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\")}finally{h&&\nF.bindFramebuffer(F.FRAMEBUFFER,Q)}}}else console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\")};this.copyFramebufferToTexture=function(a,b,c){var d=b.image.width,e=b.image.height,f=da.convert(b.format);this.setTexture2D(b,0);F.copyTexImage2D(F.TEXTURE_2D,c||0,f,a.x,a.y,d,e,0)};this.copyTextureToTexture=function(a,b,c,d){var e=b.image.width,f=b.image.height,g=da.convert(c.format),h=da.convert(c.type);this.setTexture2D(c,0);b.isDataTexture?F.texSubImage2D(F.TEXTURE_2D,\nd||0,a.x,a.y,e,f,g,h,b.image.data):F.texSubImage2D(F.TEXTURE_2D,d||0,a.x,a.y,g,h,b.image)}}function Lb(a,b){this.name=\"\";this.color=new G(a);this.density=void 0!==b?b:2.5E-4}function Mb(a,b,c){this.name=\"\";this.color=new G(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function qd(){D.call(this);this.type=\"Scene\";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function ob(a,b){this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange=\n{offset:0,count:-1};this.version=0}function zc(a,b,c,d){this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function cb(a){J.call(this);this.type=\"SpriteMaterial\";this.color=new G(16777215);this.map=null;this.rotation=0;this.lights=!1;this.transparent=!0;this.setValues(a)}function Ac(a){D.call(this);this.type=\"Sprite\";if(void 0===Nb){Nb=new C;var b=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);b=new ob(b,5);Nb.setIndex([0,1,2,0,2,3]);Nb.addAttribute(\"position\",\nnew zc(b,3,0,!1));Nb.addAttribute(\"uv\",new zc(b,2,3,!1))}this.geometry=Nb;this.material=void 0!==a?a:new cb;this.center=new z(.5,.5)}function Bc(){D.call(this);this.type=\"LOD\";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Cc(a,b){a=a||[];this.bones=a.slice(0);this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===b)this.calculateInverses();else if(this.bones.length===b.length)this.boneInverses=b.slice(0);else for(console.warn(\"THREE.Skeleton boneInverses is the wrong length.\"),\nthis.boneInverses=[],a=0,b=this.bones.length;ac;c++){var n=q[h[c]];var t=q[h[(c+1)%3]];f[0]=Math.min(n,t);f[1]=Math.max(n,t);n=f[0]+\",\"+f[1];void 0===g[n]&&(g[n]={index1:f[0],index2:f[1]})}}for(n in g)m=g[n],h=a.vertices[m.index1],b.push(h.x,h.y,h.z),h=a.vertices[m.index2],b.push(h.x,h.y,h.z)}else if(a&&a.isBufferGeometry)if(h=new p,null!==a.index){k=a.attributes.position;q=a.index;var u=a.groups;0===u.length&&(u=[{start:0,\ncount:q.count,materialIndex:0}]);a=0;for(e=u.length;ac;c++)n=q.getX(m+c),t=q.getX(m+(c+1)%3),f[0]=Math.min(n,t),f[1]=Math.max(n,t),n=f[0]+\",\"+f[1],void 0===g[n]&&(g[n]={index1:f[0],index2:f[1]});for(n in g)m=g[n],h.fromBufferAttribute(k,m.index1),b.push(h.x,h.y,h.z),h.fromBufferAttribute(k,m.index2),b.push(h.x,h.y,h.z)}else for(k=a.attributes.position,m=0,d=k.count/3;mc;c++)g=3*m+c,h.fromBufferAttribute(k,g),b.push(h.x,\nh.y,h.z),g=3*m+(c+1)%3,h.fromBufferAttribute(k,g),b.push(h.x,h.y,h.z);this.addAttribute(\"position\",new A(b,3))}function Fc(a,b,c){R.call(this);this.type=\"ParametricGeometry\";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Rb(a,b,c));this.mergeVertices()}function Rb(a,b,c){C.call(this);this.type=\"ParametricBufferGeometry\";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new p,k=new p,m=new p,q=new p,n=new p,t,u;3>a.length&&console.error(\"THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.\");\nvar r=b+1;for(t=0;t<=c;t++){var l=t/c;for(u=0;u<=b;u++){var y=u/b;a(y,l,k);e.push(k.x,k.y,k.z);0<=y-1E-5?(a(y-1E-5,l,m),q.subVectors(k,m)):(a(y+1E-5,l,m),q.subVectors(m,k));0<=l-1E-5?(a(y,l-1E-5,m),n.subVectors(k,m)):(a(y,l+1E-5,m),n.subVectors(m,k));h.crossVectors(q,n).normalize();f.push(h.x,h.y,h.z);g.push(y,l)}}for(t=0;td&&1===a.x&&(k[b]=a.x-1);0===c.x&&0===c.z&&(k[b]=d/2/Math.PI+.5)}C.call(this);this.type=\"PolyhedronBufferGeometry\";this.parameters={vertices:a,\nindices:b,radius:c,detail:d};c=c||1;d=d||0;var h=[],k=[];(function(a){for(var c=new p,d=new p,g=new p,h=0;he&&(.2>b&&(k[a+0]+=1),.2>c&&(k[a+2]+=1),.2>d&&(k[a+4]+=1))})();this.addAttribute(\"position\",new A(h,3));this.addAttribute(\"normal\",new A(h.slice(),3));this.addAttribute(\"uv\",new A(k,2));0===d?this.computeVertexNormals():this.normalizeNormals()}function Hc(a,\nb){R.call(this);this.type=\"TetrahedronGeometry\";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Sb(a,b));this.mergeVertices()}function Sb(a,b){na.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type=\"TetrahedronBufferGeometry\";this.parameters={radius:a,detail:b}}function Ic(a,b){R.call(this);this.type=\"OctahedronGeometry\";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new pb(a,b));this.mergeVertices()}function pb(a,b){na.call(this,[1,0,0,\n-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type=\"OctahedronBufferGeometry\";this.parameters={radius:a,detail:b}}function Jc(a,b){R.call(this);this.type=\"IcosahedronGeometry\";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Tb(a,b));this.mergeVertices()}function Tb(a,b){var c=(1+Math.sqrt(5))/2;na.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,\n11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type=\"IcosahedronBufferGeometry\";this.parameters={radius:a,detail:b}}function Kc(a,b){R.call(this);this.type=\"DodecahedronGeometry\";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Ub(a,b));this.mergeVertices()}function Ub(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;na.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,\n0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type=\"DodecahedronBufferGeometry\";this.parameters={radius:a,detail:b}}function Lc(a,b,c,d,e,f){R.call(this);this.type=\"TubeGeometry\";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,\nclosed:e};void 0!==f&&console.warn(\"THREE.TubeGeometry: taper has been removed.\");a=new Vb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Vb(a,b,c,d,e){function f(e){q=a.getPointAt(e/b,q);var f=g.normals[e];e=g.binormals[e];for(t=0;t<=d;t++){var m=t/d*Math.PI*2,n=Math.sin(m);m=-Math.cos(m);k.x=m*f.x+n*e.x;k.y=m*f.y+n*e.y;k.z=m*f.z+n*e.z;k.normalize();r.push(k.x,k.y,k.z);h.x=q.x+c*k.x;h.y=q.y+c*k.y;h.z=\nq.z+c*k.z;l.push(h.x,h.y,h.z)}}C.call(this);this.type=\"TubeBufferGeometry\";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new p,k=new p,m=new z,q=new p,n,t,l=[],r=[],v=[],y=[];for(n=0;n=b;e-=d)f=cf(e,a[e],a[e+1],f);f&&qb(f,f.next)&&(Oc(f),f=f.next);return f}function Pc(a,b){if(!a)return a;b||(b=a);do{var c=!1;if(a.steiner||!qb(a,a.next)&&0!==ma(a.prev,a,a.next))a=a.next;else{Oc(a);a=b=a.prev;if(a===a.next)break;c=!0}}while(c||a!==b);return b}\nfunction Qc(a,b,c,d,e,f,g){if(a){if(!g&&f){var h=a,k=h;do null===k.z&&(k.z=ae(k.x,k.y,d,e,f)),k.prevZ=k.prev,k=k.nextZ=k.next;while(k!==h);k.prevZ.nextZ=null;k.prevZ=null;h=k;var m,q,n,t,l=1;do{k=h;var r=h=null;for(q=0;k;){q++;var v=k;for(m=n=0;mn.x?q.x>l.x?q.x:l.x:n.x>l.x?n.x:l.x,B=q.y>n.y?q.y>l.y?q.y:l.y:n.y>l.y?n.y:l.y;m=ae(q.x=m;){if(p!==r.prev&&p!==r.next&&ud(q.x,q.y,n.x,n.y,l.x,l.y,p.x,p.y)&&0<=ma(p.prev,p,p.next)){r=!1;break a}p=\np.prevZ}r=!0}}else a:if(r=a,q=r.prev,n=r,l=r.next,0<=ma(q,n,l))r=!1;else{for(m=r.next.next;m!==r.prev;){if(ud(q.x,q.y,n.x,n.y,l.x,l.y,m.x,m.y)&&0<=ma(m.prev,m,m.next)){r=!1;break a}m=m.next}r=!0}if(r)b.push(k.i/c),b.push(a.i/c),b.push(v.i/c),Oc(a),h=a=v.next;else if(a=v,a===h){if(!g)Qc(Pc(a),b,c,d,e,f,1);else if(1===g){g=b;h=c;k=a;do v=k.prev,r=k.next.next,!qb(v,r)&&df(v,k,k.next,r)&&Rc(v,r)&&Rc(r,v)&&(g.push(v.i/h),g.push(k.i/h),g.push(r.i/h),Oc(k),Oc(k.next),k=a=r),k=k.next;while(k!==a);a=k;Qc(a,\nb,c,d,e,f,2)}else if(2===g)a:{g=a;do{for(h=g.next.next;h!==g.prev;){if(k=g.i!==h.i){k=g;v=h;if(r=k.next.i!==v.i&&k.prev.i!==v.i){b:{r=k;do{if(r.i!==k.i&&r.next.i!==k.i&&r.i!==v.i&&r.next.i!==v.i&&df(r,r.next,k,v)){r=!0;break b}r=r.next}while(r!==k);r=!1}r=!r}if(r=r&&Rc(k,v)&&Rc(v,k)){r=k;q=!1;n=(k.x+v.x)/2;v=(k.y+v.y)/2;do r.y>v!==r.next.y>v&&r.next.y!==r.y&&n<(r.next.x-r.x)*(v-r.y)/(r.next.y-r.y)+r.x&&(q=!q),r=r.next;while(r!==k);r=q}k=r}if(k){a=ef(g,h);g=Pc(g,g.next);a=Pc(a,a.next);Qc(g,b,c,d,e,\nf);Qc(a,b,c,d,e,f);break a}h=h.next}g=g.next}while(g!==a)}break}}}}function Ng(a,b){return a.x-b.x}function Og(a,b){var c=b,d=a.x,e=a.y,f=-Infinity;do{if(e<=c.y&&e>=c.next.y&&c.next.y!==c.y){var g=c.x+(e-c.y)*(c.next.x-c.x)/(c.next.y-c.y);if(g<=d&&g>f){f=g;if(g===d){if(e===c.y)return c;if(e===c.next.y)return c.next}var h=c.x=c.x&&c.x>=g&&d!==c.x&&ud(eh.x)&&Rc(c,a)&&(h=c,m=q)}c=c.next}return h}function ae(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function Pg(a){var b=a,c=a;do b.xma(a.prev,a,a.next)?0<=ma(a,b,a.next)&&0<=ma(a,a.prev,b):0>ma(a,b,a.prev)||0>ma(a,a.next,b)}function ef(a,b){var c=new be(a.i,a.x,a.y),d=new be(b.i,b.x,b.y),e=a.next,f=b.prev;a.next=b;b.prev=a;c.next=e;e.prev=\nc;d.next=c;c.prev=d;f.next=d;d.prev=f;return d}function cf(a,b,c,d){a=new be(a,b,c);d?(a.next=d.next,a.prev=d,d.next.prev=a,d.next=a):(a.prev=a,a.next=a);return a}function Oc(a){a.next.prev=a.prev;a.prev.next=a.next;a.prevZ&&(a.prevZ.nextZ=a.nextZ);a.nextZ&&(a.nextZ.prevZ=a.prevZ)}function be(a,b,c){this.i=a;this.x=b;this.y=c;this.nextZ=this.prevZ=this.z=this.next=this.prev=null;this.steiner=!1}function ff(a){var b=a.length;2Number.EPSILON){var k=Math.sqrt(h),m=Math.sqrt(f*f+g*g);h=b.x-e/k;b=b.y+d/k;\ng=((c.x-g/m-h)*g-(c.y+f/m-b)*f)/(d*g-e*f);f=h+d*g-a.x;d=b+e*g-a.y;e=f*f+d*d;if(2>=e)return new z(f,d);e=Math.sqrt(e/2)}else a=!1,d>Number.EPSILON?f>Number.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new z(f/e,d/e)}function h(a,b){for(M=a.length;0<=--M;){var c=M;var f=M-1;0>f&&(f=a.length-1);var g,h=w+2*O;for(g=0;gq;q++){var n=m[f[q]];var l=m[f[(q+1)%3]];d[0]=Math.min(n,l);d[1]=Math.max(n,l);n=d[0]+\",\"+d[1];void 0===e[n]?e[n]={index1:d[0],index2:d[1],face1:h,face2:void 0}:e[n].face2=h}for(n in e)if(d=e[n],void 0===d.face2||g[d.face1].normal.dot(g[d.face2].normal)<=b)f=a[d.index1],c.push(f.x,f.y,f.z),f=a[d.index2],\nc.push(f.x,f.y,f.z);this.addAttribute(\"position\",new A(c,3))}function vb(a,b,c,d,e,f,g,h){R.call(this);this.type=\"CylinderGeometry\";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Wa(a,b,c,d,e,f,g,h));this.mergeVertices()}function Wa(a,b,c,d,e,f,g,h){function k(c){var e,f=new z,k=new p,t=0,v=!0===c?a:b,w=!0===c?1:-1;var A=r;for(e=1;e<=d;e++)n.push(0,y*w,0),l.push(0,w,0),u.push(.5,.5),r++;var C=\nr;for(e=0;e<=d;e++){var D=e/d*h+g,H=Math.cos(D);D=Math.sin(D);k.x=v*D;k.y=y*w;k.z=v*H;n.push(k.x,k.y,k.z);l.push(0,w,0);f.x=.5*H+.5;f.y=.5*D*w+.5;u.push(f.x,f.y);r++}for(e=0;ethis.duration&&this.resetDuration()}function Rg(a){switch(a.toLowerCase()){case \"scalar\":case \"double\":case \"float\":case \"number\":case \"integer\":return ec;case \"vector\":case \"vector2\":case \"vector3\":case \"vector4\":return fc;\ncase \"color\":return Hd;case \"quaternion\":return cd;case \"bool\":case \"boolean\":return Gd;case \"string\":return Jd}throw Error(\"THREE.KeyframeTrack: Unsupported typeName: \"+a);}function Sg(a){if(void 0===a.type)throw Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");var b=Rg(a.type);if(void 0===a.times){var c=[],d=[];ia.flattenJSON(a.keys,c,d,\"value\");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)}function Kd(a){this.manager=void 0!==\na?a:ka;this.textures={}}function ge(a){this.manager=void 0!==a?a:ka}function gc(){}function he(a){\"boolean\"===typeof a&&(console.warn(\"THREE.JSONLoader: showStatus parameter has been removed from constructor.\"),a=void 0);this.manager=void 0!==a?a:ka;this.withCredentials=!1}function mf(a){this.manager=void 0!==a?a:ka;this.texturePath=\"\"}function ie(a){\"undefined\"===typeof createImageBitmap&&console.warn(\"THREE.ImageBitmapLoader: createImageBitmap() not supported.\");\"undefined\"===typeof fetch&&console.warn(\"THREE.ImageBitmapLoader: fetch() not supported.\");\nthis.manager=void 0!==a?a:ka;this.options=void 0}function je(){this.type=\"ShapePath\";this.color=new G;this.subPaths=[];this.currentPath=null}function ke(a){this.type=\"Font\";this.data=a}function nf(a){this.manager=void 0!==a?a:ka}function le(a){this.manager=void 0!==a?a:ka}function of(){this.type=\"StereoCamera\";this.aspect=1;this.eyeSep=.064;this.cameraL=new Z;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new Z;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=\n!1}function dd(a,b,c){D.call(this);this.type=\"CubeCamera\";var d=new Z(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new p(1,0,0));this.add(d);var e=new Z(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new p(-1,0,0));this.add(e);var f=new Z(90,1,a,b);f.up.set(0,0,1);f.lookAt(new p(0,1,0));this.add(f);var g=new Z(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new p(0,-1,0));this.add(g);var h=new Z(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new p(0,0,1));this.add(h);var k=new Z(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new p(0,0,-1));this.add(k);\nthis.renderTarget=new Gb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.renderTarget.texture.name=\"CubeCamera\";this.update=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,m=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.texture.generateMipmaps=m;c.activeCubeFace=5;a.render(b,\nk,c);a.setRenderTarget(null)};this.clear=function(a,b,c,d){for(var e=this.renderTarget,f=0;6>f;f++)e.activeCubeFace=f,a.setRenderTarget(e),a.clear(b,c,d);a.setRenderTarget(null)}}function me(){D.call(this);this.type=\"AudioListener\";this.context=ne.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function hc(a){D.call(this);this.type=\"Audio\";this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=\n!1;this.buffer=null;this.loop=!1;this.offset=this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType=\"empty\";this.filters=[]}function oe(a){hc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function pe(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function qe(a,b,c){this.binding=a;this.valueSize=\nc;a=Float64Array;switch(b){case \"quaternion\":b=this._slerp;break;case \"string\":case \"bool\":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function pf(a,b,c){c=c||pa.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function pa(a,b,c){this.path=b;this.parsedPath=c||pa.parseTrackName(b);this.node=pa.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function qf(){this.uuid=\nH.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var a={};this._indicesByUUID=a;for(var b=0,c=arguments.length;b!==c;++b)a[arguments[b].uuid]=b;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var d=this;this.stats={objects:{get total(){return d._objects.length},get inUse(){return this.total-d.nCachedObjects_}},get bindingsPerObject(){return d._bindings.length}}}function rf(a,b,c){this._mixer=a;this._clip=b;this._localRoot=\nc||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;\nthis.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function re(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Ld(a,b){\"string\"===typeof a&&(console.warn(\"THREE.Uniform: Type parameter is no longer needed.\"),a=b);this.value=a}function se(){C.call(this);this.type=\"InstancedBufferGeometry\";this.maxInstancedCount=void 0}function te(a,b,c){ob.call(this,a,b);this.meshPerAttribute=c||1}function ue(a,b,c){Q.call(this,\na,b);this.meshPerAttribute=c||1}function sf(a,b,c,d){this.ray=new mb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn(\"THREE.Raycaster: params.PointCloud has been renamed to params.Points.\");return this.Points}}})}function tf(a,b){return a.distance-b.distance}function ve(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;dc;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute(\"position\",new A(b,3));b=new Y({fog:!1});this.cone=new W(a,b);this.add(this.cone);this.update()}function xf(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;ca?-1:0b;b++)a[b]=(16>b?\"0\":\"\")+b.toString(16);return function(){var b=4294967295*Math.random()|0,d=4294967295*Math.random()|0,e=4294967295*Math.random()|0,f=4294967295*Math.random()|0;return(a[b&255]+a[b>>8&255]+a[b>>16&255]+a[b>>24&255]+\"-\"+a[d&255]+a[d>>8&255]+\"-\"+a[d>>\n16&15|64]+a[d>>24&255]+\"-\"+a[e&63|128]+a[e>>8&255]+\"-\"+a[e>>16&255]+a[e>>24&255]+a[f&255]+a[f>>8&255]+a[f>>16&255]+a[f>>24&255]).toUpperCase()}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;\na=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*H.DEG2RAD},radToDeg:function(a){return a*H.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},ceilPowerOfTwo:function(a){return Math.pow(2,Math.ceil(Math.log(a)/Math.LN2))},floorPowerOfTwo:function(a){return Math.pow(2,Math.floor(Math.log(a)/\nMath.LN2))}};Object.defineProperties(z.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(z.prototype,{isVector2:!0,set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error(\"index is out of range: \"+\na);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error(\"index is out of range: \"+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},\naddVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=\na.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},applyMatrix3:function(a){var b=this.x,c=this.y;a=a.elements;this.x=a[0]*b+a[3]*c+a[6];this.y=a[1]*b+a[4]*c+a[7];return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,\nb){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(){var a=new z,b=new z;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=\nMath.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+\nMath.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x;a=this.y-a.y;return b*b+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=\n(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\");this.x=a.getX(b);this.y=a.getY(b);\nreturn this},rotateAround:function(a,b){var c=Math.cos(b);b=Math.sin(b);var d=this.x-a.x,e=this.y-a.y;this.x=d*c-e*b+a.x;this.y=d*b+e*c+a.y;return this}});Object.assign(I.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,k,m,q,n,l,u,r,p){var t=this.elements;t[0]=a;t[4]=b;t[8]=c;t[12]=d;t[1]=e;t[5]=f;t[9]=g;t[13]=h;t[2]=k;t[6]=m;t[10]=q;t[14]=n;t[3]=l;t[7]=u;t[11]=r;t[15]=p;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new I).fromArray(this.elements)},\ncopy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return this},copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,\nb.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a=new p;return function(b){var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length();b=1/a.setFromMatrixColumn(b,2).length();c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[3]=0;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*f;c[7]=0;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return this}}(),makeRotationFromEuler:function(a){a&&a.isEuler||console.error(\"THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");\nvar b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);var h=Math.cos(e);e=Math.sin(e);if(\"XYZ\"===a.order){a=f*h;var k=f*e,m=c*h,q=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=k+m*d;b[5]=a-q*d;b[9]=-c*g;b[2]=q-a*d;b[6]=m+k*d;b[10]=f*g}else\"YXZ\"===a.order?(a=g*h,k=g*e,m=d*h,q=d*e,b[0]=a+q*c,b[4]=m*c-k,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=k*c-m,b[6]=q+a*c,b[10]=f*g):\"ZXY\"===a.order?(a=g*h,k=g*e,m=d*h,q=d*e,b[0]=a-q*c,b[4]=-f*e,b[8]=m+k*c,b[1]=k+m*c,b[5]=f*h,b[9]=\nq-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):\"ZYX\"===a.order?(a=f*h,k=f*e,m=c*h,q=c*e,b[0]=g*h,b[4]=m*d-k,b[8]=a*d+q,b[1]=g*e,b[5]=q*d+a,b[9]=k*d-m,b[2]=-d,b[6]=c*g,b[10]=f*g):\"YZX\"===a.order?(a=f*g,k=f*d,m=c*g,q=c*d,b[0]=g*h,b[4]=q-a*e,b[8]=m*e+k,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=k*e+m,b[10]=a-q*e):\"XZY\"===a.order&&(a=f*g,k=f*d,m=c*g,q=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+q,b[5]=f*h,b[9]=k*e-m,b[2]=m*e-k,b[6]=c*h,b[10]=q*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(){var a=\nnew p(0,0,0),b=new p(1,1,1);return function(c){return this.compose(a,c,b)}}(),lookAt:function(){var a=new p,b=new p,c=new p;return function(d,e,f){var g=this.elements;c.subVectors(d,e);0===c.lengthSq()&&(c.z=1);c.normalize();a.crossVectors(f,c);0===a.lengthSq()&&(1===Math.abs(f.z)?c.x+=1E-4:c.z+=1E-4,c.normalize(),a.crossVectors(f,c));a.normalize();b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==\nb?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],k=c[5],m=c[9],q=c[13],n=c[2],l=c[6],u=c[10],r=c[14],p=c[3],y=c[7],x=c[11];c=c[15];var w=d[0],B=d[4],E=d[8],P=d[12],N=d[1],z=d[5],A=d[9],D=d[13],C=d[2],\nH=d[6],G=d[10],K=d[14],L=d[3],I=d[7],J=d[11];d=d[15];b[0]=a*w+e*N+f*C+g*L;b[4]=a*B+e*z+f*H+g*I;b[8]=a*E+e*A+f*G+g*J;b[12]=a*P+e*D+f*K+g*d;b[1]=h*w+k*N+m*C+q*L;b[5]=h*B+k*z+m*H+q*I;b[9]=h*E+k*A+m*G+q*J;b[13]=h*P+k*D+m*K+q*d;b[2]=n*w+l*N+u*C+r*L;b[6]=n*B+l*z+u*H+r*I;b[10]=n*E+l*A+u*G+r*J;b[14]=n*P+l*D+u*K+r*d;b[3]=p*w+y*N+x*C+c*L;b[7]=p*B+y*z+x*H+c*I;b[11]=p*E+y*A+x*G+c*J;b[15]=p*P+y*D+x*K+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=\na;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(){var a=new p;return function(b){for(var c=0,d=b.count;cthis.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.copy(this);c=1/g;f=1/h;var m=1/k;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=m;b.elements[9]*=m;b.elements[10]*=m;d.setFromRotationMatrix(b);\ne.x=g;e.y=h;e.z=k;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn(\"THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.\");var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),k=1/(c-d),m=1/(f-e);g[0]=\n2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*k;g[9]=0;g[13]=-((c+d)*k);g[2]=0;g[6]=0;g[10]=-2*m;g[14]=-((f+e)*m);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements;a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];\na[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}});Object.assign(fa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],k=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var q=e[f+1],l=e[f+2];e=e[f+3];if(c!==e||h!==d||k!==q||m!==l){f=1-g;var t=h*d+k*q+m*l+c*e,u=0<=t?1:-1,r=1-t*t;r>Number.EPSILON&&(r=Math.sqrt(r),t=Math.atan2(r,t*u),f=Math.sin(f*t)/r,g=Math.sin(g*\nt)/r);u*=g;h=h*f+d*u;k=k*f+q*u;m=m*f+l*u;c=c*f+e*u;f===1-g&&(g=1/Math.sqrt(h*h+k*k+m*m+c*c),h*=g,k*=g,m*=g,c*=g)}a[b]=h;a[b+1]=k;a[b+2]=m;a[b+3]=c}});Object.defineProperties(fa.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=\na;this.onChangeCallback()}}});Object.assign(fa.prototype,{set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!a||!a.isEuler)throw Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");var c=\na._x,d=a._y,e=a._z;a=a.order;var f=Math.cos,g=Math.sin,h=f(c/2),k=f(d/2);f=f(e/2);c=g(c/2);d=g(d/2);e=g(e/2);\"XYZ\"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):\"YXZ\"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):\"ZXY\"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):\"ZYX\"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):\"YZX\"===a?(this._x=c*k*f+\nh*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f-c*d*e):\"XZY\"===a&&(this._x=c*k*f-h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f+c*d*e);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){b/=2;var c=Math.sin(b);this._x=a.x*c;this._y=a.y*c;this._z=a.z*c;this._w=Math.cos(b);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],k=b[6];b=b[10];var m=c+f+b;0f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(k-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-h)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+k)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+k)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a=new p,b;return function(c,d){void 0===a&&(a=new p);b=c.dot(d)+1;1E-6>b?(b=0,\nMath.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;return this.normalize()}}(),angleTo:function(a){return 2*Math.acos(Math.abs(H.clamp(this.dot(a),-1,1)))},rotateTowards:function(a,b){var c=this.angleTo(a);if(0===c)return this;this.slerp(a,Math.min(1,b/c));return this},inverse:function(){return this.conjugate()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*\na._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),\nthis.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z;a=a._w;var f=b._x,g=b._y,h=b._z;b=b._w;this._x=c*b+a*f+d*h-e*g;this._y=d*b+a*g+e*f-c*h;this._z=e*b+a*h+c*g-d*f;this._w=a*b-c*f-d*g-e*h;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;\n0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;a=1-g*g;if(a<=Number.EPSILON)return g=1-b,this._w=g*f+b*this._w,this._x=g*c+b*this._x,this._y=g*d+b*this._y,this._z=g*e+b*this._z,this.normalize();a=Math.sqrt(a);var h=Math.atan2(a,g);g=Math.sin((1-b)*h)/a;b=Math.sin(b*h)/a;this._w=f*g+this._w*b;this._x=c*g+this._x*b;this._y=d*g+this._y*b;this._z=e*g+this._z*b;this.onChangeCallback();return this},equals:function(a){return a._x===\nthis._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2];this._w=a[b+3];this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(p.prototype,{isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},\nsetScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error(\"index is out of range: \"+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error(\"index is out of range: \"+a);}},clone:function(){return new this.constructor(this.x,\nthis.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=\na.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),\nthis.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a=new fa;return function(b){b&&b.isEuler||console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\");return this.applyQuaternion(a.setFromEuler(b))}}(),applyAxisAngle:function(){var a=new fa;return function(b,\nc){return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,\nc=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,k=a*c+g*b-e*d,m=a*d+e*c-f*b;b=-e*b-f*c-g*d;this.x=h*a+b*-e+k*-g-m*-f;this.y=k*a+b*-f+m*-e-h*-g;this.z=m*a+b*-g+h*-f-k*-e;return this},project:function(){var a=new I;return function(b){a.multiplyMatrices(b.projectionMatrix,a.getInverse(b.matrixWorld));return this.applyMatrix4(a)}}(),unproject:function(){var a=new I;return function(b){a.multiplyMatrices(b.matrixWorld,a.getInverse(b.projectionMatrix));return this.applyMatrix4(a)}}(),transformDirection:function(a){var b=\nthis.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,\nb){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(){var a=new p,b=new p;return function(c,d){a.set(c,c,c);b.set(d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=\nMath.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},dot:function(a){return this.x*a.x+this.y*\na.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},lerpVectors:function(a,\nb,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},cross:function(a,b){return void 0!==b?(console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(a,b)):this.crossVectors(this,a)},crossVectors:function(a,b){var c=a.x,d=a.y;a=a.z;var e=b.x,f=b.y;b=b.z;this.x=d*b-a*f;this.y=a*e-c*b;this.z=c*f-d*e;return this},projectOnVector:function(a){var b=a.dot(this)/a.lengthSq();return this.copy(a).multiplyScalar(b)},projectOnPlane:function(){var a=\nnew p;return function(b){a.copy(this).projectOnVector(b);return this.sub(a)}}(),reflect:function(){var a=new p;return function(b){return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a=this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(H.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-\na.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){var b=Math.sin(a.phi)*a.radius;this.x=b*Math.sin(a.theta);this.y=Math.cos(a.phi)*a.radius;this.z=b*Math.cos(a.theta);return this},setFromCylindrical:function(a){this.x=a.radius*Math.sin(a.theta);this.y=a.y;this.z=a.radius*Math.cos(a.theta);return this},setFromMatrixPosition:function(a){a=a.elements;this.x=a[12];this.y=a[13];this.z=a[14];return this},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),\nc=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==\nc&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}});Object.assign(ra.prototype,{isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,k){var m=this.elements;m[0]=a;m[1]=d;m[2]=g;m[3]=b;m[4]=e;m[5]=h;m[6]=c;m[7]=f;m[8]=k;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;\nb[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToBufferAttribute:function(){var a=new p;return function(b){for(var c=0,d=b.count;cc;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];\na[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}});var eb={getDataURL:function(a){if(a instanceof HTMLCanvasElement)var b=a;else{\"undefined\"!==typeof OffscreenCanvas?b=new OffscreenCanvas(a.width,a.height):(b=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),b.width=a.width,b.height=a.height);var c=b.getContext(\"2d\");a instanceof ImageData?c.putImageData(a,0,0):c.drawImage(a,0,0,a.width,a.height)}return 2048a.x||1a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y)}}});Object.defineProperty(T.prototype,\"needsUpdate\",{set:function(a){!0===a&&this.version++}});Object.assign(V.prototype,{isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=\nb;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error(\"index is out of range: \"+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;\ncase 2:return this.z;case 3:return this.w;default:throw Error(\"index is out of range: \"+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=\na;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=\na;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/\na)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){a=a.elements;var b=a[0];var c=a[4];var d=a[8],e=a[1],f=a[5],g=a[9];var h=a[2];var k=a[6];var m=a[10];if(.01>Math.abs(c-e)&&.01>Math.abs(d-h)&&.01>Math.abs(g-k)){if(.1>Math.abs(c+e)&&.1>Math.abs(d+h)&&.1>Math.abs(g+k)&&.1>Math.abs(b+f+m-3))return this.set(1,0,0,0),this;a=Math.PI;\nb=(b+1)/2;f=(f+1)/2;m=(m+1)/2;c=(c+e)/4;d=(d+h)/4;g=(g+k)/4;b>f&&b>m?.01>b?(k=0,c=h=.707106781):(k=Math.sqrt(b),h=c/k,c=d/k):f>m?.01>f?(k=.707106781,h=0,c=.707106781):(h=Math.sqrt(f),k=c/h,c=g/h):.01>m?(h=k=.707106781,c=0):(c=Math.sqrt(m),k=d/c,h=g/c);this.set(k,h,c,a);return this}a=Math.sqrt((k-g)*(k-g)+(d-h)*(d-h)+(e-c)*(e-c));.001>Math.abs(a)&&(a=1);this.x=(k-g)/a;this.y=(d-h)/a;this.z=(e-c)/a;this.w=Math.acos((b+f+m-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,\na.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w,this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new V,b=new V);a.set(c,\nc,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);\nthis.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*\nthis.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,\nb,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\");\nthis.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});fb.prototype=Object.assign(Object.create(ya.prototype),{constructor:fb,isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();\nthis.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:\"dispose\"})}});Gb.prototype=Object.create(fb.prototype);Gb.prototype.constructor=Gb;Gb.prototype.isWebGLRenderTargetCube=!0;gb.prototype=Object.create(T.prototype);gb.prototype.constructor=gb;gb.prototype.isDataTexture=!0;Object.assign(Sa.prototype,{isBox3:!0,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromArray:function(a){for(var b=\nInfinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.length;he&&(e=m);q>f&&(f=q);l>g&&(g=l)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.count;he&&(e=m);l>f&&(f=l);n>g&&(g=n)}this.min.set(b,c,d);\nthis.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;bthis.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&\na.max.z<=this.max.z},getParameter:function(a,b){void 0===b&&(console.warn(\"THREE.Box3: .getParameter() target is now required\"),b=new p);return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},intersectsSphere:function(){var a=new p;return function(b){this.clampPoint(b.center,\na);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){if(0=a.constant},intersectsTriangle:function(){function a(a){var e;\nvar f=0;for(e=a.length-3;f<=e;f+=3){h.fromArray(a,f);var g=m.x*Math.abs(h.x)+m.y*Math.abs(h.y)+m.z*Math.abs(h.z),k=b.dot(h),l=c.dot(h),q=d.dot(h);if(Math.max(-Math.max(k,l,q),Math.min(k,l,q))>g)return!1}return!0}var b=new p,c=new p,d=new p,e=new p,f=new p,g=new p,h=new p,k=new p,m=new p,l=new p;return function(h){if(this.isEmpty())return!1;this.getCenter(k);m.subVectors(this.max,k);b.subVectors(h.a,k);c.subVectors(h.b,k);d.subVectors(h.c,k);e.subVectors(c,b);f.subVectors(d,c);g.subVectors(b,d);h=\n[0,-e.z,e.y,0,-f.z,f.y,0,-g.z,g.y,e.z,0,-e.x,f.z,0,-f.x,g.z,0,-g.x,-e.y,e.x,0,-f.y,f.x,0,-g.y,g.x,0];if(!a(h))return!1;h=[1,0,0,0,1,0,0,0,1];if(!a(h))return!1;l.crossVectors(e,f);h=[l.x,l.y,l.z];return a(h)}}(),clampPoint:function(a,b){void 0===b&&(console.warn(\"THREE.Box3: .clampPoint() target is now required\"),b=new p);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new p;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=\nnew p;return function(b){void 0===b&&(console.warn(\"THREE.Box3: .getBoundingSphere() target is now required\"),b=new Da);this.getCenter(b.center);b.radius=.5*this.getSize(a).length();return b}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(a){if(this.isEmpty())return this;a=a.elements;var b=a[0]*this.min.x,c=a[1]*this.min.x,d=a[2]*this.min.x,e=\na[0]*this.max.x,f=a[1]*this.max.x,g=a[2]*this.max.x,h=a[4]*this.min.y,k=a[5]*this.min.y,m=a[6]*this.min.y,l=a[4]*this.max.y,n=a[5]*this.max.y,t=a[6]*this.max.y,u=a[8]*this.min.z,r=a[9]*this.min.z,p=a[10]*this.min.z,y=a[8]*this.max.z,x=a[9]*this.max.z,w=a[10]*this.max.z;this.min.x=Math.min(b,e)+Math.min(h,l)+Math.min(u,y)+a[12];this.min.y=Math.min(c,f)+Math.min(k,n)+Math.min(r,x)+a[13];this.min.z=Math.min(d,g)+Math.min(m,t)+Math.min(p,w)+a[14];this.max.x=Math.max(b,e)+Math.max(h,l)+Math.max(u,y)+a[12];\nthis.max.y=Math.max(c,f)+Math.max(k,n)+Math.max(r,x)+a[13];this.max.z=Math.max(d,g)+Math.max(m,t)+Math.max(p,w)+a[14];return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});Object.assign(Da.prototype,{set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromPoints:function(){var a=new Sa;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).getCenter(d);for(var e=\nc=0,f=b.length;e=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;\nreturn a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(a.distanceToPoint(this.center))<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a);void 0===b&&(console.warn(\"THREE.Sphere: .clampPoint() target is now required\"),b=new p);b.copy(a);c>this.radius*this.radius&&(b.sub(this.center).normalize(),b.multiplyScalar(this.radius).add(this.center));return b},getBoundingBox:function(a){void 0===\na&&(console.warn(\"THREE.Sphere: .getBoundingBox() target is now required\"),a=new Sa);a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius}});Object.assign(Ma.prototype,{set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,\nb,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new p,b=new p;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=\n1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){void 0===b&&(console.warn(\"THREE.Plane: .projectPoint() target is now required\"),b=new p);return b.copy(this.normal).multiplyScalar(-this.distanceToPoint(a)).add(a)},intersectLine:function(){var a=\nnew p;return function(b,c){void 0===c&&(console.warn(\"THREE.Plane: .intersectLine() target is now required\"),c=new p);var d=b.delta(a),e=this.normal.dot(d);if(0===e){if(0===this.distanceToPoint(b.start))return c.copy(b.start)}else if(e=-(b.start.dot(this.normal)+this.constant)/e,!(0>e||1b&&0a&&0c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],\nh=c[5],k=c[6],m=c[7],l=c[8],n=c[9],t=c[10],p=c[11],r=c[12],v=c[13],y=c[14];c=c[15];b[0].setComponents(f-a,m-g,p-l,c-r).normalize();b[1].setComponents(f+a,m+g,p+l,c+r).normalize();b[2].setComponents(f+d,m+h,p+n,c+v).normalize();b[3].setComponents(f-d,m-h,p-n,c-v).normalize();b[4].setComponents(f-e,m-k,p-t,c-y).normalize();b[5].setComponents(f+e,m+k,p+t,c+y).normalize();return this},intersectsObject:function(){var a=new Da;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();\na.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Da;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)d;d++){var e=c[d];\na.x=0e.distanceToPoint(a))return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});var S={alphamap_fragment:\"#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\\n#endif\\n\",alphamap_pars_fragment:\"#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\\n\",alphatest_fragment:\"#ifdef ALPHATEST\\n\\tif ( diffuseColor.a < ALPHATEST ) discard;\\n#endif\\n\",\naomap_fragment:\"#ifdef USE_AOMAP\\n\\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\\n\\t#endif\\n#endif\\n\",aomap_pars_fragment:\"#ifdef USE_AOMAP\\n\\tuniform sampler2D aoMap;\\n\\tuniform float aoMapIntensity;\\n#endif\",\nbegin_vertex:\"\\nvec3 transformed = vec3( position );\\n\",beginnormal_vertex:\"\\nvec3 objectNormal = vec3( normal );\\n\",bsdfs:\"float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\tif( decayExponent > 0.0 ) {\\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\treturn distanceFalloff * maxDistanceCutoffFactor;\\n#else\\n\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n#endif\\n\\t}\\n\\treturn 1.0;\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\\n\\treturn specularColor * AB.x + AB.y;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n\",\nbumpmap_pars_fragment:\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\\n\\t\\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\\n\",\nclipping_planes_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\\n\",\nclipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\t\\tvarying vec3 vViewPosition;\\n\\t#endif\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\\n\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n\",\ncolor_fragment:\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\\n\",color_pars_vertex:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#ifdef USE_COLOR\\n\\tvColor.xyz = color.xyz;\\n#endif\",common:\"#define PI 3.14159265359\\n#define PI2 6.28318530718\\n#define PI_HALF 1.5707963267949\\n#define RECIPROCAL_PI 0.31830988618\\n#define RECIPROCAL_PI2 0.15915494\\n#define LOG2 1.442695\\n#define EPSILON 1e-6\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat linearToRelativeLuminance( const in vec3 color ) {\\n\\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n\\treturn dot( weights, color.rgb );\\n}\\n\",\ncube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n#define cubeUV_textureSize (1024.0)\\nint getFaceFromDirection(vec3 direction) {\\n\\tvec3 absDirection = abs(direction);\\n\\tint face = -1;\\n\\tif( absDirection.x > absDirection.z ) {\\n\\t\\tif(absDirection.x > absDirection.y )\\n\\t\\t\\tface = direction.x > 0.0 ? 0 : 3;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\telse {\\n\\t\\tif(absDirection.z > absDirection.y )\\n\\t\\t\\tface = direction.z > 0.0 ? 2 : 5;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\treturn face;\\n}\\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\\n\\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\\n\\tfloat dxRoughness = dFdx(roughness);\\n\\tfloat dyRoughness = dFdy(roughness);\\n\\tvec3 dx = dFdx( vec * scale * dxRoughness );\\n\\tvec3 dy = dFdy( vec * scale * dyRoughness );\\n\\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\\n\\td = clamp(d, 1.0, cubeUV_rangeClamp);\\n\\tfloat mipLevel = 0.5 * log2(d);\\n\\treturn vec2(floor(mipLevel), fract(mipLevel));\\n}\\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\\n\\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\\n\\tfloat a = 16.0 * cubeUV_rcpTextureSize;\\n\\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\\n\\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\\n\\tfloat powScale = exp2_packed.x * exp2_packed.y;\\n\\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\\n\\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\\n\\tbool bRes = mipLevel == 0.0;\\n\\tscale = bRes && (scale < a) ? a : scale;\\n\\tvec3 r;\\n\\tvec2 offset;\\n\\tint face = getFaceFromDirection(direction);\\n\\tfloat rcpPowScale = 1.0 / powScale;\\n\\tif( face == 0) {\\n\\t\\tr = vec3(direction.x, -direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 1) {\\n\\t\\tr = vec3(direction.y, direction.x, direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 2) {\\n\\t\\tr = vec3(direction.z, direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 3) {\\n\\t\\tr = vec3(direction.x, direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse if( face == 4) {\\n\\t\\tr = vec3(direction.y, direction.x, -direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse {\\n\\t\\tr = vec3(direction.z, -direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\tr = normalize(r);\\n\\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\\n\\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\\n\\tvec2 base = offset + vec2( texelOffset );\\n\\treturn base + s * ( scale - 2.0 * texelOffset );\\n}\\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\\n\\tfloat roughnessVal = roughness* cubeUV_maxLods3;\\n\\tfloat r1 = floor(roughnessVal);\\n\\tfloat r2 = r1 + 1.0;\\n\\tfloat t = fract(roughnessVal);\\n\\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\\n\\tfloat s = mipInfo.y;\\n\\tfloat level0 = mipInfo.x;\\n\\tfloat level1 = level0 + 1.0;\\n\\tlevel1 = level1 > 5.0 ? 5.0 : level1;\\n\\tlevel0 += min( floor( s + 0.5 ), 5.0 );\\n\\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\\n\\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\\n\\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\\n\\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\\n\\tvec4 result = mix(color10, color20, t);\\n\\treturn vec4(result.rgb, 1.0);\\n}\\n#endif\\n\",\ndefaultnormal_vertex:\"vec3 transformedNormal = normalMatrix * objectNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\\n\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\\n#endif\\n\",\nemissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\\n\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\\n\",encodings_fragment:\" gl_FragColor = linearToOutputTexel( gl_FragColor );\\n\",encodings_pars_fragment:\"\\nvec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n\\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n\\tfloat maxComponent = max( max( value.r, value.g ), value.b );\\n\\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n\\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n\\tM = ceil( M * 255.0 ) / 255.0;\\n\\treturn vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat D = max( maxRange / maxRGB, 1.0 );\\n\\tD = min( floor( D ) / 255.0, 1.0 );\\n\\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n\\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\\n\\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\\n\\tvec4 vResult;\\n\\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n\\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n\\tvResult.w = fract(Le);\\n\\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\\n\\treturn vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n\\tfloat Le = value.z * 255.0 + value.w;\\n\\tvec3 Xp_Y_XYZp;\\n\\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\\n\\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n\\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n\\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\\n\\treturn vec4( max(vRGB, 0.0), 1.0 );\\n}\\n\",\nenvmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\tvec2 sampleUV;\\n\\t\\treflectVec = normalize( reflectVec );\\n\\t\\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\t\\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\tvec4 envColor = texture2D( envMap, sampleUV );\\n\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\treflectVec = normalize( reflectVec );\\n\\t\\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\\n\\t\\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\\n\",\nenvmap_pars_fragment:\"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\\n\\tuniform float reflectivity;\\n\\tuniform float envMapIntensity;\\n#endif\\n#ifdef USE_ENVMAP\\n\\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\tuniform float flipEnvMap;\\n\\tuniform int maxMipLevel;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\\n\",\nenvmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\\n\",envmap_physical_pars_fragment:\"#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\\n\\t\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\t\\tvec2 sampleUV;\\n\\t\\t\\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\t\\t\\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\t\\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\\n\",\nenvmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\n\",\nfog_vertex:\"\\n#ifdef USE_FOG\\nfogDepth = -mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n varying float fogDepth;\\n#endif\\n\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\\n\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float fogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\\n\",\ngradientmap_pars_fragment:\"#ifdef TOON\\n\\tuniform sampler2D gradientMap;\\n\\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\t\\tfloat dotNL = dot( normal, lightDirection );\\n\\t\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t\\t#ifdef USE_GRADIENTMAP\\n\\t\\t\\treturn texture2D( gradientMap, coord ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n#endif\\n\",\nlightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_vertex:\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\n#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",\nlights_pars_begin:\"uniform vec3 ambientLightColor;\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t\\tfloat shadowCameraNear;\\n\\t\\tfloat shadowCameraFar;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tdirectLight.color = pointLight.color;\\n\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( angleCos > spotLight.coneCos ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\\n\",\nlights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\\n\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tvec3\\tspecularColor;\\n\\tfloat\\tspecularShininess;\\n\\tfloat\\tspecularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifdef TOON\\n\\t\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\t#else\\n\\t\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\t\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#endif\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\\n\",\nlights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\\n#ifdef STANDARD\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.clearCoat = saturate( clearCoat );\\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\\n#endif\\n\",\nlights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tfloat\\tspecularRoughness;\\n\\tvec3\\tspecularColor;\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoat;\\n\\t\\tfloat clearCoatRoughness;\\n\\t#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.specularRoughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos - halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos + halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos + halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos - halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3( 0, 1, 0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\\n\\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifndef STANDARD\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\tfloat dotNL = dotNV;\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\\n\",\nlights_fragment_begin:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = normalize( vViewPosition );\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearCoatRadiance = vec3( 0.0 );\\n#endif\\n\",\nlights_fragment_maps:\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\\n\\t#ifndef STANDARD\\n\\t\\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\\n\\t#endif\\n#endif\\n\",\nlights_fragment_end:\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\\n#endif\\n\",logdepthbuf_fragment:\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#ifdef USE_LOGDEPTHBUF\\n\\tuniform float logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n#endif\\n\",\nlogdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n\\tuniform float logDepthBufFC;\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t#else\\n\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\tgl_Position.z *= gl_Position.w;\\n\\t#endif\\n#endif\\n\",map_fragment:\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\\n\",\nmap_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n\",map_particle_fragment:\"#ifdef USE_MAP\\n\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n\\tvec4 mapTexel = texture2D( map, uv );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n\",map_particle_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform mat3 uvTransform;\\n\\tuniform sampler2D map;\\n#endif\\n\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\\n\",\nmetalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\n#endif\\n\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_MORPHNORMALS\\n\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",\nmorphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\n\\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\n\\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\n\\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\n\\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\n\\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\n\\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\\n\",\nnormal_fragment_begin:\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t#endif\\n#endif\\n\",normal_fragment_maps:\"#ifdef USE_NORMALMAP\\n\\t#ifdef OBJECTSPACE_NORMALMAP\\n\\t\\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\t#ifdef FLIP_SIDED\\n\\t\\t\\tnormal = - normal;\\n\\t\\t#endif\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\t#endif\\n\\t\\tnormal = normalize( normalMatrix * normal );\\n\\t#else\\n\\t\\tnormal = perturbNormal2Arb( -vViewPosition, normal );\\n\\t#endif\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n\",\nnormalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n\\t#ifdef OBJECTSPACE_NORMALMAP\\n\\t\\tuniform mat3 normalMatrix;\\n\\t#else\\n\\t\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\n\\t\\t\\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\\n\\t\\t\\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\\n\\t\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\t\\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\\n\\t\\t\\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\\n\\t\\t\\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\\n\\t\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\t\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\t\\tmapN.xy *= normalScale;\\n\\t\\t\\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n\\t\\t\\treturn normalize( tsn * mapN );\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",\npacking:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\\n\",\npremultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n\",project_vertex:\"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\\ngl_Position = projectionMatrix * mvPosition;\\n\",dithering_fragment:\"#if defined( DITHERING )\\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\\n\",dithering_pars_fragment:\"#if defined( DITHERING )\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\\n\",\nroughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\\n\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\\n\\t\\tconst vec2 offset = vec2( 0.0, 1.0 );\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / size;\\n\\t\\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\\n\\t\\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\\n\\t\\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\\n\\t\\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\\n\\t\\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\\n\\t\\tvec2 f = fract( uv * size + 0.5 );\\n\\t\\tfloat a = mix( lb, lt, f.y );\\n\\t\\tfloat b = mix( rb, rt, f.y );\\n\\t\\tfloat c = mix( a, b, f.x );\\n\\t\\treturn c;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",\nshadowmap_pars_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n#endif\\n\",\nshadowmap_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n#endif\\n\",\nshadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tDirectionalLight directionalLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tSpotLight spotLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tPointLight pointLight;\\n\\t#pragma unroll_loop\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\\n\",\nskinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform sampler2D boneTexture;\\n\\t\\tuniform int boneTextureSize;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",\nskinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\\n\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n#endif\\n\",\nspecularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\\n\",tonemapping_pars_fragment:\"#ifndef saturate\\n\\t#define saturate(a) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nuniform float toneMappingWhitePoint;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\\nvec3 Uncharted2ToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\n\",\nuv_pars_fragment:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n#endif\",uv_pars_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n\\tuniform mat3 uvTransform;\\n#endif\\n\",\nuv_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n#endif\",uv2_pars_fragment:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_pars_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n#endif\",\nuv2_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = uv2;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\\n\\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\\n#endif\\n\",cube_frag:\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldPosition;\\nvoid main() {\\n\\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n\\tgl_FragColor.a *= opacity;\\n}\\n\",\ncube_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n\\tgl_Position.z = gl_Position.w;\\n}\\n\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\\n\\t#endif\\n}\\n\",\ndepth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\ndistanceRGBA_frag:\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\\n\",\ndistanceRGBA_vert:\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include \\n\\t\\t#include \\n\\t\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition.xyz;\\n}\\n\",\nequirect_frag:\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldPosition );\\n\\tvec2 sampleUV;\\n\\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n}\\n\",equirect_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",\nlinedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nlinedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvLineDistance = scale * lineDistance;\\n\\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshlambert_frag:\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshlambert_vert:\"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshphysical_frag:\"#define PHYSICAL\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifndef STANDARD\\n\\tuniform float clearCoat;\\n\\tuniform float clearCoatRoughness;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nmeshphysical_vert:\"#define PHYSICAL\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nnormal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\\n\",\nnormal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\\n\",\npoints_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\npoints_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tgl_PointSize = size * ( scale / - mvPosition.z );\\n\\t#else\\n\\t\\tgl_PointSize = size;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nshadow_frag:\"uniform vec3 color;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include \\n}\\n\",shadow_vert:\"#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nsprite_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",\nsprite_vert:\"uniform float rotation;\\nuniform vec2 center;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tvec4 mvPosition;\\n\\tmvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\"},\nAa={merge:function(a){for(var b={},c=0;c>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(){function a(a,c,d){0>d&&(d+=1);1d?c:d<2/3?a+6*(c-a)*(2/3-d):a}return function(b,\nc,d){b=H.euclideanModulo(b,1);c=H.clamp(c,0,1);d=H.clamp(d,0,1);0===c?this.r=this.g=this.b=d:(c=.5>=d?d*(1+c):d+c-d*c,d=2*d-c,this.r=a(d,c,b+1/3),this.g=a(d,c,b),this.b=a(d,c,b-1/3));return this}}(),setStyle:function(a){function b(b){void 0!==b&&1>parseFloat(b)&&console.warn(\"THREE.Color: Alpha component of \"+a+\" will be ignored.\")}var c;if(c=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(a)){var d=c[2];switch(c[1]){case \"rgb\":case \"rgba\":if(c=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(d))return this.r=\nMath.min(255,parseInt(c[1],10))/255,this.g=Math.min(255,parseInt(c[2],10))/255,this.b=Math.min(255,parseInt(c[3],10))/255,b(c[5]),this;if(c=/^(\\d+)%\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(d))return this.r=Math.min(100,parseInt(c[1],10))/100,this.g=Math.min(100,parseInt(c[2],10))/100,this.b=Math.min(100,parseInt(c[3],10))/100,b(c[5]),this;break;case \"hsl\":case \"hsla\":if(c=/^([0-9]*\\.?[0-9]+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(d)){d=parseFloat(c[1])/\n360;var e=parseInt(c[2],10)/100,f=parseInt(c[3],10)/100;b(c[5]);return this.setHSL(d,e,f)}}}else if(c=/^#([A-Fa-f0-9]+)$/.exec(a)){c=c[1];d=c.length;if(3===d)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===d)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0a?.0773993808*a:Math.pow(.9478672986*a+.0521327014,2.4)}return function(b){this.r=a(b.r);this.g=a(b.g);this.b=a(b.b);return this}}(),copyLinearToSRGB:function(){function a(a){return.0031308>a?12.92*a:1.055*Math.pow(a,.41666)-.055}return function(b){this.r=a(b.r);this.g=a(b.g);this.b=a(b.b);return this}}(),convertSRGBToLinear:function(){this.copySRGBToLinear(this);\nreturn this},convertLinearToSRGB:function(){this.copyLinearToSRGB(this);return this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return(\"000000\"+this.getHex().toString(16)).slice(-6)},getHSL:function(a){void 0===a&&(console.warn(\"THREE.Color: .getHSL() target is now required\"),a={h:0,s:0,l:0});var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var k=e-f;f=.5>=h?k/(e+f):k/(2-e-f);switch(e){case b:g=(c-\nd)/k+(cMath.abs(g)?(this._x=Math.atan2(-m,e),this._z=\nMath.atan2(-f,a)):(this._x=Math.atan2(n,k),this._z=0)):\"YXZ\"===b?(this._x=Math.asin(-d(m,-1,1)),.99999>Math.abs(m)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h,k)):(this._y=Math.atan2(-l,a),this._z=0)):\"ZXY\"===b?(this._x=Math.asin(d(n,-1,1)),.99999>Math.abs(n)?(this._y=Math.atan2(-l,e),this._z=Math.atan2(-f,k)):(this._y=0,this._z=Math.atan2(h,a))):\"ZYX\"===b?(this._y=Math.asin(-d(l,-1,1)),.99999>Math.abs(l)?(this._x=Math.atan2(n,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,k))):\"YZX\"===\nb?(this._z=Math.asin(d(h,-1,1)),.99999>Math.abs(h)?(this._x=Math.atan2(-m,k),this._y=Math.atan2(-l,a)):(this._x=0,this._y=Math.atan2(g,e))):\"XZY\"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(n,k),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-m,e),this._y=0)):console.warn(\"THREE.Euler: .setFromRotationMatrix() given unsupported order: \"+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a=new I;return function(b,c,d){a.makeRotationFromQuaternion(b);\nreturn this.setFromRotationMatrix(a,c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new fa;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);\nvoid 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new p(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(Rd.prototype,{set:function(a){this.mask=1<g;g++)if(d[g]===d[(g+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(d=a[f],this.faces.splice(d,1),c=0,e=\nthis.faceVertexUvs.length;cthis.opacity&&(d.opacity=this.opacity);\n!0===this.transparent&&(d.transparent=this.transparent);d.depthFunc=this.depthFunc;d.depthTest=this.depthTest;d.depthWrite=this.depthWrite;0!==this.rotation&&(d.rotation=this.rotation);1!==this.linewidth&&(d.linewidth=this.linewidth);void 0!==this.dashSize&&(d.dashSize=this.dashSize);void 0!==this.gapSize&&(d.gapSize=this.gapSize);void 0!==this.scale&&(d.scale=this.scale);!0===this.dithering&&(d.dithering=!0);0a?b.copy(this.origin):b.copy(this.direction).multiplyScalar(a).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new p;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a=new p,b=new p,c=new p;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);\nb.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var h=.5*d.distanceTo(e),k=-this.direction.dot(b),m=c.dot(this.direction),l=-c.dot(b),n=c.lengthSq(),t=Math.abs(1-k*k);if(0=-p?e<=p?(h=1/t,d*=h,e*=h,k=d*(d+k*e+2*m)+e*(k*d+e+2*l)+n):(e=h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):(e=-h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):e<=-p?(d=Math.max(0,-(-k*h+m)),e=0b)return null;b=Math.sqrt(b-e);e=d-b;d+=b;return 0>e&&0>d?null:0>e?this.at(d,\nc):this.at(e,c)}}(),intersectsSphere:function(a){return this.distanceToPoint(a.center)<=a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){a=this.distanceToPlane(a);return null===a?null:this.at(a,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin);return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,\nb){var c=1/this.direction.x;var d=1/this.direction.y;var e=1/this.direction.z,f=this.origin;if(0<=c){var g=(a.min.x-f.x)*c;c*=a.max.x-f.x}else g=(a.max.x-f.x)*c,c*=a.min.x-f.x;if(0<=d){var h=(a.min.y-f.y)*d;d*=a.max.y-f.y}else h=(a.max.y-f.y)*d,d*=a.min.y-f.y;if(g>d||h>c)return null;if(h>g||g!==g)g=h;if(da||h>c)return null;if(h>g||g!==g)g=h;if(ac?null:this.at(0<=g?g:c,b)},intersectsBox:function(){var a=\nnew p;return function(b){return null!==this.intersectBox(b,a)}}(),intersectTriangle:function(){var a=new p,b=new p,c=new p,d=new p;return function(e,f,g,h,k){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0f)h=-1,f=-f;else return null;a.subVectors(this.origin,e);e=h*this.direction.dot(c.crossVectors(a,c));if(0>e)return null;g=h*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-h*a.dot(d);return 0>e?null:this.at(e/f,k)}}(),\napplyMatrix4:function(a){this.origin.applyMatrix4(a);this.direction.transformDirection(a);return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}});Object.assign(ja,{getNormal:function(){var a=new p;return function(b,c,d,e){void 0===e&&(console.warn(\"THREE.Triangle: .getNormal() target is now required\"),e=new p);e.subVectors(d,c);a.subVectors(b,c);e.cross(a);b=e.lengthSq();return 0=a.x+a.y}}()});Object.assign(ja.prototype,\n{set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},getArea:function(){var a=new p,b=new p;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return.5*a.cross(b).length()}}(),getMidpoint:function(a){void 0===\na&&(console.warn(\"THREE.Triangle: .getMidpoint() target is now required\"),a=new p);return a.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(a){return ja.getNormal(this.a,this.b,this.c,a)},getPlane:function(a){void 0===a&&(console.warn(\"THREE.Triangle: .getPlane() target is now required\"),a=new p);return a.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(a,b){return ja.getBarycoord(a,this.a,this.b,this.c,b)},containsPoint:function(a){return ja.containsPoint(a,\nthis.a,this.b,this.c)},intersectsBox:function(a){return a.intersectsTriangle(this)},closestPointToPoint:function(){var a=new p,b=new p,c=new p,d=new p,e=new p,f=new p;return function(g,h){void 0===h&&(console.warn(\"THREE.Triangle: .closestPointToPoint() target is now required\"),h=new p);var k=this.a,m=this.b,l=this.c;a.subVectors(m,k);b.subVectors(l,k);d.subVectors(g,k);var n=a.dot(d),t=b.dot(d);if(0>=n&&0>=t)return h.copy(k);e.subVectors(g,m);var u=a.dot(e),r=b.dot(e);if(0<=u&&r<=u)return h.copy(m);\nvar v=n*r-u*t;if(0>=v&&0<=n&&0>=u)return m=n/(n-u),h.copy(k).addScaledVector(a,m);f.subVectors(g,l);g=a.dot(f);var y=b.dot(f);if(0<=y&&g<=y)return h.copy(l);n=g*t-n*y;if(0>=n&&0<=t&&0>=y)return v=t/(t-y),h.copy(k).addScaledVector(b,v);t=u*y-g*r;if(0>=t&&0<=r-u&&0<=g-y)return c.subVectors(l,m),v=(r-u)/(r-u+(g-y)),h.copy(m).addScaledVector(c,v);l=1/(t+n+v);m=n*l;v*=l;return h.copy(k).addScaledVector(a,m).addScaledVector(b,v)}}(),equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}});\nla.prototype=Object.assign(Object.create(D.prototype),{constructor:la,isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){D.prototype.copy.call(this,a);this.drawMode=a.drawMode;void 0!==a.morphTargetInfluences&&(this.morphTargetInfluences=a.morphTargetInfluences.slice());void 0!==a.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},a.morphTargetDictionary));return this},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a=a.morphAttributes;var b=\nObject.keys(a);if(0c.far?null:{distance:b,point:x.clone(),object:a}}function c(c,d,e,f,m,l,n,q,p){g.fromBufferAttribute(m,n);h.fromBufferAttribute(m,q);k.fromBufferAttribute(m,\np);if(c=b(c,d,e,f,g,h,k,y))l&&(t.fromBufferAttribute(l,n),u.fromBufferAttribute(l,q),r.fromBufferAttribute(l,p),c.uv=a(y,g,h,k,t,u,r)),l=new Ta(n,q,p),ja.getNormal(g,h,k,l.normal),c.face=l;return c}var d=new I,e=new mb,f=new Da,g=new p,h=new p,k=new p,m=new p,l=new p,n=new p,t=new z,u=new z,r=new z,v=new p,y=new p,x=new p;return function(q,p){var v=this.geometry,w=this.material,x=this.matrixWorld;if(void 0!==w&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(x),\n!1!==q.ray.intersectsSphere(f)&&(d.getInverse(x),e.copy(q.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox))))if(v.isBufferGeometry){var z=v.index,B=v.attributes.position,A=v.attributes.uv,D=v.groups;v=v.drawRange;var C;if(null!==z)if(Array.isArray(w)){var H=0;for(C=D.length;He.far||f.push({distance:q,point:b.clone(),face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)},copy:function(a){D.prototype.copy.call(this,a);void 0!==a.center&&this.center.copy(a.center);return this}});\nBc.prototype=Object.assign(Object.create(D.prototype),{constructor:Bc,copy:function(a){D.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;\nfor(;ef||(l.applyMatrix4(this.matrixWorld),v=d.ray.origin.distanceTo(l),vd.far||e.push({distance:v,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}else for(g=0,r=u.length/3-1;gf||(l.applyMatrix4(this.matrixWorld),v=d.ray.origin.distanceTo(l),vd.far||e.push({distance:v,point:h.clone().applyMatrix4(this.matrixWorld),\nindex:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(k=g.vertices,m=k.length,g=0;gf||(l.applyMatrix4(this.matrixWorld),v=d.ray.origin.distanceTo(l),vd.far||e.push({distance:v,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});W.prototype=Object.assign(Object.create(sa.prototype),\n{constructor:W,isLineSegments:!0,computeLineDistances:function(){var a=new p,b=new p;return function(){var c=this.geometry;if(c.isBufferGeometry)if(null===c.index){for(var d=c.attributes.position,e=[],f=0,g=d.count;fd.far||e.push({distance:a,distanceToRay:Math.sqrt(f),point:n.clone(),index:c,face:null,object:g}))}var g=this,h=this.geometry,k=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&\nh.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(k);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k);b.copy(d.ray).applyMatrix4(a);m/=(this.scale.x+this.scale.y+this.scale.z)/3;var l=m*m;m=new p;var n=new p;if(h.isBufferGeometry){var t=h.index;h=h.attributes.position.array;if(null!==t){var u=t.array;t=0;for(var r=u.length;t=a.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}});Pb.prototype=Object.create(T.prototype);Pb.prototype.constructor=Pb;Pb.prototype.isCompressedTexture=!0;Dc.prototype=Object.create(T.prototype);Dc.prototype.constructor=Dc;Dc.prototype.isCanvasTexture=!0;Ec.prototype=\nObject.create(T.prototype);Ec.prototype.constructor=Ec;Ec.prototype.isDepthTexture=!0;Qb.prototype=Object.create(C.prototype);Qb.prototype.constructor=Qb;Fc.prototype=Object.create(R.prototype);Fc.prototype.constructor=Fc;Rb.prototype=Object.create(C.prototype);Rb.prototype.constructor=Rb;Gc.prototype=Object.create(R.prototype);Gc.prototype.constructor=Gc;na.prototype=Object.create(C.prototype);na.prototype.constructor=na;Hc.prototype=Object.create(R.prototype);Hc.prototype.constructor=Hc;Sb.prototype=\nObject.create(na.prototype);Sb.prototype.constructor=Sb;Ic.prototype=Object.create(R.prototype);Ic.prototype.constructor=Ic;pb.prototype=Object.create(na.prototype);pb.prototype.constructor=pb;Jc.prototype=Object.create(R.prototype);Jc.prototype.constructor=Jc;Tb.prototype=Object.create(na.prototype);Tb.prototype.constructor=Tb;Kc.prototype=Object.create(R.prototype);Kc.prototype.constructor=Kc;Ub.prototype=Object.create(na.prototype);Ub.prototype.constructor=Ub;Lc.prototype=Object.create(R.prototype);\nLc.prototype.constructor=Lc;Vb.prototype=Object.create(C.prototype);Vb.prototype.constructor=Vb;Mc.prototype=Object.create(R.prototype);Mc.prototype.constructor=Mc;Wb.prototype=Object.create(C.prototype);Wb.prototype.constructor=Wb;Nc.prototype=Object.create(R.prototype);Nc.prototype.constructor=Nc;Xb.prototype=Object.create(C.prototype);Xb.prototype.constructor=Xb;var Ug={triangulate:function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=bf(a,0,e,c,!0),g=[];if(!f)return g;var h;if(d){var k=\nc;d=[];var m;var l=0;for(m=b.length;l80*c){var p=h=a[0];var r=d=a[1];for(k=c;kh&&(h=l),b>d&&(d=b);h=Math.max(h-p,d-r);h=0!==h?1/h:0}Qc(f,g,c,p,r,h);return g}},Va={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;eVa.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];ff(a);gf(c,a);var f=a.length;b.forEach(ff);for(a=0;aMath.abs(g-k)?[new z(a,1-c),new z(h,1-d),new z(m,1-e),new z(n,1-b)]:[new z(g,1-c),new z(k,1-d),new z(l,1-e),new z(t,1-b)]}};Sc.prototype=Object.create(R.prototype);Sc.prototype.constructor=Sc;Yb.prototype=Object.create(Oa.prototype);Yb.prototype.constructor=Yb;Tc.prototype=Object.create(R.prototype);Tc.prototype.constructor=Tc;sb.prototype=Object.create(C.prototype);sb.prototype.constructor=sb;Uc.prototype=Object.create(R.prototype);Uc.prototype.constructor=Uc;Zb.prototype=Object.create(C.prototype);\nZb.prototype.constructor=Zb;Vc.prototype=Object.create(R.prototype);Vc.prototype.constructor=Vc;$b.prototype=Object.create(C.prototype);$b.prototype.constructor=$b;tb.prototype=Object.create(R.prototype);tb.prototype.constructor=tb;tb.prototype.toJSON=function(){var a=R.prototype.toJSON.call(this);return jf(this.parameters.shapes,a)};ub.prototype=Object.create(C.prototype);ub.prototype.constructor=ub;ub.prototype.toJSON=function(){var a=C.prototype.toJSON.call(this);return jf(this.parameters.shapes,\na)};ac.prototype=Object.create(C.prototype);ac.prototype.constructor=ac;vb.prototype=Object.create(R.prototype);vb.prototype.constructor=vb;Wa.prototype=Object.create(C.prototype);Wa.prototype.constructor=Wa;Wc.prototype=Object.create(vb.prototype);Wc.prototype.constructor=Wc;Xc.prototype=Object.create(Wa.prototype);Xc.prototype.constructor=Xc;Yc.prototype=Object.create(R.prototype);Yc.prototype.constructor=Yc;bc.prototype=Object.create(C.prototype);bc.prototype.constructor=bc;var xa=Object.freeze({WireframeGeometry:Qb,\nParametricGeometry:Fc,ParametricBufferGeometry:Rb,TetrahedronGeometry:Hc,TetrahedronBufferGeometry:Sb,OctahedronGeometry:Ic,OctahedronBufferGeometry:pb,IcosahedronGeometry:Jc,IcosahedronBufferGeometry:Tb,DodecahedronGeometry:Kc,DodecahedronBufferGeometry:Ub,PolyhedronGeometry:Gc,PolyhedronBufferGeometry:na,TubeGeometry:Lc,TubeBufferGeometry:Vb,TorusKnotGeometry:Mc,TorusKnotBufferGeometry:Wb,TorusGeometry:Nc,TorusBufferGeometry:Xb,TextGeometry:Sc,TextBufferGeometry:Yb,SphereGeometry:Tc,SphereBufferGeometry:sb,\nRingGeometry:Uc,RingBufferGeometry:Zb,PlaneGeometry:uc,PlaneBufferGeometry:lb,LatheGeometry:Vc,LatheBufferGeometry:$b,ShapeGeometry:tb,ShapeBufferGeometry:ub,ExtrudeGeometry:rb,ExtrudeBufferGeometry:Oa,EdgesGeometry:ac,ConeGeometry:Wc,ConeBufferGeometry:Xc,CylinderGeometry:vb,CylinderBufferGeometry:Wa,CircleGeometry:Yc,CircleBufferGeometry:bc,BoxGeometry:Ib,BoxBufferGeometry:kb});wb.prototype=Object.create(J.prototype);wb.prototype.constructor=wb;wb.prototype.isShadowMaterial=!0;wb.prototype.copy=\nfunction(a){J.prototype.copy.call(this,a);this.color.copy(a.color);return this};cc.prototype=Object.create(ta.prototype);cc.prototype.constructor=cc;cc.prototype.isRawShaderMaterial=!0;Pa.prototype=Object.create(J.prototype);Pa.prototype.constructor=Pa;Pa.prototype.isMeshStandardMaterial=!0;Pa.prototype.copy=function(a){J.prototype.copy.call(this,a);this.defines={STANDARD:\"\"};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=\na.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=\na.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};xb.prototype=Object.create(Pa.prototype);xb.prototype.constructor=xb;xb.prototype.isMeshPhysicalMaterial=\n!0;xb.prototype.copy=function(a){Pa.prototype.copy.call(this,a);this.defines={PHYSICAL:\"\"};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=a.clearCoatRoughness;return this};Fa.prototype=Object.create(J.prototype);Fa.prototype.constructor=Fa;Fa.prototype.isMeshPhongMaterial=!0;Fa.prototype.copy=function(a){J.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=\na.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;\nthis.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};yb.prototype=Object.create(Fa.prototype);yb.prototype.constructor=yb;yb.prototype.isMeshToonMaterial=!0;yb.prototype.copy=function(a){Fa.prototype.copy.call(this,\na);this.gradientMap=a.gradientMap;return this};zb.prototype=Object.create(J.prototype);zb.prototype.constructor=zb;zb.prototype.isMeshNormalMaterial=!0;zb.prototype.copy=function(a){J.prototype.copy.call(this,a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;\nthis.wireframeLinewidth=a.wireframeLinewidth;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Ab.prototype=Object.create(J.prototype);Ab.prototype.constructor=Ab;Ab.prototype.isMeshLambertMaterial=!0;Ab.prototype.copy=function(a){J.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);\nthis.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};\nBb.prototype=Object.create(Y.prototype);Bb.prototype.constructor=Bb;Bb.prototype.isLineDashedMaterial=!0;Bb.prototype.copy=function(a){Y.prototype.copy.call(this,a);this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var Vg=Object.freeze({ShadowMaterial:wb,SpriteMaterial:cb,RawShaderMaterial:cc,ShaderMaterial:ta,PointsMaterial:Ea,MeshPhysicalMaterial:xb,MeshStandardMaterial:Pa,MeshPhongMaterial:Fa,MeshToonMaterial:yb,MeshNormalMaterial:zb,MeshLambertMaterial:Ab,MeshDepthMaterial:$a,\nMeshDistanceMaterial:ab,MeshBasicMaterial:da,LineDashedMaterial:Bb,LineBasicMaterial:Y,Material:J}),Fb={enabled:!1,files:{},add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]},remove:function(a){delete this.files[a]},clear:function(){this.files={}}},ka=new ce,Ya={};Object.assign(Ga.prototype,{load:function(a,b,c,d){void 0===a&&(a=\"\");void 0!==this.path&&(a=this.path+a);a=this.manager.resolveURL(a);var e=this,f=Fb.get(a);if(void 0!==f)return e.manager.itemStart(a),\nsetTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;if(void 0!==Ya[a])Ya[a].push({onLoad:b,onProgress:c,onError:d});else{var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){c=g[1];var h=!!g[2];g=g[3];g=window.decodeURIComponent(g);h&&(g=window.atob(g));try{var k=(this.responseType||\"\").toLowerCase();switch(k){case \"arraybuffer\":case \"blob\":var m=new Uint8Array(g.length);for(h=0;hg)e=a+1;else if(0b&&(b=0);1Number.EPSILON&&(g.normalize(),c=Math.acos(H.clamp(d[k-1].dot(d[k]),-1,1)),e[k].applyMatrix4(h.makeRotationAxis(g,c))),f[k].crossVectors(d[k],e[k]);if(!0===b)for(c=Math.acos(H.clamp(e[0].dot(e[a]),-1,1)),c/=a,0d;)d+=c;for(;d>c;)d-=c;de&&(e=1);1E-4>d&&(d=e);1E-4>k&&(k=e);Ae.initNonuniformCatmullRom(f.x,g.x,h.x,c.x,d,e,k);Be.initNonuniformCatmullRom(f.y,g.y,h.y,c.y,d,e,k);Ce.initNonuniformCatmullRom(f.z,g.z,h.z,c.z,d,e,k)}else\"catmullrom\"===this.curveType&&(Ae.initCatmullRom(f.x,g.x,h.x,c.x,this.tension),Be.initCatmullRom(f.y,g.y,h.y,c.y,this.tension),Ce.initCatmullRom(f.z,g.z,h.z,c.z,this.tension));b.set(Ae.calc(a),\nBe.calc(a),Ce.calc(a));return b};ca.prototype.copy=function(a){L.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;bc.length-2?c.length-1:a+1];c=c[a>c.length-3?c.length-1:a+2];b.set(lf(d,e.x,f.x,g.x,c.x),lf(d,e.y,f.y,g.y,c.y));return b};Ka.prototype.copy=function(a){L.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;b=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths();\nreturn a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;c=e)break a;else{f=b[1];a=e)break b}d=c;c=\n0}}for(;c>>1,ab;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),a=this.getValueSize(),this.times=ia.arraySlice(c,e,f),this.values=ia.arraySlice(this.values,e*a,f*a);return this},validate:function(){var a=\n!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this),a=!1);var c=this.times;b=this.values;var d=c.length;0===d&&(console.error(\"THREE.KeyframeTrack: Track is empty.\",this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if(\"number\"===typeof g&&isNaN(g)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,f,g);a=!1;break}if(null!==e&&e>g){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,f,g,e);a=!1;break}e=\ng}if(void 0!==b&&ia.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;gm.opacity&&(m.transparent=!0);d.setTextures(k);return d.parse(m)}}()});var De={decodeText:function(a){if(\"undefined\"!==typeof TextDecoder)return(new TextDecoder).decode(a);for(var b=\"\",c=0,d=a.length;cf;f++){var E=h[u++];var A=B[2*E];E=B[2*E+1];A=new z(A,E);2!==f&&c.faceVertexUvs[e][v].push(A);0!==f&&c.faceVertexUvs[e][v+1].push(A)}}y&&(y=3*h[u++],r.normal.set(m[y++],m[y++],m[y]),w.normal.copy(r.normal));if(x)for(e=0;4>e;e++)y=3*h[u++],x=new p(m[y++],\nm[y++],m[y]),2!==e&&r.vertexNormals.push(x),0!==e&&w.vertexNormals.push(x);n&&(n=h[u++],n=l[n],r.color.setHex(n),w.color.setHex(n));if(k)for(e=0;4>e;e++)n=h[u++],n=l[n],2!==e&&r.vertexColors.push(new G(n)),0!==e&&w.vertexColors.push(new G(n));c.faces.push(r);c.faces.push(w)}else{r=new Ta;r.a=h[u++];r.b=h[u++];r.c=h[u++];v&&(v=h[u++],r.materialIndex=v);v=c.faces.length;if(e)for(e=0;ef;f++)E=h[u++],A=B[2*E],E=B[2*E+1],A=new z(A,E),c.faceVertexUvs[e][v].push(A);\ny&&(y=3*h[u++],r.normal.set(m[y++],m[y++],m[y]));if(x)for(e=0;3>e;e++)y=3*h[u++],x=new p(m[y++],m[y++],m[y]),r.vertexNormals.push(x);n&&(n=h[u++],r.color.setHex(l[n]));if(k)for(e=0;3>e;e++)n=h[u++],r.vertexColors.push(new G(l[n]));c.faces.push(r)}}d=a;u=void 0!==d.influencesPerVertex?d.influencesPerVertex:2;if(d.skinWeights)for(g=0,h=d.skinWeights.length;g\nNumber.EPSILON){if(0>m&&(g=b[f],k=-k,h=b[e],m=-m),!(a.yh.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=m*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=Va.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new db;h.curves=g.curves;b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var m=[],l=[],n=0;m[n]=void 0;l[n]=[];for(var p=\n0,u=f.length;pd&&this._mixBufferRegion(c,a,3*b,1-d,b);d=b;for(var f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,\nc);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a,b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d){fa.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var h=b+g;a[h]=a[h]*f+a[c+g]*d}}});Object.assign(pf.prototype,{getValue:function(a,b){this.bind();var c=this._bindings[this._targetGroup.nCachedObjects_];void 0!==c&&c.getValue(a,\nb)},setValue:function(a,b){for(var c=this._bindings,d=this._targetGroup.nCachedObjects_,e=c.length;d!==e;++d)c[d].setValue(a,b)},bind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].bind()},unbind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].unbind()}});Object.assign(pa,{Composite:pf,create:function(a,b,c){return a&&a.isAnimationObjectGroup?new pa.Composite(a,b,c):new pa(a,b,c)},sanitizeNodeName:function(){var a=\n/[\\[\\]\\.:\\/]/g;return function(b){return b.replace(/\\s/g,\"_\").replace(a,\"\")}}(),parseTrackName:function(){var a=\"[^\"+\"\\\\[\\\\]\\\\.:\\\\/\".replace(\"\\\\.\",\"\")+\"]\",b=/((?:WC+[\\/:])*)/.source.replace(\"WC\",\"[^\\\\[\\\\]\\\\.:\\\\/]\");a=/(WCOD+)?/.source.replace(\"WCOD\",a);var c=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",\"[^\\\\[\\\\]\\\\.:\\\\/]\"),d=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",\"[^\\\\[\\\\]\\\\.:\\\\/]\"),e=new RegExp(\"^\"+b+a+c+d+\"$\"),f=[\"material\",\"materials\",\"bones\"];return function(a){var b=e.exec(a);if(!b)throw Error(\"PropertyBinding: Cannot parse trackName: \"+\na);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};var c=b.nodeName&&b.nodeName.lastIndexOf(\".\");if(void 0!==c&&-1!==c){var d=b.nodeName.substring(c+1);-1!==f.indexOf(d)&&(b.nodeName=b.nodeName.substring(0,c),b.objectName=d)}if(null===b.propertyName||0===b.propertyName.length)throw Error(\"PropertyBinding: can not parse propertyName from trackName: \"+a);return b}}(),findNode:function(a,b){if(!b||\"\"===b||\"root\"===b||\".\"===b||-1===b||b===a.name||b===a.uuid)return a;\nif(a.skeleton){var c=a.skeleton.getBoneByName(b);if(void 0!==c)return c}if(a.children){var d=function(a){for(var c=0;c=b){var p=b++,n=a[p];c[n.uuid]=l;a[l]=n;c[k]=p;a[p]=h;h=0;for(k=e;h!==k;++h){n=d[h];var t=n[l];n[l]=n[p];n[p]=t}}}this.nCachedObjects_=b},uncache:function(){for(var a=this._objects,b=a.length,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var k=\narguments[g].uuid,l=d[k];if(void 0!==l)if(delete d[k],lb||0===c)return;this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=this._updateWeight(a);if(0c.parameterPositions[1]&&(this.stopFading(),0===d&&(this.enabled=!1))}}return this._effectiveWeight=b},_updateTimeScale:function(a){var b=0;if(!this.paused){b=this.timeScale;var c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0];b*=d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a,c=this._clip.duration,d=this.loop,e=this._loopCount,f=2202===d;if(0===a)return-1===\ne?b:f&&1===(e&1)?c-b:b;if(2200===d)a:{if(-1===e&&(this._loopCount=0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else break a;this.clampWhenFinished?this.paused=!0:this.enabled=!1;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:0>a?-1:1})}else{-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,f)):this._setEndings(0===this.repetitions,!0,f));if(b>=c||0>b){d=Math.floor(b/c);b-=c*d;e+=Math.abs(d);var g=this.repetitions-e;0>=g?(this.clampWhenFinished?this.paused=!0:\nthis.enabled=!1,b=0a,this._setEndings(a,!a,f)):this._setEndings(!1,!1,f),this._loopCount=e,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:d}))}if(f&&1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401:\n2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});re.prototype=Object.assign(Object.create(ya.prototype),{constructor:re,_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings;a=a._interpolants;var g=c.uuid,h=this._bindingsByRootAndName,k=h[g];void 0===\nk&&(k={},h[g]=k);for(h=0;h!==e;++h){var l=d[h],p=l.name,n=k[p];if(void 0===n){n=f[h];if(void 0!==n){null===n._cacheIndex&&(++n.referenceCount,this._addInactiveBinding(n,g,p));continue}n=new qe(pa.create(c,p,b&&b._propertyBindings[h].binding.parsedPath),l.ValueTypeName,l.getValueSize());++n.referenceCount;this._addInactiveBinding(n,g,p)}f[h]=n;a[h].resultBuffer=n.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,\nd=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b=a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions=\n[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length},get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}},\n_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&athis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,\nb){void 0===b&&(console.warn(\"THREE.Box2: .getParameter() target is now required\"),b=new z);return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y?!1:!0},clampPoint:function(a,b){void 0===b&&(console.warn(\"THREE.Box2: .clampPoint() target is now required\"),b=new z);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new z;\nreturn function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});Object.assign(xe.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},\ncopy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){void 0===a&&(console.warn(\"THREE.Line3: .getCenter() target is now required\"),a=new p);return a.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){void 0===a&&(console.warn(\"THREE.Line3: .delta() target is now required\"),a=new p);return a.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},\nat:function(a,b){void 0===b&&(console.warn(\"THREE.Line3: .at() target is now required\"),b=new p);return this.delta(b).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new p,b=new p;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);c=b.dot(b);c=b.dot(a)/c;d&&(c=H.clamp(c,0,1));return c}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);void 0===c&&(console.warn(\"THREE.Line3: .closestPointToPoint() target is now required\"),\nc=new p);return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a);this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)}});ed.prototype=Object.create(D.prototype);ed.prototype.constructor=ed;ed.prototype.isImmediateRenderObject=!0;fd.prototype=Object.create(W.prototype);fd.prototype.constructor=fd;fd.prototype.update=function(){var a=new p,b=new p,c=new ra;return function(){var d=[\"a\",\"b\",\n\"c\"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=g.vertices,k=g.faces,l=g=0,p=k.length;lMath.abs(b)&&(b=1E-8);this.scale.set(.5*this.size,.5*this.size,b);this.children[0].material.side=0>b?1:0;this.lookAt(this.plane.normal);D.prototype.updateMatrixWorld.call(this,a)};var Nd,ye;Eb.prototype=Object.create(D.prototype);Eb.prototype.constructor=Eb;Eb.prototype.setDirection=function(){var a=new p,b;return function(c){.99999c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();Eb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};Eb.prototype.setColor=function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};ld.prototype=Object.create(W.prototype);\nld.prototype.constructor=ld;L.create=function(a,b){console.log(\"THREE.Curve.create() has been deprecated\");a.prototype=Object.create(L.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Object.assign(Xa.prototype,{createPointsGeometry:function(a){console.warn(\"THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.\");a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){console.warn(\"THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.\");\na=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){console.warn(\"THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.\");for(var b=new R,c=0,d=a.length;c 0) {\n for (var i = (this.length >> 1); i >= 0; i--) this._down(i);\n }\n}\n\nfunction defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\nTinyQueue.prototype = {\n\n push: function (item) {\n this.data.push(item);\n this.length++;\n this._up(this.length - 1);\n },\n\n pop: function () {\n if (this.length === 0) return undefined;\n var top = this.data[0];\n this.length--;\n if (this.length > 0) {\n this.data[0] = this.data[this.length];\n this._down(0);\n }\n this.data.pop();\n return top;\n },\n\n peek: function () {\n return this.data[0];\n },\n\n _up: function (pos) {\n var data = this.data;\n var compare = this.compare;\n var item = data[pos];\n\n while (pos > 0) {\n var parent = (pos - 1) >> 1;\n var current = data[parent];\n if (compare(item, current) >= 0) break;\n data[pos] = current;\n pos = parent;\n }\n\n data[pos] = item;\n },\n\n _down: function (pos) {\n var data = this.data;\n var compare = this.compare;\n var len = this.length;\n var halfLen = len >> 1;\n var item = data[pos];\n\n while (pos < halfLen) {\n var left = (pos << 1) + 1;\n var right = left + 1;\n var best = data[left];\n\n if (right < len && compare(data[right], best) < 0) {\n left = right;\n best = data[right];\n }\n if (compare(best, item) >= 0) break;\n\n data[pos] = best;\n pos = left;\n }\n\n data[pos] = item;\n }\n};\n", "var createElement = require(\"./vdom/create-element.js\")\n\nmodule.exports = createElement\n", "var diff = require(\"./vtree/diff.js\")\n\nmodule.exports = diff\n", "var h = require(\"./virtual-hyperscript/index.js\")\n\nmodule.exports = h\n", "var diff = require(\"./diff.js\")\r\nvar patch = require(\"./patch.js\")\r\nvar h = require(\"./h.js\")\r\nvar create = require(\"./create-element.js\")\r\nvar VNode = require('./vnode/vnode.js')\r\nvar VText = require('./vnode/vtext.js')\r\n\r\nmodule.exports = {\r\n diff: diff,\r\n patch: patch,\r\n h: h,\r\n create: create,\r\n VNode: VNode,\r\n VText: VText\r\n}\r\n", "var patch = require(\"./vdom/patch.js\")\n\nmodule.exports = patch\n", "var isObject = require(\"is-object\")\nvar isHook = require(\"../vnode/is-vhook.js\")\n\nmodule.exports = applyProperties\n\nfunction applyProperties(node, props, previous) {\n for (var propName in props) {\n var propValue = props[propName]\n\n if (propValue === undefined) {\n removeProperty(node, propName, propValue, previous);\n } else if (isHook(propValue)) {\n removeProperty(node, propName, propValue, previous)\n if (propValue.hook) {\n propValue.hook(node,\n propName,\n previous ? previous[propName] : undefined)\n }\n } else {\n if (isObject(propValue)) {\n patchObject(node, props, previous, propName, propValue);\n } else {\n node[propName] = propValue\n }\n }\n }\n}\n\nfunction removeProperty(node, propName, propValue, previous) {\n if (previous) {\n var previousValue = previous[propName]\n\n if (!isHook(previousValue)) {\n if (propName === \"attributes\") {\n for (var attrName in previousValue) {\n node.removeAttribute(attrName)\n }\n } else if (propName === \"style\") {\n for (var i in previousValue) {\n node.style[i] = \"\"\n }\n } else if (typeof previousValue === \"string\") {\n node[propName] = \"\"\n } else {\n node[propName] = null\n }\n } else if (previousValue.unhook) {\n previousValue.unhook(node, propName, propValue)\n }\n }\n}\n\nfunction patchObject(node, props, previous, propName, propValue) {\n var previousValue = previous ? previous[propName] : undefined\n\n // Set attributes\n if (propName === \"attributes\") {\n for (var attrName in propValue) {\n var attrValue = propValue[attrName]\n\n if (attrValue === undefined) {\n node.removeAttribute(attrName)\n } else {\n node.setAttribute(attrName, attrValue)\n }\n }\n\n return\n }\n\n if(previousValue && isObject(previousValue) &&\n getPrototype(previousValue) !== getPrototype(propValue)) {\n node[propName] = propValue\n return\n }\n\n if (!isObject(node[propName])) {\n node[propName] = {}\n }\n\n var replacer = propName === \"style\" ? \"\" : undefined\n\n for (var k in propValue) {\n var value = propValue[k]\n node[propName][k] = (value === undefined) ? replacer : value\n }\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n", "var document = require(\"global/document\")\n\nvar applyProperties = require(\"./apply-properties\")\n\nvar isVNode = require(\"../vnode/is-vnode.js\")\nvar isVText = require(\"../vnode/is-vtext.js\")\nvar isWidget = require(\"../vnode/is-widget.js\")\nvar handleThunk = require(\"../vnode/handle-thunk.js\")\n\nmodule.exports = createElement\n\nfunction createElement(vnode, opts) {\n var doc = opts ? opts.document || document : document\n var warn = opts ? opts.warn : null\n\n vnode = handleThunk(vnode).a\n\n if (isWidget(vnode)) {\n return vnode.init()\n } else if (isVText(vnode)) {\n return doc.createTextNode(vnode.text)\n } else if (!isVNode(vnode)) {\n if (warn) {\n warn(\"Item is not a valid virtual dom node\", vnode)\n }\n return null\n }\n\n var node = (vnode.namespace === null) ?\n doc.createElement(vnode.tagName) :\n doc.createElementNS(vnode.namespace, vnode.tagName)\n\n var props = vnode.properties\n applyProperties(node, props)\n\n var children = vnode.children\n\n for (var i = 0; i < children.length; i++) {\n var childNode = createElement(children[i], opts)\n if (childNode) {\n node.appendChild(childNode)\n }\n }\n\n return node\n}\n", "// Maps a virtual DOM tree onto a real DOM tree in an efficient manner.\n// We don't want to read all of the DOM nodes in the tree so we use\n// the in-order tree indexing to eliminate recursion down certain branches.\n// We only recurse into a DOM node if we know that it contains a child of\n// interest.\n\nvar noChild = {}\n\nmodule.exports = domIndex\n\nfunction domIndex(rootNode, tree, indices, nodes) {\n if (!indices || indices.length === 0) {\n return {}\n } else {\n indices.sort(ascending)\n return recurse(rootNode, tree, indices, nodes, 0)\n }\n}\n\nfunction recurse(rootNode, tree, indices, nodes, rootIndex) {\n nodes = nodes || {}\n\n\n if (rootNode) {\n if (indexInRange(indices, rootIndex, rootIndex)) {\n nodes[rootIndex] = rootNode\n }\n\n var vChildren = tree.children\n\n if (vChildren) {\n\n var childNodes = rootNode.childNodes\n\n for (var i = 0; i < tree.children.length; i++) {\n rootIndex += 1\n\n var vChild = vChildren[i] || noChild\n var nextIndex = rootIndex + (vChild.count || 0)\n\n // skip recursion down the tree if there are no nodes down here\n if (indexInRange(indices, rootIndex, nextIndex)) {\n recurse(childNodes[i], vChild, indices, nodes, rootIndex)\n }\n\n rootIndex = nextIndex\n }\n }\n }\n\n return nodes\n}\n\n// Binary search for an index in the interval [left, right]\nfunction indexInRange(indices, left, right) {\n if (indices.length === 0) {\n return false\n }\n\n var minIndex = 0\n var maxIndex = indices.length - 1\n var currentIndex\n var currentItem\n\n while (minIndex <= maxIndex) {\n currentIndex = ((maxIndex + minIndex) / 2) >> 0\n currentItem = indices[currentIndex]\n\n if (minIndex === maxIndex) {\n return currentItem >= left && currentItem <= right\n } else if (currentItem < left) {\n minIndex = currentIndex + 1\n } else if (currentItem > right) {\n maxIndex = currentIndex - 1\n } else {\n return true\n }\n }\n\n return false;\n}\n\nfunction ascending(a, b) {\n return a > b ? 1 : -1\n}\n", "var applyProperties = require(\"./apply-properties\")\n\nvar isWidget = require(\"../vnode/is-widget.js\")\nvar VPatch = require(\"../vnode/vpatch.js\")\n\nvar updateWidget = require(\"./update-widget\")\n\nmodule.exports = applyPatch\n\nfunction applyPatch(vpatch, domNode, renderOptions) {\n var type = vpatch.type\n var vNode = vpatch.vNode\n var patch = vpatch.patch\n\n switch (type) {\n case VPatch.REMOVE:\n return removeNode(domNode, vNode)\n case VPatch.INSERT:\n return insertNode(domNode, patch, renderOptions)\n case VPatch.VTEXT:\n return stringPatch(domNode, vNode, patch, renderOptions)\n case VPatch.WIDGET:\n return widgetPatch(domNode, vNode, patch, renderOptions)\n case VPatch.VNODE:\n return vNodePatch(domNode, vNode, patch, renderOptions)\n case VPatch.ORDER:\n reorderChildren(domNode, patch)\n return domNode\n case VPatch.PROPS:\n applyProperties(domNode, patch, vNode.properties)\n return domNode\n case VPatch.THUNK:\n return replaceRoot(domNode,\n renderOptions.patch(domNode, patch, renderOptions))\n default:\n return domNode\n }\n}\n\nfunction removeNode(domNode, vNode) {\n var parentNode = domNode.parentNode\n\n if (parentNode) {\n parentNode.removeChild(domNode)\n }\n\n destroyWidget(domNode, vNode);\n\n return null\n}\n\nfunction insertNode(parentNode, vNode, renderOptions) {\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode) {\n parentNode.appendChild(newNode)\n }\n\n return parentNode\n}\n\nfunction stringPatch(domNode, leftVNode, vText, renderOptions) {\n var newNode\n\n if (domNode.nodeType === 3) {\n domNode.replaceData(0, domNode.length, vText.text)\n newNode = domNode\n } else {\n var parentNode = domNode.parentNode\n newNode = renderOptions.render(vText, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n }\n\n return newNode\n}\n\nfunction widgetPatch(domNode, leftVNode, widget, renderOptions) {\n var updating = updateWidget(leftVNode, widget)\n var newNode\n\n if (updating) {\n newNode = widget.update(leftVNode, domNode) || domNode\n } else {\n newNode = renderOptions.render(widget, renderOptions)\n }\n\n var parentNode = domNode.parentNode\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n if (!updating) {\n destroyWidget(domNode, leftVNode)\n }\n\n return newNode\n}\n\nfunction vNodePatch(domNode, leftVNode, vNode, renderOptions) {\n var parentNode = domNode.parentNode\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n return newNode\n}\n\nfunction destroyWidget(domNode, w) {\n if (typeof w.destroy === \"function\" && isWidget(w)) {\n w.destroy(domNode)\n }\n}\n\nfunction reorderChildren(domNode, moves) {\n var childNodes = domNode.childNodes\n var keyMap = {}\n var node\n var remove\n var insert\n\n for (var i = 0; i < moves.removes.length; i++) {\n remove = moves.removes[i]\n node = childNodes[remove.from]\n if (remove.key) {\n keyMap[remove.key] = node\n }\n domNode.removeChild(node)\n }\n\n var length = childNodes.length\n for (var j = 0; j < moves.inserts.length; j++) {\n insert = moves.inserts[j]\n node = keyMap[insert.key]\n // this is the weirdest bug i've ever seen in webkit\n domNode.insertBefore(node, insert.to >= length++ ? null : childNodes[insert.to])\n }\n}\n\nfunction replaceRoot(oldRoot, newRoot) {\n if (oldRoot && newRoot && oldRoot !== newRoot && oldRoot.parentNode) {\n oldRoot.parentNode.replaceChild(newRoot, oldRoot)\n }\n\n return newRoot;\n}\n", "var document = require(\"global/document\")\nvar isArray = require(\"x-is-array\")\n\nvar render = require(\"./create-element\")\nvar domIndex = require(\"./dom-index\")\nvar patchOp = require(\"./patch-op\")\nmodule.exports = patch\n\nfunction patch(rootNode, patches, renderOptions) {\n renderOptions = renderOptions || {}\n renderOptions.patch = renderOptions.patch && renderOptions.patch !== patch\n ? renderOptions.patch\n : patchRecursive\n renderOptions.render = renderOptions.render || render\n\n return renderOptions.patch(rootNode, patches, renderOptions)\n}\n\nfunction patchRecursive(rootNode, patches, renderOptions) {\n var indices = patchIndices(patches)\n\n if (indices.length === 0) {\n return rootNode\n }\n\n var index = domIndex(rootNode, patches.a, indices)\n var ownerDocument = rootNode.ownerDocument\n\n if (!renderOptions.document && ownerDocument !== document) {\n renderOptions.document = ownerDocument\n }\n\n for (var i = 0; i < indices.length; i++) {\n var nodeIndex = indices[i]\n rootNode = applyPatch(rootNode,\n index[nodeIndex],\n patches[nodeIndex],\n renderOptions)\n }\n\n return rootNode\n}\n\nfunction applyPatch(rootNode, domNode, patchList, renderOptions) {\n if (!domNode) {\n return rootNode\n }\n\n var newNode\n\n if (isArray(patchList)) {\n for (var i = 0; i < patchList.length; i++) {\n newNode = patchOp(patchList[i], domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n } else {\n newNode = patchOp(patchList, domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n\n return rootNode\n}\n\nfunction patchIndices(patches) {\n var indices = []\n\n for (var key in patches) {\n if (key !== \"a\") {\n indices.push(Number(key))\n }\n }\n\n return indices\n}\n", "var isWidget = require(\"../vnode/is-widget.js\")\n\nmodule.exports = updateWidget\n\nfunction updateWidget(a, b) {\n if (isWidget(a) && isWidget(b)) {\n if (\"name\" in a && \"name\" in b) {\n return a.id === b.id\n } else {\n return a.init === b.init\n }\n }\n\n return false\n}\n", "'use strict';\n\nvar EvStore = require('ev-store');\n\nmodule.exports = EvHook;\n\nfunction EvHook(value) {\n if (!(this instanceof EvHook)) {\n return new EvHook(value);\n }\n\n this.value = value;\n}\n\nEvHook.prototype.hook = function (node, propertyName) {\n var es = EvStore(node);\n var propName = propertyName.substr(3);\n\n es[propName] = this.value;\n};\n\nEvHook.prototype.unhook = function(node, propertyName) {\n var es = EvStore(node);\n var propName = propertyName.substr(3);\n\n es[propName] = undefined;\n};\n", "'use strict';\n\nmodule.exports = SoftSetHook;\n\nfunction SoftSetHook(value) {\n if (!(this instanceof SoftSetHook)) {\n return new SoftSetHook(value);\n }\n\n this.value = value;\n}\n\nSoftSetHook.prototype.hook = function (node, propertyName) {\n if (node[propertyName] !== this.value) {\n node[propertyName] = this.value;\n }\n};\n", "'use strict';\n\nvar isArray = require('x-is-array');\n\nvar VNode = require('../vnode/vnode.js');\nvar VText = require('../vnode/vtext.js');\nvar isVNode = require('../vnode/is-vnode');\nvar isVText = require('../vnode/is-vtext');\nvar isWidget = require('../vnode/is-widget');\nvar isHook = require('../vnode/is-vhook');\nvar isVThunk = require('../vnode/is-thunk');\n\nvar parseTag = require('./parse-tag.js');\nvar softSetHook = require('./hooks/soft-set-hook.js');\nvar evHook = require('./hooks/ev-hook.js');\n\nmodule.exports = h;\n\nfunction h(tagName, properties, children) {\n var childNodes = [];\n var tag, props, key, namespace;\n\n if (!children && isChildren(properties)) {\n children = properties;\n props = {};\n }\n\n props = props || properties || {};\n tag = parseTag(tagName, props);\n\n // support keys\n if (props.hasOwnProperty('key')) {\n key = props.key;\n props.key = undefined;\n }\n\n // support namespace\n if (props.hasOwnProperty('namespace')) {\n namespace = props.namespace;\n props.namespace = undefined;\n }\n\n // fix cursor bug\n if (tag === 'INPUT' &&\n !namespace &&\n props.hasOwnProperty('value') &&\n props.value !== undefined &&\n !isHook(props.value)\n ) {\n props.value = softSetHook(props.value);\n }\n\n transformProperties(props);\n\n if (children !== undefined && children !== null) {\n addChild(children, childNodes, tag, props);\n }\n\n\n return new VNode(tag, props, childNodes, key, namespace);\n}\n\nfunction addChild(c, childNodes, tag, props) {\n if (typeof c === 'string') {\n childNodes.push(new VText(c));\n } else if (typeof c === 'number') {\n childNodes.push(new VText(String(c)));\n } else if (isChild(c)) {\n childNodes.push(c);\n } else if (isArray(c)) {\n for (var i = 0; i < c.length; i++) {\n addChild(c[i], childNodes, tag, props);\n }\n } else if (c === null || c === undefined) {\n return;\n } else {\n throw UnexpectedVirtualElement({\n foreignObject: c,\n parentVnode: {\n tagName: tag,\n properties: props\n }\n });\n }\n}\n\nfunction transformProperties(props) {\n for (var propName in props) {\n if (props.hasOwnProperty(propName)) {\n var value = props[propName];\n\n if (isHook(value)) {\n continue;\n }\n\n if (propName.substr(0, 3) === 'ev-') {\n // add ev-foo support\n props[propName] = evHook(value);\n }\n }\n }\n}\n\nfunction isChild(x) {\n return isVNode(x) || isVText(x) || isWidget(x) || isVThunk(x);\n}\n\nfunction isChildren(x) {\n return typeof x === 'string' || isArray(x) || isChild(x);\n}\n\nfunction UnexpectedVirtualElement(data) {\n var err = new Error();\n\n err.type = 'virtual-hyperscript.unexpected.virtual-element';\n err.message = 'Unexpected virtual child passed to h().\\n' +\n 'Expected a VNode / Vthunk / VWidget / string but:\\n' +\n 'got:\\n' +\n errorString(data.foreignObject) +\n '.\\n' +\n 'The parent vnode is:\\n' +\n errorString(data.parentVnode)\n '\\n' +\n 'Suggested fix: change your `h(..., [ ... ])` callsite.';\n err.foreignObject = data.foreignObject;\n err.parentVnode = data.parentVnode;\n\n return err;\n}\n\nfunction errorString(obj) {\n try {\n return JSON.stringify(obj, null, ' ');\n } catch (e) {\n return String(obj);\n }\n}\n", "'use strict';\n\nvar split = require('browser-split');\n\nvar classIdSplit = /([\\.#]?[a-zA-Z0-9\\u007F-\\uFFFF_:-]+)/;\nvar notClassId = /^\\.|#/;\n\nmodule.exports = parseTag;\n\nfunction parseTag(tag, props) {\n if (!tag) {\n return 'DIV';\n }\n\n var noId = !(props.hasOwnProperty('id'));\n\n var tagParts = split(tag, classIdSplit);\n var tagName = null;\n\n if (notClassId.test(tagParts[1])) {\n tagName = 'DIV';\n }\n\n var classes, part, type, i;\n\n for (i = 0; i < tagParts.length; i++) {\n part = tagParts[i];\n\n if (!part) {\n continue;\n }\n\n type = part.charAt(0);\n\n if (!tagName) {\n tagName = part;\n } else if (type === '.') {\n classes = classes || [];\n classes.push(part.substring(1, part.length));\n } else if (type === '#' && noId) {\n props.id = part.substring(1, part.length);\n }\n }\n\n if (classes) {\n if (props.className) {\n classes.push(props.className);\n }\n\n props.className = classes.join(' ');\n }\n\n return props.namespace ? tagName : tagName.toUpperCase();\n}\n", "var isVNode = require(\"./is-vnode\")\nvar isVText = require(\"./is-vtext\")\nvar isWidget = require(\"./is-widget\")\nvar isThunk = require(\"./is-thunk\")\n\nmodule.exports = handleThunk\n\nfunction handleThunk(a, b) {\n var renderedA = a\n var renderedB = b\n\n if (isThunk(b)) {\n renderedB = renderThunk(b, a)\n }\n\n if (isThunk(a)) {\n renderedA = renderThunk(a, null)\n }\n\n return {\n a: renderedA,\n b: renderedB\n }\n}\n\nfunction renderThunk(thunk, previous) {\n var renderedThunk = thunk.vnode\n\n if (!renderedThunk) {\n renderedThunk = thunk.vnode = thunk.render(previous)\n }\n\n if (!(isVNode(renderedThunk) ||\n isVText(renderedThunk) ||\n isWidget(renderedThunk))) {\n throw new Error(\"thunk did not return a valid node\");\n }\n\n return renderedThunk\n}\n", "module.exports = isThunk\r\n\r\nfunction isThunk(t) {\r\n return t && t.type === \"Thunk\"\r\n}\r\n", "module.exports = isHook\n\nfunction isHook(hook) {\n return hook &&\n (typeof hook.hook === \"function\" && !hook.hasOwnProperty(\"hook\") ||\n typeof hook.unhook === \"function\" && !hook.hasOwnProperty(\"unhook\"))\n}\n", "var version = require(\"./version\")\n\nmodule.exports = isVirtualNode\n\nfunction isVirtualNode(x) {\n return x && x.type === \"VirtualNode\" && x.version === version\n}\n", "var version = require(\"./version\")\n\nmodule.exports = isVirtualText\n\nfunction isVirtualText(x) {\n return x && x.type === \"VirtualText\" && x.version === version\n}\n", "module.exports = isWidget\n\nfunction isWidget(w) {\n return w && w.type === \"Widget\"\n}\n", "module.exports = \"2\"\n", "var version = require(\"./version\")\nvar isVNode = require(\"./is-vnode\")\nvar isWidget = require(\"./is-widget\")\nvar isThunk = require(\"./is-thunk\")\nvar isVHook = require(\"./is-vhook\")\n\nmodule.exports = VirtualNode\n\nvar noProperties = {}\nvar noChildren = []\n\nfunction VirtualNode(tagName, properties, children, key, namespace) {\n this.tagName = tagName\n this.properties = properties || noProperties\n this.children = children || noChildren\n this.key = key != null ? String(key) : undefined\n this.namespace = (typeof namespace === \"string\") ? namespace : null\n\n var count = (children && children.length) || 0\n var descendants = 0\n var hasWidgets = false\n var hasThunks = false\n var descendantHooks = false\n var hooks\n\n for (var propName in properties) {\n if (properties.hasOwnProperty(propName)) {\n var property = properties[propName]\n if (isVHook(property) && property.unhook) {\n if (!hooks) {\n hooks = {}\n }\n\n hooks[propName] = property\n }\n }\n }\n\n for (var i = 0; i < count; i++) {\n var child = children[i]\n if (isVNode(child)) {\n descendants += child.count || 0\n\n if (!hasWidgets && child.hasWidgets) {\n hasWidgets = true\n }\n\n if (!hasThunks && child.hasThunks) {\n hasThunks = true\n }\n\n if (!descendantHooks && (child.hooks || child.descendantHooks)) {\n descendantHooks = true\n }\n } else if (!hasWidgets && isWidget(child)) {\n if (typeof child.destroy === \"function\") {\n hasWidgets = true\n }\n } else if (!hasThunks && isThunk(child)) {\n hasThunks = true;\n }\n }\n\n this.count = count + descendants\n this.hasWidgets = hasWidgets\n this.hasThunks = hasThunks\n this.hooks = hooks\n this.descendantHooks = descendantHooks\n}\n\nVirtualNode.prototype.version = version\nVirtualNode.prototype.type = \"VirtualNode\"\n", "var version = require(\"./version\")\n\nVirtualPatch.NONE = 0\nVirtualPatch.VTEXT = 1\nVirtualPatch.VNODE = 2\nVirtualPatch.WIDGET = 3\nVirtualPatch.PROPS = 4\nVirtualPatch.ORDER = 5\nVirtualPatch.INSERT = 6\nVirtualPatch.REMOVE = 7\nVirtualPatch.THUNK = 8\n\nmodule.exports = VirtualPatch\n\nfunction VirtualPatch(type, vNode, patch) {\n this.type = Number(type)\n this.vNode = vNode\n this.patch = patch\n}\n\nVirtualPatch.prototype.version = version\nVirtualPatch.prototype.type = \"VirtualPatch\"\n", "var version = require(\"./version\")\n\nmodule.exports = VirtualText\n\nfunction VirtualText(text) {\n this.text = String(text)\n}\n\nVirtualText.prototype.version = version\nVirtualText.prototype.type = \"VirtualText\"\n", "var isObject = require(\"is-object\")\nvar isHook = require(\"../vnode/is-vhook\")\n\nmodule.exports = diffProps\n\nfunction diffProps(a, b) {\n var diff\n\n for (var aKey in a) {\n if (!(aKey in b)) {\n diff = diff || {}\n diff[aKey] = undefined\n }\n\n var aValue = a[aKey]\n var bValue = b[aKey]\n\n if (aValue === bValue) {\n continue\n } else if (isObject(aValue) && isObject(bValue)) {\n if (getPrototype(bValue) !== getPrototype(aValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else if (isHook(bValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else {\n var objectDiff = diffProps(aValue, bValue)\n if (objectDiff) {\n diff = diff || {}\n diff[aKey] = objectDiff\n }\n }\n } else {\n diff = diff || {}\n diff[aKey] = bValue\n }\n }\n\n for (var bKey in b) {\n if (!(bKey in a)) {\n diff = diff || {}\n diff[bKey] = b[bKey]\n }\n }\n\n return diff\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n", "var isArray = require(\"x-is-array\")\n\nvar VPatch = require(\"../vnode/vpatch\")\nvar isVNode = require(\"../vnode/is-vnode\")\nvar isVText = require(\"../vnode/is-vtext\")\nvar isWidget = require(\"../vnode/is-widget\")\nvar isThunk = require(\"../vnode/is-thunk\")\nvar handleThunk = require(\"../vnode/handle-thunk\")\n\nvar diffProps = require(\"./diff-props\")\n\nmodule.exports = diff\n\nfunction diff(a, b) {\n var patch = { a: a }\n walk(a, b, patch, 0)\n return patch\n}\n\nfunction walk(a, b, patch, index) {\n if (a === b) {\n return\n }\n\n var apply = patch[index]\n var applyClear = false\n\n if (isThunk(a) || isThunk(b)) {\n thunks(a, b, patch, index)\n } else if (b == null) {\n\n // If a is a widget we will add a remove patch for it\n // Otherwise any child widgets/hooks must be destroyed.\n // This prevents adding two remove patches for a widget.\n if (!isWidget(a)) {\n clearState(a, patch, index)\n apply = patch[index]\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.REMOVE, a, b))\n } else if (isVNode(b)) {\n if (isVNode(a)) {\n if (a.tagName === b.tagName &&\n a.namespace === b.namespace &&\n a.key === b.key) {\n var propsPatch = diffProps(a.properties, b.properties)\n if (propsPatch) {\n apply = appendPatch(apply,\n new VPatch(VPatch.PROPS, a, propsPatch))\n }\n apply = diffChildren(a, b, patch, apply, index)\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else if (isVText(b)) {\n if (!isVText(a)) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n applyClear = true\n } else if (a.text !== b.text) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n }\n } else if (isWidget(b)) {\n if (!isWidget(a)) {\n applyClear = true\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.WIDGET, a, b))\n }\n\n if (apply) {\n patch[index] = apply\n }\n\n if (applyClear) {\n clearState(a, patch, index)\n }\n}\n\nfunction diffChildren(a, b, patch, apply, index) {\n var aChildren = a.children\n var orderedSet = reorder(aChildren, b.children)\n var bChildren = orderedSet.children\n\n var aLen = aChildren.length\n var bLen = bChildren.length\n var len = aLen > bLen ? aLen : bLen\n\n for (var i = 0; i < len; i++) {\n var leftNode = aChildren[i]\n var rightNode = bChildren[i]\n index += 1\n\n if (!leftNode) {\n if (rightNode) {\n // Excess nodes in b need to be added\n apply = appendPatch(apply,\n new VPatch(VPatch.INSERT, null, rightNode))\n }\n } else {\n walk(leftNode, rightNode, patch, index)\n }\n\n if (isVNode(leftNode) && leftNode.count) {\n index += leftNode.count\n }\n }\n\n if (orderedSet.moves) {\n // Reorder nodes last\n apply = appendPatch(apply, new VPatch(\n VPatch.ORDER,\n a,\n orderedSet.moves\n ))\n }\n\n return apply\n}\n\nfunction clearState(vNode, patch, index) {\n // TODO: Make this a single walk, not two\n unhook(vNode, patch, index)\n destroyWidgets(vNode, patch, index)\n}\n\n// Patch records for all destroyed widgets must be added because we need\n// a DOM node reference for the destroy function\nfunction destroyWidgets(vNode, patch, index) {\n if (isWidget(vNode)) {\n if (typeof vNode.destroy === \"function\") {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(VPatch.REMOVE, vNode, null)\n )\n }\n } else if (isVNode(vNode) && (vNode.hasWidgets || vNode.hasThunks)) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n destroyWidgets(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\n// Create a sub-patch for thunks\nfunction thunks(a, b, patch, index) {\n var nodes = handleThunk(a, b)\n var thunkPatch = diff(nodes.a, nodes.b)\n if (hasPatches(thunkPatch)) {\n patch[index] = new VPatch(VPatch.THUNK, null, thunkPatch)\n }\n}\n\nfunction hasPatches(patch) {\n for (var index in patch) {\n if (index !== \"a\") {\n return true\n }\n }\n\n return false\n}\n\n// Execute hooks when two nodes are identical\nfunction unhook(vNode, patch, index) {\n if (isVNode(vNode)) {\n if (vNode.hooks) {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(\n VPatch.PROPS,\n vNode,\n undefinedKeys(vNode.hooks)\n )\n )\n }\n\n if (vNode.descendantHooks || vNode.hasThunks) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n unhook(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\nfunction undefinedKeys(obj) {\n var result = {}\n\n for (var key in obj) {\n result[key] = undefined\n }\n\n return result\n}\n\n// List diff, naive left to right reordering\nfunction reorder(aChildren, bChildren) {\n // O(M) time, O(M) memory\n var bChildIndex = keyIndex(bChildren)\n var bKeys = bChildIndex.keys\n var bFree = bChildIndex.free\n\n if (bFree.length === bChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(N) time, O(N) memory\n var aChildIndex = keyIndex(aChildren)\n var aKeys = aChildIndex.keys\n var aFree = aChildIndex.free\n\n if (aFree.length === aChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(MAX(N, M)) memory\n var newChildren = []\n\n var freeIndex = 0\n var freeCount = bFree.length\n var deletedItems = 0\n\n // Iterate through a and match a node in b\n // O(N) time,\n for (var i = 0 ; i < aChildren.length; i++) {\n var aItem = aChildren[i]\n var itemIndex\n\n if (aItem.key) {\n if (bKeys.hasOwnProperty(aItem.key)) {\n // Match up the old keys\n itemIndex = bKeys[aItem.key]\n newChildren.push(bChildren[itemIndex])\n\n } else {\n // Remove old keyed items\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n } else {\n // Match the item in a with the next free item in b\n if (freeIndex < freeCount) {\n itemIndex = bFree[freeIndex++]\n newChildren.push(bChildren[itemIndex])\n } else {\n // There are no free items in b to match with\n // the free items in a, so the extra free nodes\n // are deleted.\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n }\n }\n\n var lastFreeIndex = freeIndex >= bFree.length ?\n bChildren.length :\n bFree[freeIndex]\n\n // Iterate through b and append any new keys\n // O(M) time\n for (var j = 0; j < bChildren.length; j++) {\n var newItem = bChildren[j]\n\n if (newItem.key) {\n if (!aKeys.hasOwnProperty(newItem.key)) {\n // Add any new keyed items\n // We are adding new items to the end and then sorting them\n // in place. In future we should insert new items in place.\n newChildren.push(newItem)\n }\n } else if (j >= lastFreeIndex) {\n // Add any leftover non-keyed items\n newChildren.push(newItem)\n }\n }\n\n var simulate = newChildren.slice()\n var simulateIndex = 0\n var removes = []\n var inserts = []\n var simulateItem\n\n for (var k = 0; k < bChildren.length;) {\n var wantedItem = bChildren[k]\n simulateItem = simulate[simulateIndex]\n\n // remove items\n while (simulateItem === null && simulate.length) {\n removes.push(remove(simulate, simulateIndex, null))\n simulateItem = simulate[simulateIndex]\n }\n\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n // if we need a key in this position...\n if (wantedItem.key) {\n if (simulateItem && simulateItem.key) {\n // if an insert doesn't put this key in place, it needs to move\n if (bKeys[simulateItem.key] !== k + 1) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n simulateItem = simulate[simulateIndex]\n // if the remove didn't put the wanted item in place, we need to insert it\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n inserts.push({key: wantedItem.key, to: k})\n }\n // items are matching, so skip ahead\n else {\n simulateIndex++\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n k++\n }\n // a key in simulate has no matching wanted key, remove it\n else if (simulateItem && simulateItem.key) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n }\n }\n else {\n simulateIndex++\n k++\n }\n }\n\n // remove all the remaining nodes from simulate\n while(simulateIndex < simulate.length) {\n simulateItem = simulate[simulateIndex]\n removes.push(remove(simulate, simulateIndex, simulateItem && simulateItem.key))\n }\n\n // If the only moves we have are deletes then we can just\n // let the delete patch remove these items.\n if (removes.length === deletedItems && !inserts.length) {\n return {\n children: newChildren,\n moves: null\n }\n }\n\n return {\n children: newChildren,\n moves: {\n removes: removes,\n inserts: inserts\n }\n }\n}\n\nfunction remove(arr, index, key) {\n arr.splice(index, 1)\n\n return {\n from: index,\n key: key\n }\n}\n\nfunction keyIndex(children) {\n var keys = {}\n var free = []\n var length = children.length\n\n for (var i = 0; i < length; i++) {\n var child = children[i]\n\n if (child.key) {\n keys[child.key] = i\n } else {\n free.push(i)\n }\n }\n\n return {\n keys: keys, // A hash of key name to index\n free: free // An array of unkeyed item indices\n }\n}\n\nfunction appendPatch(apply, patch) {\n if (apply) {\n if (isArray(apply)) {\n apply.push(patch)\n } else {\n apply = [apply, patch]\n }\n\n return apply\n } else {\n return patch\n }\n}\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function (require) {\n\n\tvar makePromise = require('./makePromise');\n\tvar Scheduler = require('./Scheduler');\n\tvar async = require('./env').asap;\n\n\treturn makePromise({\n\t\tscheduler: new Scheduler(async)\n\t});\n\n});\n})(typeof define === 'function' && define.amd ? define : function (factory) { module.exports = factory(require); });\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\t// Credit to Twisol (https://github.com/Twisol) for suggesting\n\t// this type of extensible queue + trampoline approach for next-tick conflation.\n\n\t/**\n\t * Async task scheduler\n\t * @param {function} async function to schedule a single async function\n\t * @constructor\n\t */\n\tfunction Scheduler(async) {\n\t\tthis._async = async;\n\t\tthis._running = false;\n\n\t\tthis._queue = this;\n\t\tthis._queueLen = 0;\n\t\tthis._afterQueue = {};\n\t\tthis._afterQueueLen = 0;\n\n\t\tvar self = this;\n\t\tthis.drain = function() {\n\t\t\tself._drain();\n\t\t};\n\t}\n\n\t/**\n\t * Enqueue a task\n\t * @param {{ run:function }} task\n\t */\n\tScheduler.prototype.enqueue = function(task) {\n\t\tthis._queue[this._queueLen++] = task;\n\t\tthis.run();\n\t};\n\n\t/**\n\t * Enqueue a task to run after the main task queue\n\t * @param {{ run:function }} task\n\t */\n\tScheduler.prototype.afterQueue = function(task) {\n\t\tthis._afterQueue[this._afterQueueLen++] = task;\n\t\tthis.run();\n\t};\n\n\tScheduler.prototype.run = function() {\n\t\tif (!this._running) {\n\t\t\tthis._running = true;\n\t\t\tthis._async(this.drain);\n\t\t}\n\t};\n\n\t/**\n\t * Drain the handler queue entirely, and then the after queue\n\t */\n\tScheduler.prototype._drain = function() {\n\t\tvar i = 0;\n\t\tfor (; i < this._queueLen; ++i) {\n\t\t\tthis._queue[i].run();\n\t\t\tthis._queue[i] = void 0;\n\t\t}\n\n\t\tthis._queueLen = 0;\n\t\tthis._running = false;\n\n\t\tfor (i = 0; i < this._afterQueueLen; ++i) {\n\t\t\tthis._afterQueue[i].run();\n\t\t\tthis._afterQueue[i] = void 0;\n\t\t}\n\n\t\tthis._afterQueueLen = 0;\n\t};\n\n\treturn Scheduler;\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\t/**\n\t * Custom error type for promises rejected by promise.timeout\n\t * @param {string} message\n\t * @constructor\n\t */\n\tfunction TimeoutError (message) {\n\t\tError.call(this);\n\t\tthis.message = message;\n\t\tthis.name = TimeoutError.name;\n\t\tif (typeof Error.captureStackTrace === 'function') {\n\t\t\tError.captureStackTrace(this, TimeoutError);\n\t\t}\n\t}\n\n\tTimeoutError.prototype = Object.create(Error.prototype);\n\tTimeoutError.prototype.constructor = TimeoutError;\n\n\treturn TimeoutError;\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\tmakeApply.tryCatchResolve = tryCatchResolve;\n\n\treturn makeApply;\n\n\tfunction makeApply(Promise, call) {\n\t\tif(arguments.length < 2) {\n\t\t\tcall = tryCatchResolve;\n\t\t}\n\n\t\treturn apply;\n\n\t\tfunction apply(f, thisArg, args) {\n\t\t\tvar p = Promise._defer();\n\t\t\tvar l = args.length;\n\t\t\tvar params = new Array(l);\n\t\t\tcallAndResolve({ f:f, thisArg:thisArg, args:args, params:params, i:l-1, call:call }, p._handler);\n\n\t\t\treturn p;\n\t\t}\n\n\t\tfunction callAndResolve(c, h) {\n\t\t\tif(c.i < 0) {\n\t\t\t\treturn call(c.f, c.thisArg, c.params, h);\n\t\t\t}\n\n\t\t\tvar handler = Promise._handler(c.args[c.i]);\n\t\t\thandler.fold(callAndResolveNext, c, void 0, h);\n\t\t}\n\n\t\tfunction callAndResolveNext(c, x, h) {\n\t\t\tc.params[c.i] = x;\n\t\t\tc.i -= 1;\n\t\t\tcallAndResolve(c, h);\n\t\t}\n\t}\n\n\tfunction tryCatchResolve(f, thisArg, args, resolver) {\n\t\ttry {\n\t\t\tresolver.resolve(f.apply(thisArg, args));\n\t\t} catch(e) {\n\t\t\tresolver.reject(e);\n\t\t}\n\t}\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n\n\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function(require) {\n\n\tvar state = require('../state');\n\tvar applier = require('../apply');\n\n\treturn function array(Promise) {\n\n\t\tvar applyFold = applier(Promise);\n\t\tvar toPromise = Promise.resolve;\n\t\tvar all = Promise.all;\n\n\t\tvar ar = Array.prototype.reduce;\n\t\tvar arr = Array.prototype.reduceRight;\n\t\tvar slice = Array.prototype.slice;\n\n\t\t// Additional array combinators\n\n\t\tPromise.any = any;\n\t\tPromise.some = some;\n\t\tPromise.settle = settle;\n\n\t\tPromise.map = map;\n\t\tPromise.filter = filter;\n\t\tPromise.reduce = reduce;\n\t\tPromise.reduceRight = reduceRight;\n\n\t\t/**\n\t\t * When this promise fulfills with an array, do\n\t\t * onFulfilled.apply(void 0, array)\n\t\t * @param {function} onFulfilled function to apply\n\t\t * @returns {Promise} promise for the result of applying onFulfilled\n\t\t */\n\t\tPromise.prototype.spread = function(onFulfilled) {\n\t\t\treturn this.then(all).then(function(array) {\n\t\t\t\treturn onFulfilled.apply(this, array);\n\t\t\t});\n\t\t};\n\n\t\treturn Promise;\n\n\t\t/**\n\t\t * One-winner competitive race.\n\t\t * Return a promise that will fulfill when one of the promises\n\t\t * in the input array fulfills, or will reject when all promises\n\t\t * have rejected.\n\t\t * @param {array} promises\n\t\t * @returns {Promise} promise for the first fulfilled value\n\t\t */\n\t\tfunction any(promises) {\n\t\t\tvar p = Promise._defer();\n\t\t\tvar resolver = p._handler;\n\t\t\tvar l = promises.length>>>0;\n\n\t\t\tvar pending = l;\n\t\t\tvar errors = [];\n\n\t\t\tfor (var h, x, i = 0; i < l; ++i) {\n\t\t\t\tx = promises[i];\n\t\t\t\tif(x === void 0 && !(i in promises)) {\n\t\t\t\t\t--pending;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\th = Promise._handler(x);\n\t\t\t\tif(h.state() > 0) {\n\t\t\t\t\tresolver.become(h);\n\t\t\t\t\tPromise._visitRemaining(promises, i, h);\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\th.visit(resolver, handleFulfill, handleReject);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(pending === 0) {\n\t\t\t\tresolver.reject(new RangeError('any(): array must not be empty'));\n\t\t\t}\n\n\t\t\treturn p;\n\n\t\t\tfunction handleFulfill(x) {\n\t\t\t\t/*jshint validthis:true*/\n\t\t\t\terrors = null;\n\t\t\t\tthis.resolve(x); // this === resolver\n\t\t\t}\n\n\t\t\tfunction handleReject(e) {\n\t\t\t\t/*jshint validthis:true*/\n\t\t\t\tif(this.resolved) { // this === resolver\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\terrors.push(e);\n\t\t\t\tif(--pending === 0) {\n\t\t\t\t\tthis.reject(errors);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * N-winner competitive race\n\t\t * Return a promise that will fulfill when n input promises have\n\t\t * fulfilled, or will reject when it becomes impossible for n\n\t\t * input promises to fulfill (ie when promises.length - n + 1\n\t\t * have rejected)\n\t\t * @param {array} promises\n\t\t * @param {number} n\n\t\t * @returns {Promise} promise for the earliest n fulfillment values\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\tfunction some(promises, n) {\n\t\t\t/*jshint maxcomplexity:7*/\n\t\t\tvar p = Promise._defer();\n\t\t\tvar resolver = p._handler;\n\n\t\t\tvar results = [];\n\t\t\tvar errors = [];\n\n\t\t\tvar l = promises.length>>>0;\n\t\t\tvar nFulfill = 0;\n\t\t\tvar nReject;\n\t\t\tvar x, i; // reused in both for() loops\n\n\t\t\t// First pass: count actual array items\n\t\t\tfor(i=0; i nFulfill) {\n\t\t\t\tresolver.reject(new RangeError('some(): array must contain at least '\n\t\t\t\t+ n + ' item(s), but had ' + nFulfill));\n\t\t\t} else if(nFulfill === 0) {\n\t\t\t\tresolver.resolve(results);\n\t\t\t}\n\n\t\t\t// Second pass: observe each array item, make progress toward goals\n\t\t\tfor(i=0; i 2 ? ar.call(promises, liftCombine(f), arguments[2])\n\t\t\t\t\t: ar.call(promises, liftCombine(f));\n\t\t}\n\n\t\t/**\n\t\t * Traditional reduce function, similar to `Array.prototype.reduceRight()`, but\n\t\t * input may contain promises and/or values, and reduceFunc\n\t\t * may return either a value or a promise, *and* initialValue may\n\t\t * be a promise for the starting value.\n\t\t * @param {Array|Promise} promises array or promise for an array of anything,\n\t\t * may contain a mix of promises and values.\n\t\t * @param {function(accumulated:*, x:*, index:Number):*} f reduce function\n\t\t * @returns {Promise} that will resolve to the final reduced value\n\t\t */\n\t\tfunction reduceRight(promises, f /*, initialValue */) {\n\t\t\treturn arguments.length > 2 ? arr.call(promises, liftCombine(f), arguments[2])\n\t\t\t\t\t: arr.call(promises, liftCombine(f));\n\t\t}\n\n\t\tfunction liftCombine(f) {\n\t\t\treturn function(z, x, i) {\n\t\t\t\treturn applyFold(f, void 0, [z,x,i]);\n\t\t\t};\n\t\t}\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn function flow(Promise) {\n\n\t\tvar resolve = Promise.resolve;\n\t\tvar reject = Promise.reject;\n\t\tvar origCatch = Promise.prototype['catch'];\n\n\t\t/**\n\t\t * Handle the ultimate fulfillment value or rejection reason, and assume\n\t\t * responsibility for all errors. If an error propagates out of result\n\t\t * or handleFatalError, it will be rethrown to the host, resulting in a\n\t\t * loud stack track on most platforms and a crash on some.\n\t\t * @param {function?} onResult\n\t\t * @param {function?} onError\n\t\t * @returns {undefined}\n\t\t */\n\t\tPromise.prototype.done = function(onResult, onError) {\n\t\t\tthis._handler.visit(this._handler.receiver, onResult, onError);\n\t\t};\n\n\t\t/**\n\t\t * Add Error-type and predicate matching to catch. Examples:\n\t\t * promise.catch(TypeError, handleTypeError)\n\t\t * .catch(predicate, handleMatchedErrors)\n\t\t * .catch(handleRemainingErrors)\n\t\t * @param onRejected\n\t\t * @returns {*}\n\t\t */\n\t\tPromise.prototype['catch'] = Promise.prototype.otherwise = function(onRejected) {\n\t\t\tif (arguments.length < 2) {\n\t\t\t\treturn origCatch.call(this, onRejected);\n\t\t\t}\n\n\t\t\tif(typeof onRejected !== 'function') {\n\t\t\t\treturn this.ensure(rejectInvalidPredicate);\n\t\t\t}\n\n\t\t\treturn origCatch.call(this, createCatchFilter(arguments[1], onRejected));\n\t\t};\n\n\t\t/**\n\t\t * Wraps the provided catch handler, so that it will only be called\n\t\t * if the predicate evaluates truthy\n\t\t * @param {?function} handler\n\t\t * @param {function} predicate\n\t\t * @returns {function} conditional catch handler\n\t\t */\n\t\tfunction createCatchFilter(handler, predicate) {\n\t\t\treturn function(e) {\n\t\t\t\treturn evaluatePredicate(e, predicate)\n\t\t\t\t\t? handler.call(this, e)\n\t\t\t\t\t: reject(e);\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Ensures that onFulfilledOrRejected will be called regardless of whether\n\t\t * this promise is fulfilled or rejected. onFulfilledOrRejected WILL NOT\n\t\t * receive the promises' value or reason. Any returned value will be disregarded.\n\t\t * onFulfilledOrRejected may throw or return a rejected promise to signal\n\t\t * an additional error.\n\t\t * @param {function} handler handler to be called regardless of\n\t\t * fulfillment or rejection\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype['finally'] = Promise.prototype.ensure = function(handler) {\n\t\t\tif(typeof handler !== 'function') {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\treturn this.then(function(x) {\n\t\t\t\treturn runSideEffect(handler, this, identity, x);\n\t\t\t}, function(e) {\n\t\t\t\treturn runSideEffect(handler, this, reject, e);\n\t\t\t});\n\t\t};\n\n\t\tfunction runSideEffect (handler, thisArg, propagate, value) {\n\t\t\tvar result = handler.call(thisArg);\n\t\t\treturn maybeThenable(result)\n\t\t\t\t? propagateValue(result, propagate, value)\n\t\t\t\t: propagate(value);\n\t\t}\n\n\t\tfunction propagateValue (result, propagate, x) {\n\t\t\treturn resolve(result).then(function () {\n\t\t\t\treturn propagate(x);\n\t\t\t});\n\t\t}\n\n\t\t/**\n\t\t * Recover from a failure by returning a defaultValue. If defaultValue\n\t\t * is a promise, it's fulfillment value will be used. If defaultValue is\n\t\t * a promise that rejects, the returned promise will reject with the\n\t\t * same reason.\n\t\t * @param {*} defaultValue\n\t\t * @returns {Promise} new promise\n\t\t */\n\t\tPromise.prototype['else'] = Promise.prototype.orElse = function(defaultValue) {\n\t\t\treturn this.then(void 0, function() {\n\t\t\t\treturn defaultValue;\n\t\t\t});\n\t\t};\n\n\t\t/**\n\t\t * Shortcut for .then(function() { return value; })\n\t\t * @param {*} value\n\t\t * @return {Promise} a promise that:\n\t\t * - is fulfilled if value is not a promise, or\n\t\t * - if value is a promise, will fulfill with its value, or reject\n\t\t * with its reason.\n\t\t */\n\t\tPromise.prototype['yield'] = function(value) {\n\t\t\treturn this.then(function() {\n\t\t\t\treturn value;\n\t\t\t});\n\t\t};\n\n\t\t/**\n\t\t * Runs a side effect when this promise fulfills, without changing the\n\t\t * fulfillment value.\n\t\t * @param {function} onFulfilledSideEffect\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype.tap = function(onFulfilledSideEffect) {\n\t\t\treturn this.then(onFulfilledSideEffect)['yield'](this);\n\t\t};\n\n\t\treturn Promise;\n\t};\n\n\tfunction rejectInvalidPredicate() {\n\t\tthrow new TypeError('catch predicate must be a function');\n\t}\n\n\tfunction evaluatePredicate(e, predicate) {\n\t\treturn isError(predicate) ? e instanceof predicate : predicate(e);\n\t}\n\n\tfunction isError(predicate) {\n\t\treturn predicate === Error\n\t\t\t|| (predicate != null && predicate.prototype instanceof Error);\n\t}\n\n\tfunction maybeThenable(x) {\n\t\treturn (typeof x === 'object' || typeof x === 'function') && x !== null;\n\t}\n\n\tfunction identity(x) {\n\t\treturn x;\n\t}\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n/** @author Jeff Escalante */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn function fold(Promise) {\n\n\t\tPromise.prototype.fold = function(f, z) {\n\t\t\tvar promise = this._beget();\n\n\t\t\tthis._handler.fold(function(z, x, to) {\n\t\t\t\tPromise._handler(z).fold(function(x, z, to) {\n\t\t\t\t\tto.resolve(f.call(this, z, x));\n\t\t\t\t}, x, this, to);\n\t\t\t}, z, promise._handler.receiver, promise._handler);\n\n\t\t\treturn promise;\n\t\t};\n\n\t\treturn Promise;\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function(require) {\n\n\tvar inspect = require('../state').inspect;\n\n\treturn function inspection(Promise) {\n\n\t\tPromise.prototype.inspect = function() {\n\t\t\treturn inspect(Promise._handler(this));\n\t\t};\n\n\t\treturn Promise;\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn function generate(Promise) {\n\n\t\tvar resolve = Promise.resolve;\n\n\t\tPromise.iterate = iterate;\n\t\tPromise.unfold = unfold;\n\n\t\treturn Promise;\n\n\t\t/**\n\t\t * @deprecated Use github.com/cujojs/most streams and most.iterate\n\t\t * Generate a (potentially infinite) stream of promised values:\n\t\t * x, f(x), f(f(x)), etc. until condition(x) returns true\n\t\t * @param {function} f function to generate a new x from the previous x\n\t\t * @param {function} condition function that, given the current x, returns\n\t\t * truthy when the iterate should stop\n\t\t * @param {function} handler function to handle the value produced by f\n\t\t * @param {*|Promise} x starting value, may be a promise\n\t\t * @return {Promise} the result of the last call to f before\n\t\t * condition returns true\n\t\t */\n\t\tfunction iterate(f, condition, handler, x) {\n\t\t\treturn unfold(function(x) {\n\t\t\t\treturn [x, f(x)];\n\t\t\t}, condition, handler, x);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated Use github.com/cujojs/most streams and most.unfold\n\t\t * Generate a (potentially infinite) stream of promised values\n\t\t * by applying handler(generator(seed)) iteratively until\n\t\t * condition(seed) returns true.\n\t\t * @param {function} unspool function that generates a [value, newSeed]\n\t\t * given a seed.\n\t\t * @param {function} condition function that, given the current seed, returns\n\t\t * truthy when the unfold should stop\n\t\t * @param {function} handler function to handle the value produced by unspool\n\t\t * @param x {*|Promise} starting value, may be a promise\n\t\t * @return {Promise} the result of the last value produced by unspool before\n\t\t * condition returns true\n\t\t */\n\t\tfunction unfold(unspool, condition, handler, x) {\n\t\t\treturn resolve(x).then(function(seed) {\n\t\t\t\treturn resolve(condition(seed)).then(function(done) {\n\t\t\t\t\treturn done ? seed : resolve(unspool(seed)).spread(next);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tfunction next(item, newSeed) {\n\t\t\t\treturn resolve(handler(item)).then(function() {\n\t\t\t\t\treturn unfold(unspool, condition, handler, newSeed);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn function progress(Promise) {\n\n\t\t/**\n\t\t * @deprecated\n\t\t * Register a progress handler for this promise\n\t\t * @param {function} onProgress\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype.progress = function(onProgress) {\n\t\t\treturn this.then(void 0, void 0, onProgress);\n\t\t};\n\n\t\treturn Promise;\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function(require) {\n\n\tvar env = require('../env');\n\tvar TimeoutError = require('../TimeoutError');\n\n\tfunction setTimeout(f, ms, x, y) {\n\t\treturn env.setTimer(function() {\n\t\t\tf(x, y, ms);\n\t\t}, ms);\n\t}\n\n\treturn function timed(Promise) {\n\t\t/**\n\t\t * Return a new promise whose fulfillment value is revealed only\n\t\t * after ms milliseconds\n\t\t * @param {number} ms milliseconds\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype.delay = function(ms) {\n\t\t\tvar p = this._beget();\n\t\t\tthis._handler.fold(handleDelay, ms, void 0, p._handler);\n\t\t\treturn p;\n\t\t};\n\n\t\tfunction handleDelay(ms, x, h) {\n\t\t\tsetTimeout(resolveDelay, ms, x, h);\n\t\t}\n\n\t\tfunction resolveDelay(x, h) {\n\t\t\th.resolve(x);\n\t\t}\n\n\t\t/**\n\t\t * Return a new promise that rejects after ms milliseconds unless\n\t\t * this promise fulfills earlier, in which case the returned promise\n\t\t * fulfills with the same value.\n\t\t * @param {number} ms milliseconds\n\t\t * @param {Error|*=} reason optional rejection reason to use, defaults\n\t\t * to a TimeoutError if not provided\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype.timeout = function(ms, reason) {\n\t\t\tvar p = this._beget();\n\t\t\tvar h = p._handler;\n\n\t\t\tvar t = setTimeout(onTimeout, ms, reason, p._handler);\n\n\t\t\tthis._handler.visit(h,\n\t\t\t\tfunction onFulfill(x) {\n\t\t\t\t\tenv.clearTimer(t);\n\t\t\t\t\tthis.resolve(x); // this = h\n\t\t\t\t},\n\t\t\t\tfunction onReject(x) {\n\t\t\t\t\tenv.clearTimer(t);\n\t\t\t\t\tthis.reject(x); // this = h\n\t\t\t\t},\n\t\t\t\th.notify);\n\n\t\t\treturn p;\n\t\t};\n\n\t\tfunction onTimeout(reason, h, ms) {\n\t\t\tvar e = typeof reason === 'undefined'\n\t\t\t\t? new TimeoutError('timed out after ' + ms + 'ms')\n\t\t\t\t: reason;\n\t\t\th.reject(e);\n\t\t}\n\n\t\treturn Promise;\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function(require) {\n\n\tvar setTimer = require('../env').setTimer;\n\tvar format = require('../format');\n\n\treturn function unhandledRejection(Promise) {\n\n\t\tvar logError = noop;\n\t\tvar logInfo = noop;\n\t\tvar localConsole;\n\n\t\tif(typeof console !== 'undefined') {\n\t\t\t// Alias console to prevent things like uglify's drop_console option from\n\t\t\t// removing console.log/error. Unhandled rejections fall into the same\n\t\t\t// category as uncaught exceptions, and build tools shouldn't silence them.\n\t\t\tlocalConsole = console;\n\t\t\tlogError = typeof localConsole.error !== 'undefined'\n\t\t\t\t? function (e) { localConsole.error(e); }\n\t\t\t\t: function (e) { localConsole.log(e); };\n\n\t\t\tlogInfo = typeof localConsole.info !== 'undefined'\n\t\t\t\t? function (e) { localConsole.info(e); }\n\t\t\t\t: function (e) { localConsole.log(e); };\n\t\t}\n\n\t\tPromise.onPotentiallyUnhandledRejection = function(rejection) {\n\t\t\tenqueue(report, rejection);\n\t\t};\n\n\t\tPromise.onPotentiallyUnhandledRejectionHandled = function(rejection) {\n\t\t\tenqueue(unreport, rejection);\n\t\t};\n\n\t\tPromise.onFatalRejection = function(rejection) {\n\t\t\tenqueue(throwit, rejection.value);\n\t\t};\n\n\t\tvar tasks = [];\n\t\tvar reported = [];\n\t\tvar running = null;\n\n\t\tfunction report(r) {\n\t\t\tif(!r.handled) {\n\t\t\t\treported.push(r);\n\t\t\t\tlogError('Potentially unhandled rejection [' + r.id + '] ' + format.formatError(r.value));\n\t\t\t}\n\t\t}\n\n\t\tfunction unreport(r) {\n\t\t\tvar i = reported.indexOf(r);\n\t\t\tif(i >= 0) {\n\t\t\t\treported.splice(i, 1);\n\t\t\t\tlogInfo('Handled previous rejection [' + r.id + '] ' + format.formatObject(r.value));\n\t\t\t}\n\t\t}\n\n\t\tfunction enqueue(f, x) {\n\t\t\ttasks.push(f, x);\n\t\t\tif(running === null) {\n\t\t\t\trunning = setTimer(flush, 0);\n\t\t\t}\n\t\t}\n\n\t\tfunction flush() {\n\t\t\trunning = null;\n\t\t\twhile(tasks.length > 0) {\n\t\t\t\ttasks.shift()(tasks.shift());\n\t\t\t}\n\t\t}\n\n\t\treturn Promise;\n\t};\n\n\tfunction throwit(e) {\n\t\tthrow e;\n\t}\n\n\tfunction noop() {}\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn function addWith(Promise) {\n\t\t/**\n\t\t * Returns a promise whose handlers will be called with `this` set to\n\t\t * the supplied receiver. Subsequent promises derived from the\n\t\t * returned promise will also have their handlers called with receiver\n\t\t * as `this`. Calling `with` with undefined or no arguments will return\n\t\t * a promise whose handlers will again be called in the usual Promises/A+\n\t\t * way (no `this`) thus safely undoing any previous `with` in the\n\t\t * promise chain.\n\t\t *\n\t\t * WARNING: Promises returned from `with`/`withThis` are NOT Promises/A+\n\t\t * compliant, specifically violating 2.2.5 (http://promisesaplus.com/#point-41)\n\t\t *\n\t\t * @param {object} receiver `this` value for all handlers attached to\n\t\t * the returned promise.\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype['with'] = Promise.prototype.withThis = function(receiver) {\n\t\t\tvar p = this._beget();\n\t\t\tvar child = p._handler;\n\t\t\tchild.receiver = receiver;\n\t\t\tthis._handler.chain(child, receiver);\n\t\t\treturn p;\n\t\t};\n\n\t\treturn Promise;\n\t};\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n/*global process,document,setTimeout,clearTimeout,MutationObserver,WebKitMutationObserver*/\n(function(define) { 'use strict';\ndefine(function(require) {\n\t/*jshint maxcomplexity:6*/\n\n\t// Sniff \"best\" async scheduling option\n\t// Prefer process.nextTick or MutationObserver, then check for\n\t// setTimeout, and finally vertx, since its the only env that doesn't\n\t// have setTimeout\n\n\tvar MutationObs;\n\tvar capturedSetTimeout = typeof setTimeout !== 'undefined' && setTimeout;\n\n\t// Default env\n\tvar setTimer = function(f, ms) { return setTimeout(f, ms); };\n\tvar clearTimer = function(t) { return clearTimeout(t); };\n\tvar asap = function (f) { return capturedSetTimeout(f, 0); };\n\n\t// Detect specific env\n\tif (isNode()) { // Node\n\t\tasap = function (f) { return process.nextTick(f); };\n\n\t} else if (MutationObs = hasMutationObserver()) { // Modern browser\n\t\tasap = initMutationObserver(MutationObs);\n\n\t} else if (!capturedSetTimeout) { // vert.x\n\t\tvar vertxRequire = require;\n\t\tvar vertx = vertxRequire('vertx');\n\t\tsetTimer = function (f, ms) { return vertx.setTimer(ms, f); };\n\t\tclearTimer = vertx.cancelTimer;\n\t\tasap = vertx.runOnLoop || vertx.runOnContext;\n\t}\n\n\treturn {\n\t\tsetTimer: setTimer,\n\t\tclearTimer: clearTimer,\n\t\tasap: asap\n\t};\n\n\tfunction isNode () {\n\t\treturn typeof process !== 'undefined' &&\n\t\t\tObject.prototype.toString.call(process) === '[object process]';\n\t}\n\n\tfunction hasMutationObserver () {\n\t return (typeof MutationObserver !== 'undefined' && MutationObserver) ||\n\t\t\t(typeof WebKitMutationObserver !== 'undefined' && WebKitMutationObserver);\n\t}\n\n\tfunction initMutationObserver(MutationObserver) {\n\t\tvar scheduled;\n\t\tvar node = document.createTextNode('');\n\t\tvar o = new MutationObserver(run);\n\t\to.observe(node, { characterData: true });\n\n\t\tfunction run() {\n\t\t\tvar f = scheduled;\n\t\t\tscheduled = void 0;\n\t\t\tf();\n\t\t}\n\n\t\tvar i = 0;\n\t\treturn function (f) {\n\t\t\tscheduled = f;\n\t\t\tnode.data = (i ^= 1);\n\t\t};\n\t}\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn {\n\t\tformatError: formatError,\n\t\tformatObject: formatObject,\n\t\ttryStringify: tryStringify\n\t};\n\n\t/**\n\t * Format an error into a string. If e is an Error and has a stack property,\n\t * it's returned. Otherwise, e is formatted using formatObject, with a\n\t * warning added about e not being a proper Error.\n\t * @param {*} e\n\t * @returns {String} formatted string, suitable for output to developers\n\t */\n\tfunction formatError(e) {\n\t\tvar s = typeof e === 'object' && e !== null && (e.stack || e.message) ? e.stack || e.message : formatObject(e);\n\t\treturn e instanceof Error ? s : s + ' (WARNING: non-Error used)';\n\t}\n\n\t/**\n\t * Format an object, detecting \"plain\" objects and running them through\n\t * JSON.stringify if possible.\n\t * @param {Object} o\n\t * @returns {string}\n\t */\n\tfunction formatObject(o) {\n\t\tvar s = String(o);\n\t\tif(s === '[object Object]' && typeof JSON !== 'undefined') {\n\t\t\ts = tryStringify(o, s);\n\t\t}\n\t\treturn s;\n\t}\n\n\t/**\n\t * Try to return the result of JSON.stringify(x). If that fails, return\n\t * defaultValue\n\t * @param {*} x\n\t * @param {*} defaultValue\n\t * @returns {String|*} JSON.stringify(x) or defaultValue\n\t */\n\tfunction tryStringify(x, defaultValue) {\n\t\ttry {\n\t\t\treturn JSON.stringify(x);\n\t\t} catch(e) {\n\t\t\treturn defaultValue;\n\t\t}\n\t}\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n/** @author Brian Cavalier */\n/** @author John Hann */\n\n(function(define) { 'use strict';\ndefine(function() {\n\n\treturn function makePromise(environment) {\n\n\t\tvar tasks = environment.scheduler;\n\t\tvar emitRejection = initEmitRejection();\n\n\t\tvar objectCreate = Object.create ||\n\t\t\tfunction(proto) {\n\t\t\t\tfunction Child() {}\n\t\t\t\tChild.prototype = proto;\n\t\t\t\treturn new Child();\n\t\t\t};\n\n\t\t/**\n\t\t * Create a promise whose fate is determined by resolver\n\t\t * @constructor\n\t\t * @returns {Promise} promise\n\t\t * @name Promise\n\t\t */\n\t\tfunction Promise(resolver, handler) {\n\t\t\tthis._handler = resolver === Handler ? handler : init(resolver);\n\t\t}\n\n\t\t/**\n\t\t * Run the supplied resolver\n\t\t * @param resolver\n\t\t * @returns {Pending}\n\t\t */\n\t\tfunction init(resolver) {\n\t\t\tvar handler = new Pending();\n\n\t\t\ttry {\n\t\t\t\tresolver(promiseResolve, promiseReject, promiseNotify);\n\t\t\t} catch (e) {\n\t\t\t\tpromiseReject(e);\n\t\t\t}\n\n\t\t\treturn handler;\n\n\t\t\t/**\n\t\t\t * Transition from pre-resolution state to post-resolution state, notifying\n\t\t\t * all listeners of the ultimate fulfillment or rejection\n\t\t\t * @param {*} x resolution value\n\t\t\t */\n\t\t\tfunction promiseResolve (x) {\n\t\t\t\thandler.resolve(x);\n\t\t\t}\n\t\t\t/**\n\t\t\t * Reject this promise with reason, which will be used verbatim\n\t\t\t * @param {Error|*} reason rejection reason, strongly suggested\n\t\t\t * to be an Error type\n\t\t\t */\n\t\t\tfunction promiseReject (reason) {\n\t\t\t\thandler.reject(reason);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @deprecated\n\t\t\t * Issue a progress event, notifying all progress listeners\n\t\t\t * @param {*} x progress event payload to pass to all listeners\n\t\t\t */\n\t\t\tfunction promiseNotify (x) {\n\t\t\t\thandler.notify(x);\n\t\t\t}\n\t\t}\n\n\t\t// Creation\n\n\t\tPromise.resolve = resolve;\n\t\tPromise.reject = reject;\n\t\tPromise.never = never;\n\n\t\tPromise._defer = defer;\n\t\tPromise._handler = getHandler;\n\n\t\t/**\n\t\t * Returns a trusted promise. If x is already a trusted promise, it is\n\t\t * returned, otherwise returns a new trusted Promise which follows x.\n\t\t * @param {*} x\n\t\t * @return {Promise} promise\n\t\t */\n\t\tfunction resolve(x) {\n\t\t\treturn isPromise(x) ? x\n\t\t\t\t: new Promise(Handler, new Async(getHandler(x)));\n\t\t}\n\n\t\t/**\n\t\t * Return a reject promise with x as its reason (x is used verbatim)\n\t\t * @param {*} x\n\t\t * @returns {Promise} rejected promise\n\t\t */\n\t\tfunction reject(x) {\n\t\t\treturn new Promise(Handler, new Async(new Rejected(x)));\n\t\t}\n\n\t\t/**\n\t\t * Return a promise that remains pending forever\n\t\t * @returns {Promise} forever-pending promise.\n\t\t */\n\t\tfunction never() {\n\t\t\treturn foreverPendingPromise; // Should be frozen\n\t\t}\n\n\t\t/**\n\t\t * Creates an internal {promise, resolver} pair\n\t\t * @private\n\t\t * @returns {Promise}\n\t\t */\n\t\tfunction defer() {\n\t\t\treturn new Promise(Handler, new Pending());\n\t\t}\n\n\t\t// Transformation and flow control\n\n\t\t/**\n\t\t * Transform this promise's fulfillment value, returning a new Promise\n\t\t * for the transformed result. If the promise cannot be fulfilled, onRejected\n\t\t * is called with the reason. onProgress *may* be called with updates toward\n\t\t * this promise's fulfillment.\n\t\t * @param {function=} onFulfilled fulfillment handler\n\t\t * @param {function=} onRejected rejection handler\n\t\t * @param {function=} onProgress @deprecated progress handler\n\t\t * @return {Promise} new promise\n\t\t */\n\t\tPromise.prototype.then = function(onFulfilled, onRejected, onProgress) {\n\t\t\tvar parent = this._handler;\n\t\t\tvar state = parent.join().state();\n\n\t\t\tif ((typeof onFulfilled !== 'function' && state > 0) ||\n\t\t\t\t(typeof onRejected !== 'function' && state < 0)) {\n\t\t\t\t// Short circuit: value will not change, simply share handler\n\t\t\t\treturn new this.constructor(Handler, parent);\n\t\t\t}\n\n\t\t\tvar p = this._beget();\n\t\t\tvar child = p._handler;\n\n\t\t\tparent.chain(child, parent.receiver, onFulfilled, onRejected, onProgress);\n\n\t\t\treturn p;\n\t\t};\n\n\t\t/**\n\t\t * If this promise cannot be fulfilled due to an error, call onRejected to\n\t\t * handle the error. Shortcut for .then(undefined, onRejected)\n\t\t * @param {function?} onRejected\n\t\t * @return {Promise}\n\t\t */\n\t\tPromise.prototype['catch'] = function(onRejected) {\n\t\t\treturn this.then(void 0, onRejected);\n\t\t};\n\n\t\t/**\n\t\t * Creates a new, pending promise of the same type as this promise\n\t\t * @private\n\t\t * @returns {Promise}\n\t\t */\n\t\tPromise.prototype._beget = function() {\n\t\t\treturn begetFrom(this._handler, this.constructor);\n\t\t};\n\n\t\tfunction begetFrom(parent, Promise) {\n\t\t\tvar child = new Pending(parent.receiver, parent.join().context);\n\t\t\treturn new Promise(Handler, child);\n\t\t}\n\n\t\t// Array combinators\n\n\t\tPromise.all = all;\n\t\tPromise.race = race;\n\t\tPromise._traverse = traverse;\n\n\t\t/**\n\t\t * Return a promise that will fulfill when all promises in the\n\t\t * input array have fulfilled, or will reject when one of the\n\t\t * promises rejects.\n\t\t * @param {array} promises array of promises\n\t\t * @returns {Promise} promise for array of fulfillment values\n\t\t */\n\t\tfunction all(promises) {\n\t\t\treturn traverseWith(snd, null, promises);\n\t\t}\n\n\t\t/**\n\t\t * Array> -> Promise>\n\t\t * @private\n\t\t * @param {function} f function to apply to each promise's value\n\t\t * @param {Array} promises array of promises\n\t\t * @returns {Promise} promise for transformed values\n\t\t */\n\t\tfunction traverse(f, promises) {\n\t\t\treturn traverseWith(tryCatch2, f, promises);\n\t\t}\n\n\t\tfunction traverseWith(tryMap, f, promises) {\n\t\t\tvar handler = typeof f === 'function' ? mapAt : settleAt;\n\n\t\t\tvar resolver = new Pending();\n\t\t\tvar pending = promises.length >>> 0;\n\t\t\tvar results = new Array(pending);\n\n\t\t\tfor (var i = 0, x; i < promises.length && !resolver.resolved; ++i) {\n\t\t\t\tx = promises[i];\n\n\t\t\t\tif (x === void 0 && !(i in promises)) {\n\t\t\t\t\t--pending;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttraverseAt(promises, handler, i, x, resolver);\n\t\t\t}\n\n\t\t\tif(pending === 0) {\n\t\t\t\tresolver.become(new Fulfilled(results));\n\t\t\t}\n\n\t\t\treturn new Promise(Handler, resolver);\n\n\t\t\tfunction mapAt(i, x, resolver) {\n\t\t\t\tif(!resolver.resolved) {\n\t\t\t\t\ttraverseAt(promises, settleAt, i, tryMap(f, x, i), resolver);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction settleAt(i, x, resolver) {\n\t\t\t\tresults[i] = x;\n\t\t\t\tif(--pending === 0) {\n\t\t\t\t\tresolver.become(new Fulfilled(results));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction traverseAt(promises, handler, i, x, resolver) {\n\t\t\tif (maybeThenable(x)) {\n\t\t\t\tvar h = getHandlerMaybeThenable(x);\n\t\t\t\tvar s = h.state();\n\n\t\t\t\tif (s === 0) {\n\t\t\t\t\th.fold(handler, i, void 0, resolver);\n\t\t\t\t} else if (s > 0) {\n\t\t\t\t\thandler(i, h.value, resolver);\n\t\t\t\t} else {\n\t\t\t\t\tresolver.become(h);\n\t\t\t\t\tvisitRemaining(promises, i+1, h);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thandler(i, x, resolver);\n\t\t\t}\n\t\t}\n\n\t\tPromise._visitRemaining = visitRemaining;\n\t\tfunction visitRemaining(promises, start, handler) {\n\t\t\tfor(var i=start; i 0 ? toFulfilledState(handler.value)\n\t\t\t : toRejectedState(handler.value);\n\t}\n\n});\n}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(); }));\n", "/** @license MIT License (c) copyright 2010-2014 original author or authors */\n\n/**\n * Promises/A+ and when() implementation\n * when is part of the cujoJS family of libraries (http://cujojs.com/)\n * @author Brian Cavalier\n * @author John Hann\n */\n(function(define) { 'use strict';\ndefine(function (require) {\n\n\tvar timed = require('./lib/decorators/timed');\n\tvar array = require('./lib/decorators/array');\n\tvar flow = require('./lib/decorators/flow');\n\tvar fold = require('./lib/decorators/fold');\n\tvar inspect = require('./lib/decorators/inspect');\n\tvar generate = require('./lib/decorators/iterate');\n\tvar progress = require('./lib/decorators/progress');\n\tvar withThis = require('./lib/decorators/with');\n\tvar unhandledRejection = require('./lib/decorators/unhandledRejection');\n\tvar TimeoutError = require('./lib/TimeoutError');\n\n\tvar Promise = [array, flow, fold, generate, progress,\n\t\tinspect, withThis, timed, unhandledRejection]\n\t\t.reduce(function(Promise, feature) {\n\t\t\treturn feature(Promise);\n\t\t}, require('./lib/Promise'));\n\n\tvar apply = require('./lib/apply')(Promise);\n\n\t// Public API\n\n\twhen.promise = promise; // Create a pending promise\n\twhen.resolve = Promise.resolve; // Create a resolved promise\n\twhen.reject = Promise.reject; // Create a rejected promise\n\n\twhen.lift = lift; // lift a function to return promises\n\twhen['try'] = attempt; // call a function and return a promise\n\twhen.attempt = attempt; // alias for when.try\n\n\twhen.iterate = Promise.iterate; // DEPRECATED (use cujojs/most streams) Generate a stream of promises\n\twhen.unfold = Promise.unfold; // DEPRECATED (use cujojs/most streams) Generate a stream of promises\n\n\twhen.join = join; // Join 2 or more promises\n\n\twhen.all = all; // Resolve a list of promises\n\twhen.settle = settle; // Settle a list of promises\n\n\twhen.any = lift(Promise.any); // One-winner race\n\twhen.some = lift(Promise.some); // Multi-winner race\n\twhen.race = lift(Promise.race); // First-to-settle race\n\n\twhen.map = map; // Array.map() for promises\n\twhen.filter = filter; // Array.filter() for promises\n\twhen.reduce = lift(Promise.reduce); // Array.reduce() for promises\n\twhen.reduceRight = lift(Promise.reduceRight); // Array.reduceRight() for promises\n\n\twhen.isPromiseLike = isPromiseLike; // Is something promise-like, aka thenable\n\n\twhen.Promise = Promise; // Promise constructor\n\twhen.defer = defer; // Create a {promise, resolve, reject} tuple\n\n\t// Error types\n\n\twhen.TimeoutError = TimeoutError;\n\n\t/**\n\t * Get a trusted promise for x, or by transforming x with onFulfilled\n\t *\n\t * @param {*} x\n\t * @param {function?} onFulfilled callback to be called when x is\n\t * successfully fulfilled. If promiseOrValue is an immediate value, callback\n\t * will be invoked immediately.\n\t * @param {function?} onRejected callback to be called when x is\n\t * rejected.\n\t * @param {function?} onProgress callback to be called when progress updates\n\t * are issued for x. @deprecated\n\t * @returns {Promise} a new promise that will fulfill with the return\n\t * value of callback or errback or the completion value of promiseOrValue if\n\t * callback and/or errback is not supplied.\n\t */\n\tfunction when(x, onFulfilled, onRejected, onProgress) {\n\t\tvar p = Promise.resolve(x);\n\t\tif (arguments.length < 2) {\n\t\t\treturn p;\n\t\t}\n\n\t\treturn p.then(onFulfilled, onRejected, onProgress);\n\t}\n\n\t/**\n\t * Creates a new promise whose fate is determined by resolver.\n\t * @param {function} resolver function(resolve, reject, notify)\n\t * @returns {Promise} promise whose fate is determine by resolver\n\t */\n\tfunction promise(resolver) {\n\t\treturn new Promise(resolver);\n\t}\n\n\t/**\n\t * Lift the supplied function, creating a version of f that returns\n\t * promises, and accepts promises as arguments.\n\t * @param {function} f\n\t * @returns {Function} version of f that returns promises\n\t */\n\tfunction lift(f) {\n\t\treturn function() {\n\t\t\tfor(var i=0, l=arguments.length, a=new Array(l); i {\n imageByKey: { [key: string]: T };\n}\n\ninterface IImageCloseTo {\n imageCloseTo: { [key: string]: T };\n}\n\ninterface IImagesByH {\n imagesByH: { [key: string]: { [index: string]: T } };\n}\n\ninterface ISequenceByKey {\n sequenceByKey: { [sequenceKey: string]: T };\n}\n\ntype APIPath =\n \"imageByKey\" |\n \"imageCloseTo\" |\n \"imagesByH\" |\n \"imageViewAdd\" |\n \"sequenceByKey\" |\n \"sequenceViewAdd\";\n\n/**\n * @class APIv3\n *\n * @classdesc Provides methods for access of API v3.\n */\nexport class APIv3 {\n private _clientId: string;\n\n private _model: falcor.Model;\n private _modelCreator: ModelCreator;\n\n private _pageCount: number;\n\n private _pathImageByKey: APIPath;\n private _pathImageCloseTo: APIPath;\n private _pathImagesByH: APIPath;\n private _pathImageViewAdd: APIPath;\n private _pathSequenceByKey: APIPath;\n private _pathSequenceViewAdd: APIPath;\n\n private _propertiesCore: string[];\n private _propertiesFill: string[];\n private _propertiesKey: string[];\n private _propertiesSequence: string[];\n private _propertiesSpatial: string[];\n private _propertiesUser: string[];\n\n /**\n * Create a new api v3 instance.\n *\n * @param {number} clientId - Client id for API requests.\n * @param {number} [token] - Optional bearer token for API requests of\n * protected resources.\n * @param {ModelCreator} [creator] - Optional model creator instance.\n */\n constructor(clientId: string, token?: string, creator?: ModelCreator) {\n this._clientId = clientId;\n\n this._modelCreator = creator != null ? creator : new ModelCreator();\n this._model = this._modelCreator.createModel(clientId, token);\n\n this._pageCount = 999;\n\n this._pathImageByKey = \"imageByKey\";\n this._pathImageCloseTo = \"imageCloseTo\";\n this._pathImagesByH = \"imagesByH\";\n this._pathImageViewAdd = \"imageViewAdd\";\n this._pathSequenceByKey = \"sequenceByKey\";\n this._pathSequenceViewAdd = \"sequenceViewAdd\";\n\n this._propertiesCore = [\n \"cl\",\n \"l\",\n \"sequence_key\",\n ];\n\n this._propertiesFill = [\n \"captured_at\",\n \"captured_with_camera_uuid\",\n \"user\",\n \"organization_key\",\n \"private\",\n \"project\",\n ];\n\n this._propertiesKey = [\n \"key\",\n ];\n\n this._propertiesSequence = [\n \"keys\",\n ];\n\n this._propertiesSpatial = [\n \"atomic_scale\",\n \"c_rotation\",\n \"ca\",\n \"calt\",\n \"camera_projection_type\",\n \"cca\",\n \"cfocal\",\n \"ck1\",\n \"ck2\",\n \"gpano\",\n \"height\",\n \"merge_cc\",\n \"merge_version\",\n \"orientation\",\n \"width\",\n ];\n\n this._propertiesUser = [\n \"username\",\n ];\n }\n\n public imageByKeyFill$(keys: string[]): Observable<{ [key: string]: IFillNode }> {\n return this._catchInvalidateGet$(\n this._wrapModelResponse$>>(this._model.get([\n this._pathImageByKey,\n keys,\n this._propertiesKey\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)])).pipe(\n map(\n (value: falcor.JSONEnvelope>): { [key: string]: IFillNode } => {\n if (!value) {\n throw new Error(`Images (${keys.join(\", \")}) could not be found.`);\n }\n\n return value.json.imageByKey;\n })),\n this._pathImageByKey,\n keys);\n }\n\n public imageByKeyFull$(keys: string[]): Observable<{ [key: string]: IFullNode }> {\n return this._catchInvalidateGet$(\n this._wrapModelResponse$>>(this._model.get([\n this._pathImageByKey,\n keys,\n this._propertiesKey\n .concat(this._propertiesCore)\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)])).pipe(\n map(\n (value: falcor.JSONEnvelope>): { [key: string]: IFullNode } => {\n if (!value) {\n throw new Error(`Images (${keys.join(\", \")}) could not be found.`);\n }\n\n return value.json.imageByKey;\n })),\n this._pathImageByKey,\n keys);\n }\n\n public imageCloseTo$(lat: number, lon: number): Observable {\n let lonLat: string = `${lon}:${lat}`;\n return this._catchInvalidateGet$(\n this._wrapModelResponse$>>(this._model.get([\n this._pathImageCloseTo,\n [lonLat],\n this._propertiesKey\n .concat(this._propertiesCore)\n .concat(this._propertiesFill)\n .concat(this._propertiesSpatial),\n this._propertiesKey\n .concat(this._propertiesUser)])).pipe(\n map(\n (value: falcor.JSONEnvelope>): IFullNode => {\n return value != null ? value.json.imageCloseTo[lonLat] : null;\n })),\n this._pathImageCloseTo,\n [lonLat]);\n }\n\n public imagesByH$(hs: string[]): Observable<{ [h: string]: { [index: string]: ICoreNode } }> {\n return this._catchInvalidateGet$(\n this._wrapModelResponse$>>(this._model.get([\n this._pathImagesByH,\n hs,\n { from: 0, to: this._pageCount },\n this._propertiesKey\n .concat(this._propertiesCore)])).pipe(\n map(\n (value: falcor.JSONEnvelope>): { [h: string]: { [index: string]: ICoreNode } } => {\n if (!value) {\n value = { json: { imagesByH: {} } };\n for (let h of hs) {\n value.json.imagesByH[h] = {};\n for (let i: number = 0; i <= this._pageCount; i++) {\n value.json.imagesByH[h][i] = null;\n }\n }\n }\n\n return value.json.imagesByH;\n })),\n this._pathImagesByH,\n hs);\n }\n\n public imageViewAdd$(keys: string[]): Observable {\n return this._catchInvalidateCall$(\n this._wrapCallModelResponse$(\n this._model.call(\n [this._pathImageViewAdd],\n [keys])),\n this._pathImageViewAdd,\n keys);\n }\n\n public invalidateImageByKey(keys: string[]): void {\n this._invalidateGet(this._pathImageByKey, keys);\n }\n\n public invalidateImagesByH(hs: string[]): void {\n this._invalidateGet(this._pathImagesByH, hs);\n }\n\n public invalidateSequenceByKey(sKeys: string[]): void {\n this._invalidateGet(this._pathSequenceByKey, sKeys);\n }\n\n public setToken(token?: string): void {\n this._model.invalidate([]);\n this._model = null;\n this._model = this._modelCreator.createModel(this._clientId, token);\n }\n\n public sequenceByKey$(sequenceKeys: string[]): Observable<{ [sequenceKey: string]: ISequence }> {\n return this._catchInvalidateGet$(\n this._wrapModelResponse$>>(this._model.get([\n this._pathSequenceByKey,\n sequenceKeys,\n this._propertiesKey\n .concat(this._propertiesSequence)])).pipe(\n map(\n (value: falcor.JSONEnvelope>): { [sequenceKey: string]: ISequence } => {\n if (!value) {\n value = { json: { sequenceByKey: {} } };\n }\n\n for (const sequenceKey of sequenceKeys) {\n if (!(sequenceKey in value.json.sequenceByKey)) {\n console.warn(`Sequence data missing (${sequenceKey})`);\n\n value.json.sequenceByKey[sequenceKey] = { key: sequenceKey, keys: [] };\n }\n }\n\n return value.json.sequenceByKey;\n })),\n this._pathSequenceByKey,\n sequenceKeys);\n }\n\n public sequenceViewAdd$(sequenceKeys: string[]): Observable {\n return this._catchInvalidateCall$(\n this._wrapCallModelResponse$(\n this._model.call(\n [this._pathSequenceViewAdd],\n [sequenceKeys])),\n this._pathSequenceViewAdd,\n sequenceKeys);\n }\n\n public get clientId(): string {\n return this._clientId;\n }\n\n private _catchInvalidateGet$(observable: Observable, path: APIPath, paths: string[]): Observable {\n return observable.pipe(\n catchError(\n (error: Error): Observable => {\n this._invalidateGet(path, paths);\n\n throw error;\n }));\n }\n\n private _catchInvalidateCall$(observable: Observable, path: APIPath, paths: string[]): Observable {\n return observable.pipe(\n catchError(\n (error: Error): Observable => {\n this._invalidateCall(path, paths);\n\n throw error;\n }));\n }\n\n private _invalidateGet(path: APIPath, paths: string[]): void {\n this._model.invalidate([path, paths]);\n }\n\n private _invalidateCall(path: APIPath, paths: string[]): void {\n this._model.invalidate([path], [paths]);\n }\n\n private _wrapModelResponse$(modelResponse: falcor.ModelResponse): Observable {\n return Observable\n .create(\n (subscriber: Subscriber): void => {\n modelResponse\n .then(\n (value: T): void => {\n subscriber.next(value);\n subscriber.complete();\n },\n (error: Error): void => {\n subscriber.error(error);\n });\n });\n }\n\n private _wrapCallModelResponse$(modelResponse: falcor.ModelResponse>): Observable {\n return this._wrapModelResponse$(modelResponse).pipe(\n map, T>(\n (value: falcor.JSONEnvelope): T => {\n return;\n }));\n }\n}\n\nexport default APIv3;\n", "import * as falcor from \"falcor\";\nimport XmlHttpSource from \"falcor-http-datasource\";\n\nimport {Urls} from \"../Utils\";\n\ntype HttpDataSourceConfiguration = {\n crossDomain: boolean;\n withCredentials: boolean;\n headers?: { [key: string]: string } ;\n};\n\n/**\n * @class ModelCreator\n *\n * @classdesc Creates API models.\n */\nexport class ModelCreator {\n /**\n * Creates a Falcor model.\n *\n * @description Max cache size will be set to 16 MB. Authorization\n * header will be added if bearer token is supplied.\n *\n * @param {number} clientId - Client id for API requests.\n * @param {number} [token] - Optional bearer token for API requests of\n * protected resources.\n * @returns {falcor.Model} Falcor model for HTTP requests.\n */\n public createModel(clientId: string, token?: string): falcor.Model {\n const configuration: HttpDataSourceConfiguration = {\n crossDomain: true,\n withCredentials: false,\n };\n\n if (token != null) {\n configuration.headers = { \"Authorization\": `Bearer ${token}` };\n }\n\n return new falcor.Model({\n maxSize: 16 * 1024 * 1024,\n source: new XmlHttpSource(Urls.falcorModel(clientId), configuration),\n });\n }\n}\n\nexport default ModelCreator;\n", "import {combineLatest as observableCombineLatest, Observable, Subscription} from \"rxjs\";\n\nimport {map} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\n\nimport {\n ComponentService,\n Component,\n IComponentConfiguration,\n} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {\n IVNodeHash,\n ISize,\n} from \"../Render\";\nimport {Urls} from \"../Utils\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\n\nexport class AttributionComponent extends Component {\n public static componentName: string = \"attribution\";\n private _disposable: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._disposable = observableCombineLatest(\n this._navigator.stateService.currentNode$,\n this._container.renderService.size$).pipe(\n map(\n ([node, size]: [Node, ISize]): IVNodeHash => {\n return {\n name: this._name,\n vnode: this._getAttributionNode(node.username, node.key, node.capturedAt, size.width),\n };\n }))\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._disposable.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getAttributionNode(username: string, key: string, capturedAt: number, width: number): vd.VNode {\n const compact: boolean = width <= 640;\n\n const mapillaryIcon: vd.VNode = vd.h(\"div.AttributionMapillaryLogo\", []);\n const mapillaryLink: vd.VNode = vd.h(\n \"a.AttributionIconContainer\",\n { href: Urls.explore, target: \"_blank\" },\n [mapillaryIcon]);\n\n const imageBy: string = compact ? `${username}` : `image by ${username}`;\n const imageByContent: vd.VNode = vd.h(\"div.AttributionUsername\", { textContent: imageBy }, []);\n\n const date: string[] = new Date(capturedAt).toDateString().split(\" \");\n const formatted: string = (date.length > 3 ?\n compact ?\n [date[3]] :\n [date[1], date[2] + \",\", date[3]] :\n date).join(\" \");\n\n const dateContent: vd.VNode = vd.h(\"div.AttributionDate\", { textContent: formatted }, []);\n\n const imageLink: vd.VNode =\n vd.h(\n \"a.AttributionImageContainer\",\n { href: Urls.exporeImage(key), target: \"_blank\" },\n [imageByContent, dateContent]);\n\n const compactClass: string = compact ? \".AttributionCompact\" : \"\";\n\n return vd.h(\"div.AttributionContainer\" + compactClass, {}, [mapillaryLink, imageLink]);\n }\n }\n\nComponentService.register(AttributionComponent);\nexport default AttributionComponent;\n", "import * as vd from \"virtual-dom\";\n\nimport {Container, Navigator} from \"../Viewer\";\n\nimport {ComponentService, Component, IComponentConfiguration} from \"../Component\";\n\nexport class BackgroundComponent extends Component {\n public static componentName: string = \"background\";\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._container.domRenderer.render$\n .next({name: this._name, vnode: this._getBackgroundNode(\"The viewer can't display the given image.\")});\n }\n\n protected _deactivate(): void {\n return;\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getBackgroundNode(notice: string): vd.VNode {\n // todo: add condition for when to display the DOM node\n return vd.h(\"div.BackgroundWrapper\", {}, [\n vd.h(\"p\", {textContent: notice}, []),\n ]);\n }\n}\n\nComponentService.register(BackgroundComponent);\nexport default BackgroundComponent;\n", "import {distinctUntilChanged, map, switchMap, takeWhile, scan, skip} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\nimport * as UnitBezier from \"@mapbox/unitbezier\";\n\nimport {\n Observable,\n Subscription,\n combineLatest as observableCombineLatest,\n Subject,\n} from \"rxjs\";\n\nimport {\n Component,\n ComponentService,\n} from \"../Component\";\nimport {\n Spatial, Transform, Geo,\n} from \"../Geo\";\nimport {Node} from \"../Graph\";\nimport {\n IVNodeHash,\n RenderCamera,\n} from \"../Render\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\nimport { IFrame } from \"../state/interfaces/IFrame\";\nimport ViewportCoords from \"../geo/ViewportCoords\";\nimport IBearingConfiguration from \"./interfaces/IBearingConfiguration\";\nimport ISize from \"../render/interfaces/ISize\";\nimport ComponentSize from \"./utils/ComponentSize\";\n\ntype NodeFov = [number, number];\n\ntype NodeBearingFov = [number, number, number];\n\ntype NodeFovState = {\n alpha: number,\n curr: NodeFov,\n prev: NodeFov,\n};\n\ninterface INodeFovOperation {\n (state: NodeFovState): NodeFovState;\n}\n\n/**\n * @class BearingComponent\n *\n * @classdesc Component for indicating bearing and field of view.\n *\n * @example\n * ```\n * var viewer = new Mapillary.Viewer(\n * \"\",\n * \"\",\n * \"\");\n *\n * var bearingComponent = viewer.getComponent(\"bearing\");\n * bearingComponent.configure({ size: Mapillary.ComponentSize.Small });\n * ```\n */\nexport class BearingComponent extends Component {\n public static componentName: string = \"bearing\";\n\n private _spatial: Spatial;\n private _viewportCoords: ViewportCoords;\n\n private _svgNamespace: string;\n private _distinctThreshold: number;\n\n private _animationSpeed: number;\n private _unitBezier: UnitBezier;\n\n private _renderSubscription: Subscription;\n private _fovSubscription: Subscription;\n private _fovAnimationSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n\n this._spatial = new Spatial();\n this._viewportCoords = new ViewportCoords();\n\n this._svgNamespace = \"http://www.w3.org/2000/svg\";\n this._distinctThreshold = Math.PI / 360;\n\n this._animationSpeed = 0.075;\n this._unitBezier = new UnitBezier(0.74, 0.67, 0.38, 0.96);\n }\n\n protected _activate(): void {\n const cameraBearingFov$: Observable<[number, number]> = this._container.renderService.renderCamera$.pipe(\n map(\n (rc: RenderCamera): [number, number] => {\n let vFov: number = this._spatial.degToRad(rc.perspective.fov);\n let hFov: number = rc.perspective.aspect === Number.POSITIVE_INFINITY ?\n Math.PI :\n Math.atan(rc.perspective.aspect * Math.tan(0.5 * vFov)) * 2;\n\n return [this._spatial.azimuthalToBearing(rc.rotation.phi), hFov];\n }),\n distinctUntilChanged(\n (a1: [number, number], a2: [number, number]): boolean => {\n return Math.abs(a2[0] - a1[0]) < this._distinctThreshold &&\n Math.abs(a2[1] - a1[1]) < this._distinctThreshold;\n }));\n\n const nodeFov$: Observable = observableCombineLatest(\n this._navigator.stateService.currentState$.pipe(\n distinctUntilChanged(\n undefined,\n (frame: IFrame): string => {\n return frame.state.currentNode.key;\n })),\n this._navigator.panService.panNodes$).pipe(\n map(\n ([frame, panNodes]: [IFrame, [Node, Transform, number][]]): NodeFov => {\n const node: Node = frame.state.currentNode;\n const transform: Transform = frame.state.currentTransform;\n\n if (node.pano) {\n let panoHFov: number = 2 * Math.PI * node.gpano.CroppedAreaImageWidthPixels / node.gpano.FullPanoWidthPixels;\n\n return [panoHFov / 2, panoHFov / 2];\n }\n\n const currentProjectedPoints: number[][] = this._computeProjectedPoints(transform);\n const hFov: number = this._spatial.degToRad(this._computeHorizontalFov(currentProjectedPoints));\n\n let hFovLeft: number = hFov / 2;\n let hFovRight: number = hFov / 2;\n\n for (const [n, , f] of panNodes) {\n const diff: number = this._spatial.wrap(n.ca - node.ca, -180, 180);\n if (diff < 0) {\n hFovLeft = this._spatial.degToRad(Math.abs(diff)) + f / 2;\n } else {\n hFovRight = this._spatial.degToRad(Math.abs(diff)) + f / 2;\n }\n }\n\n return [hFovLeft, hFovRight];\n }),\n distinctUntilChanged(\n (\n [hFovLeft1, hFovRight1]: NodeFov,\n [hFovLeft2, hFovRight2]: NodeFov): boolean => {\n\n return Math.abs(hFovLeft2 - hFovLeft1) < this._distinctThreshold &&\n Math.abs(hFovRight2 - hFovRight1) < this._distinctThreshold;\n }));\n\n const offset$: Observable = observableCombineLatest(\n this._navigator.stateService.currentState$.pipe(\n distinctUntilChanged(\n undefined,\n (frame: IFrame): string => {\n return frame.state.currentNode.key;\n })),\n this._container.renderService.bearing$).pipe(\n map(\n ([frame, bearing]: [IFrame, number]): number => {\n const offset: number = this._spatial.degToRad(frame.state.currentNode.ca - bearing);\n\n return offset;\n }));\n\n const nodeFovOperation$: Subject = new Subject();\n\n const smoothNodeFov$: Observable = nodeFovOperation$.pipe(\n scan(\n (state: NodeFovState, operation: INodeFovOperation): NodeFovState => {\n return operation(state);\n },\n { alpha: 0, curr: [0, 0, 0], prev: [0, 0, 0] }),\n map(\n (state: NodeFovState): NodeFov => {\n const alpha: number = this._unitBezier.solve(state.alpha);\n const curr: NodeFov = state.curr;\n const prev: NodeFov = state.prev;\n\n return [\n this._interpolate(prev[0], curr[0], alpha),\n this._interpolate(prev[1], curr[1], alpha),\n ];\n }));\n\n this._fovSubscription = nodeFov$.pipe(\n map(\n (nbf: NodeFov): INodeFovOperation => {\n return (state: NodeFovState): NodeFovState => {\n const a: number = this._unitBezier.solve(state.alpha);\n const c: NodeFov = state.curr;\n const p: NodeFov = state.prev;\n\n const prev: NodeFov = [\n this._interpolate(p[0], c[0], a),\n this._interpolate(p[1], c[1], a),\n ];\n\n const curr: NodeFov = nbf.slice();\n\n return {\n alpha: 0,\n curr: curr,\n prev: prev,\n };\n };\n }))\n .subscribe(nodeFovOperation$);\n\n this._fovAnimationSubscription = nodeFov$.pipe(\n switchMap(\n (): Observable => {\n return this._container.renderService.renderCameraFrame$.pipe(\n skip(1),\n scan(\n (alpha: number): number => {\n return alpha + this._animationSpeed;\n },\n 0),\n takeWhile(\n (alpha: number): boolean => {\n return alpha <= 1 + this._animationSpeed;\n }),\n map(\n (alpha: number): number => {\n return Math.min(alpha, 1);\n }));\n }),\n map(\n (alpha: number): INodeFovOperation => {\n return (nbfState: NodeFovState): NodeFovState => {\n return {\n alpha: alpha,\n curr: nbfState.curr.slice(),\n prev: nbfState.prev.slice(),\n };\n };\n }))\n .subscribe(nodeFovOperation$);\n\n const nodeBearingFov$: Observable = observableCombineLatest(\n offset$,\n smoothNodeFov$).pipe(\n map(\n ([offset, fov]: [number, NodeFov]): NodeBearingFov => {\n return [offset, fov[0], fov[1]];\n }));\n\n this._renderSubscription = observableCombineLatest(\n cameraBearingFov$,\n nodeBearingFov$,\n this._configuration$,\n this._container.renderService.size$).pipe(\n map(\n ([[cb, cf], [no, nfl, nfr], configuration, size]:\n [[number, number], [number, number, number], IBearingConfiguration, ISize]): IVNodeHash => {\n\n const background: vd.VNode = this._createBackground(cb);\n const fovIndicator: vd.VNode = this._createFovIndicator(nfl, nfr, no);\n const north: vd.VNode = this._createNorth(cb);\n const cameraSector: vd.VNode = this._createCircleSectorCompass(\n this._createCircleSector(Math.max(Math.PI / 20, cf), \"#FFF\"));\n\n const compact: string = configuration.size === ComponentSize.Small ||\n configuration.size === ComponentSize.Automatic && size.width < 640 ?\n \".BearingCompact\" : \"\";\n\n return {\n name: this._name,\n vnode: vd.h(\n \"div.BearingIndicatorContainer\" + compact,\n { oncontextmenu: (event: MouseEvent): void => { event.preventDefault(); } },\n [\n background,\n fovIndicator,\n north,\n cameraSector,\n ]),\n };\n }))\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._renderSubscription.unsubscribe();\n this._fovSubscription.unsubscribe();\n this._fovAnimationSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IBearingConfiguration {\n return { size: ComponentSize.Automatic };\n }\n\n private _createFovIndicator(fovLeft: number, fovRigth: number, offset: number): vd.VNode {\n const arc: vd.VNode = this._createFovArc(fovLeft, fovRigth);\n\n const group: vd.VNode =\n vd.h(\n \"g\",\n {\n attributes: { transform: \"translate(18,18)\" },\n namespace: this._svgNamespace,\n },\n [arc]);\n\n const svg: vd.VNode =\n vd.h(\n \"svg\",\n {\n attributes: { viewBox: \"0 0 36 36\" },\n namespace: this._svgNamespace,\n style: {\n height: \"36px\",\n left: \"2px\",\n position: \"absolute\",\n top: \"2px\",\n transform: `rotateZ(${this._spatial.radToDeg(offset)}deg)`,\n width: \"36px\",\n },\n },\n [group]);\n\n return svg;\n }\n\n private _createFovArc(fovLeft: number, fovRigth: number): vd.VNode {\n const radius: number = 16.75;\n const strokeWidth: number = 2.5;\n const fov: number = fovLeft + fovRigth;\n\n if (fov > 2 * Math.PI - Math.PI / 90) {\n return vd.h(\n \"circle\",\n {\n attributes: {\n cx: \"0\",\n cy: \"0\",\n \"fill-opacity\": \"0\",\n r: `${radius}`,\n stroke: \"#FFF\",\n \"stroke-width\":\n `${strokeWidth}`,\n },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n let arcStart: number = -Math.PI / 2 - fovLeft;\n let arcEnd: number = arcStart + fov;\n\n let startX: number = radius * Math.cos(arcStart);\n let startY: number = radius * Math.sin(arcStart);\n\n let endX: number = radius * Math.cos(arcEnd);\n let endY: number = radius * Math.sin(arcEnd);\n\n let largeArc: number = fov >= Math.PI ? 1 : 0;\n\n let description: string = `M ${startX} ${startY} A ${radius} ${radius} 0 ${largeArc} 1 ${endX} ${endY}`;\n\n return vd.h(\n \"path\",\n {\n attributes: {\n d: description,\n \"fill-opacity\": \"0\",\n stroke: \"#FFF\",\n \"stroke-width\": `${strokeWidth}`,\n },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n private _createCircleSectorCompass(cameraSector: vd.VNode): vd.VNode {\n let group: vd.VNode =\n vd.h(\n \"g\",\n {\n attributes: { transform: \"translate(1,1)\" },\n namespace: this._svgNamespace,\n },\n [cameraSector]);\n\n let svg: vd.VNode =\n vd.h(\n \"svg\",\n {\n attributes: { viewBox: \"0 0 2 2\" },\n namespace: this._svgNamespace,\n style: {\n height: \"26px\",\n left: \"7px\",\n position: \"absolute\",\n top: \"7px\",\n width: \"26px\",\n },\n },\n [group]);\n\n return svg;\n }\n\n private _createCircleSector(fov: number, fill: string): vd.VNode {\n if (fov > 2 * Math.PI - Math.PI / 90) {\n return vd.h(\n \"circle\",\n {\n attributes: { cx: \"0\", cy: \"0\", fill: fill, r: \"1\" },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n let arcStart: number = -Math.PI / 2 - fov / 2;\n let arcEnd: number = arcStart + fov;\n\n let startX: number = Math.cos(arcStart);\n let startY: number = Math.sin(arcStart);\n\n let endX: number = Math.cos(arcEnd);\n let endY: number = Math.sin(arcEnd);\n\n let largeArc: number = fov >= Math.PI ? 1 : 0;\n\n let description: string = `M 0 0 ${startX} ${startY} A 1 1 0 ${largeArc} 1 ${endX} ${endY}`;\n\n return vd.h(\n \"path\",\n {\n attributes: { d: description, fill: fill },\n namespace: this._svgNamespace,\n },\n []);\n }\n\n private _createNorth(bearing: number): vd.VNode {\n const north: vd.VNode = vd.h(\"div.BearingNorth\", []);\n const container: vd.VNode = vd.h(\n \"div.BearingNorthContainer\",\n { style: { transform: `rotateZ(${this._spatial.radToDeg(-bearing)}deg)` } },\n [north]);\n\n return container;\n }\n\n private _createBackground(bearing: number): vd.VNode {\n return vd.h(\n \"div.BearingIndicatorBackground\",\n { style: { transform: `rotateZ(${this._spatial.radToDeg(-bearing)}deg)` } },\n [\n vd.h(\"div.BearingIndicatorBackgroundCircle\", []),\n vd.h(\n \"div.BearingIndicatorBackgroundArrowContainer\",\n [\n vd.h(\"div.BearingIndicatorBackgroundArrow\", []),\n ]),\n ]);\n }\n\n private _computeProjectedPoints(transform: Transform): number[][] {\n const vertices: number[][] = [[1, 0]];\n const directions: number[][] = [[0, 0.5]];\n const pointsPerLine: number = 12;\n\n return Geo.computeProjectedPoints(transform, vertices, directions, pointsPerLine, this._viewportCoords);\n }\n\n private _computeHorizontalFov(projectedPoints: number[][]): number {\n const fovs: number[] = projectedPoints\n .map(\n (projectedPoint: number[]): number => {\n return this._coordToFov(projectedPoint[0]);\n });\n\n const fov: number = Math.min(...fovs);\n\n return fov;\n }\n\n private _coordToFov(x: number): number {\n return this._spatial.radToDeg(2 * Math.atan(x));\n }\n\n private _interpolate(x1: number, x2: number, alpha: number): number {\n return (1 - alpha) * x1 + alpha * x2;\n }\n}\n\nComponentService.register(BearingComponent);\nexport default BearingComponent;\n", "import {\n from as observableFrom,\n merge as observableMerge,\n empty as observableEmpty,\n of as observableOf,\n combineLatest as observableCombineLatest,\n zip as observableZip,\n Observable,\n Subscription,\n} from \"rxjs\";\n\nimport {\n map,\n first,\n switchMap,\n filter,\n catchError,\n mergeMap,\n expand,\n skip,\n mergeAll,\n} from \"rxjs/operators\";\n\nimport {EdgeDirection, IEdge} from \"../Edge\";\nimport {IEdgeStatus, Node} from \"../Graph\";\nimport {ComponentService, Component, ICacheConfiguration, ICacheDepth} from \"../Component\";\nimport {Container, Navigator} from \"../Viewer\";\n\ntype EdgesDepth = [IEdge[], number];\n\nexport class CacheComponent extends Component {\n public static componentName: string = \"cache\";\n\n private _sequenceSubscription: Subscription;\n private _spatialSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n /**\n * Set the cache depth.\n *\n * Configures the cache depth. The cache depth can be different for\n * different edge direction types.\n *\n * @param {ICacheDepth} depth - Cache depth structure.\n */\n public setDepth(depth: ICacheDepth): void {\n this.configure({ depth: depth });\n }\n\n protected _activate(): void {\n this._sequenceSubscription = observableCombineLatest(\n this._navigator.stateService.currentNode$.pipe(\n switchMap(\n (node: Node): Observable => {\n return node.sequenceEdges$;\n }),\n filter(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n })),\n this._configuration$).pipe(\n switchMap(\n (nc: [IEdgeStatus, ICacheConfiguration]): Observable => {\n let status: IEdgeStatus = nc[0];\n let configuration: ICacheConfiguration = nc[1];\n\n let sequenceDepth: number = Math.max(0, Math.min(4, configuration.depth.sequence));\n\n let next$: Observable = this._cache$(status.edges, EdgeDirection.Next, sequenceDepth);\n let prev$: Observable = this._cache$(status.edges, EdgeDirection.Prev, sequenceDepth);\n\n return observableMerge(\n next$,\n prev$).pipe(\n catchError(\n (error: Error, caught: Observable): Observable => {\n console.error(\"Failed to cache sequence edges.\", error);\n\n return observableEmpty();\n }));\n }))\n .subscribe(() => { /*noop*/ });\n\n this._spatialSubscription = observableCombineLatest(\n this._navigator.stateService.currentNode$.pipe(\n switchMap(\n (node: Node): Observable<[Node, IEdgeStatus]> => {\n return observableCombineLatest(\n observableOf(node),\n node.spatialEdges$.pipe(\n filter(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n })));\n })),\n this._configuration$).pipe(\n switchMap(\n ([[node, edgeStatus], configuration]: [[Node, IEdgeStatus], ICacheConfiguration]): Observable => {\n let edges: IEdge[] = edgeStatus.edges;\n let depth: ICacheDepth = configuration.depth;\n\n let panoDepth: number = Math.max(0, Math.min(2, depth.pano));\n let stepDepth: number = node.pano ? 0 : Math.max(0, Math.min(3, depth.step));\n let turnDepth: number = node.pano ? 0 : Math.max(0, Math.min(1, depth.turn));\n\n let pano$: Observable = this._cache$(edges, EdgeDirection.Pano, panoDepth);\n\n let forward$: Observable = this._cache$(edges, EdgeDirection.StepForward, stepDepth);\n let backward$: Observable = this._cache$(edges, EdgeDirection.StepBackward, stepDepth);\n let left$: Observable = this._cache$(edges, EdgeDirection.StepLeft, stepDepth);\n let right$: Observable = this._cache$(edges, EdgeDirection.StepRight, stepDepth);\n\n let turnLeft$: Observable = this._cache$(edges, EdgeDirection.TurnLeft, turnDepth);\n let turnRight$: Observable = this._cache$(edges, EdgeDirection.TurnRight, turnDepth);\n let turnU$: Observable = this._cache$(edges, EdgeDirection.TurnU, turnDepth);\n\n return observableMerge(\n forward$,\n backward$,\n left$,\n right$,\n pano$,\n turnLeft$,\n turnRight$,\n turnU$).pipe(\n catchError(\n (error: Error, caught: Observable): Observable => {\n console.error(\"Failed to cache spatial edges.\", error);\n\n return observableEmpty();\n }));\n }))\n .subscribe(() => { /*noop*/ });\n }\n\n protected _deactivate(): void {\n this._sequenceSubscription.unsubscribe();\n this._spatialSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): ICacheConfiguration {\n return { depth: { pano: 1, sequence: 2, step: 1, turn: 0 } };\n }\n\n private _cache$(edges: IEdge[], direction: EdgeDirection, depth: number): Observable {\n return observableZip(\n observableOf(edges),\n observableOf(depth)).pipe(\n expand(\n (ed: EdgesDepth): Observable => {\n let es: IEdge[] = ed[0];\n let d: number = ed[1];\n\n let edgesDepths$: Observable[] = [];\n\n if (d > 0) {\n for (let edge of es) {\n if (edge.data.direction === direction) {\n edgesDepths$.push(\n observableZip(\n this._navigator.graphService.cacheNode$(edge.to).pipe(\n mergeMap(\n (n: Node): Observable => {\n return this._nodeToEdges$(n, direction);\n })),\n observableOf(d - 1)));\n }\n }\n }\n\n return observableFrom>(edgesDepths$).pipe(\n mergeAll());\n }),\n skip(1));\n }\n\n private _nodeToEdges$(node: Node, direction: EdgeDirection): Observable {\n return ([EdgeDirection.Next, EdgeDirection.Prev].indexOf(direction) > -1 ?\n node.sequenceEdges$ :\n node.spatialEdges$).pipe(\n first(\n (status: IEdgeStatus): boolean => {\n return status.cached;\n }),\n map(\n (status: IEdgeStatus): IEdge[] => {\n return status.edges;\n }));\n }\n}\n\nComponentService.register(CacheComponent);\nexport default CacheComponent;\n", "import {refCount, publishReplay, scan, startWith} from \"rxjs/operators\";\nimport {BehaviorSubject, Observable, Subject} from \"rxjs\";\n\nimport {IComponentConfiguration} from \"../Component\";\nimport {\n Container,\n Navigator,\n} from \"../Viewer\";\nimport {EventEmitter} from \"../Utils\";\n\nexport abstract class Component extends EventEmitter {\n public static componentName: string = \"not_worthy\";\n\n protected _activated: boolean;\n protected _container: Container;\n protected _name: string;\n protected _navigator: Navigator;\n\n protected _activated$: BehaviorSubject = new BehaviorSubject(false);\n protected _configuration$: Observable;\n protected _configurationSubject$: Subject = new Subject();\n\n constructor (name: string, container: Container, navigator: Navigator) {\n super();\n\n this._activated = false;\n this._container = container;\n this._name = name;\n this._navigator = navigator;\n\n this._configuration$ =\n this._configurationSubject$.pipe(\n startWith(this.defaultConfiguration),\n scan(\n (conf: TConfiguration, newConf: TConfiguration): TConfiguration => {\n for (let key in newConf) {\n if (newConf.hasOwnProperty(key)) {\n conf[key] = newConf[key];\n }\n }\n\n return conf;\n }),\n publishReplay(1),\n refCount());\n\n this._configuration$.subscribe(() => { /*noop*/ });\n }\n\n public get activated(): boolean {\n return this._activated;\n }\n\n /** @ignore */\n public get activated$(): Observable {\n return this._activated$;\n }\n\n /**\n * Get default configuration.\n *\n * @returns {TConfiguration} Default configuration for component.\n */\n public get defaultConfiguration(): TConfiguration {\n return this._getDefaultConfiguration();\n }\n\n /** @ignore */\n public get configuration$(): Observable {\n return this._configuration$;\n }\n\n /**\n * Get name.\n *\n * @description The name of the component. Used when interacting with the\n * component through the Viewer's API.\n */\n public get name(): string {\n return this._name;\n }\n\n public activate(conf?: TConfiguration): void {\n if (this._activated) {\n return;\n }\n\n if (conf !== undefined) {\n this._configurationSubject$.next(conf);\n }\n\n this._activated = true;\n this._activate();\n this._activated$.next(true);\n }\n\n public configure(conf: TConfiguration): void {\n this._configurationSubject$.next(conf);\n }\n\n public deactivate(): void {\n if (!this._activated) {\n return;\n }\n\n this._activated = false;\n this._deactivate();\n this._container.domRenderer.clear(this._name);\n this._container.glRenderer.clear(this._name);\n this._activated$.next(false);\n }\n\n /**\n * Detect the viewer's new width and height and resize the component's\n * rendered elements accordingly if applicable.\n *\n * @ignore\n */\n public resize(): void { return; }\n\n protected abstract _activate(): void;\n\n protected abstract _deactivate(): void;\n\n protected abstract _getDefaultConfiguration(): TConfiguration;\n}\n\nexport default Component;\n", "import {ArgumentMapillaryError} from \"../Error\";\nimport {Container, Navigator} from \"../Viewer\";\nimport {CoverComponent, Component, IComponentConfiguration} from \"../Component\";\n\ninterface IActiveComponent {\n active: boolean;\n component: Component;\n}\n\nexport class ComponentService {\n public static registeredCoverComponent: typeof CoverComponent;\n public static registeredComponents: {[key: string]: { new (...args: any[]): Component; }} = {};\n\n private _coverActivated: boolean;\n private _coverComponent: CoverComponent;\n private _components: {[key: string]: IActiveComponent} = {};\n\n public static register>(\n component: { componentName: string, new (...args: any[]): T; }): void {\n if (ComponentService.registeredComponents[component.componentName] === undefined) {\n ComponentService.registeredComponents[component.componentName] = component;\n }\n }\n\n public static registerCover(coverComponent: typeof CoverComponent): void {\n ComponentService.registeredCoverComponent = coverComponent;\n }\n\n constructor (container: Container, navigator: Navigator) {\n for (const componentName in ComponentService.registeredComponents) {\n if (!ComponentService.registeredComponents.hasOwnProperty(componentName)) {\n continue;\n }\n\n const component: new (...args: any[]) => Component =\n ComponentService.registeredComponents[componentName];\n\n this._components[componentName] = {\n active: false,\n component: new component(componentName, container, navigator),\n };\n }\n\n this._coverComponent = new ComponentService.registeredCoverComponent(\"cover\", container, navigator);\n this._coverComponent.activate();\n this._coverActivated = true;\n }\n\n public get coverActivated(): boolean {\n return this._coverActivated;\n }\n\n public activateCover(): void {\n if (this._coverActivated) {\n return;\n }\n\n this._coverActivated = true;\n\n for (const componentName in this._components) {\n if (!this._components.hasOwnProperty(componentName)) {\n continue;\n }\n\n const component: IActiveComponent = this._components[componentName];\n\n if (component.active) {\n component.component.deactivate();\n }\n }\n }\n\n public deactivateCover(): void {\n if (!this._coverActivated) {\n return;\n }\n\n this._coverActivated = false;\n\n for (const componentName in this._components) {\n if (!this._components.hasOwnProperty(componentName)) {\n continue;\n }\n\n const component: IActiveComponent = this._components[componentName];\n\n if (component.active) {\n component.component.activate();\n }\n }\n }\n\n public activate(name: string): void {\n this._checkName(name);\n this._components[name].active = true;\n\n if (!this._coverActivated) {\n this.get(name).activate();\n }\n }\n\n public configure(name: string, conf: TConfiguration): void {\n this._checkName(name);\n this.get(name).configure(conf);\n }\n\n public deactivate(name: string): void {\n this._checkName(name);\n this._components[name].active = false;\n\n if (!this._coverActivated) {\n this.get(name).deactivate();\n }\n }\n\n public get>(name: string): TComponent {\n return this._components[name].component;\n }\n\n public getCover(): CoverComponent {\n return this._coverComponent;\n }\n\n private _checkName(name: string): void {\n if (!(name in this._components)) {\n throw new ArgumentMapillaryError(`Component does not exist: ${name}`);\n }\n }\n}\n\nexport default ComponentService;\n", "import {of as observableOf, combineLatest as observableCombineLatest, Observable, Subscription} from \"rxjs\";\n\nimport {map, distinctUntilChanged, switchMap, first, filter} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\n\nimport {\n CoverState,\n ICoverConfiguration,\n ComponentService,\n Component,\n} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {\n IVNodeHash,\n ISize,\n} from \"../Render\";\nimport {Urls} from \"../Utils\";\nimport {\n Container,\n ImageSize,\n Navigator,\n} from \"../Viewer\";\n\nexport class CoverComponent extends Component {\n public static componentName: string = \"cover\";\n\n private _renderSubscription: Subscription;\n private _keySubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n public _activate(): void {\n this._configuration$.pipe(\n distinctUntilChanged(\n undefined,\n (configuration: ICoverConfiguration): CoverState => {\n return configuration.state;\n }),\n switchMap(\n (configuration: ICoverConfiguration): Observable<[CoverState, Node]> => {\n return observableCombineLatest(\n observableOf(configuration.state),\n this._navigator.stateService.currentNode$);\n }),\n switchMap(\n ([state, node]: [CoverState, Node]): Observable<[string, string]> => {\n const keySrc$: Observable<[string, string]> = observableCombineLatest(\n observableOf(node.key),\n node.image$.pipe(\n filter(\n (image: HTMLImageElement): boolean => {\n return !!image;\n }),\n map(\n (image: HTMLImageElement): string => {\n return image.src;\n })));\n\n return state === CoverState.Visible ? keySrc$.pipe(first()) : keySrc$;\n }),\n distinctUntilChanged(\n ([k1, s1]: [string, string], [k2, s2]: [string, string]): boolean => {\n return k1 === k2 && s1 === s2;\n }),\n map(\n ([key, src]: [string, string]): ICoverConfiguration => {\n return { key: key, src: src };\n }))\n .subscribe(this._configurationSubject$);\n\n this._renderSubscription = observableCombineLatest(\n this._configuration$,\n this._container.renderService.size$).pipe(\n map(\n ([configuration, size]: [ICoverConfiguration, ISize]): IVNodeHash => {\n if (!configuration.key) {\n return { name: this._name, vnode: vd.h(\"div\", []) };\n }\n\n const compactClass: string = size.width <= 640 || size.height <= 480 ? \".CoverCompact\" : \"\";\n\n if (configuration.state === CoverState.Hidden) {\n const doneContainer: vd.VNode = vd.h(\n \"div.CoverContainer.CoverDone\" + compactClass,\n [this._getCoverBackgroundVNode(configuration)]);\n\n return { name: this._name, vnode: doneContainer };\n }\n\n const container: vd.VNode = vd.h(\n \"div.CoverContainer\" + compactClass,\n [this._getCoverButtonVNode(configuration)]);\n\n return { name: this._name, vnode: container };\n }))\n .subscribe(this._container.domRenderer.render$);\n }\n\n public _deactivate(): void {\n this._renderSubscription.unsubscribe();\n this._keySubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): ICoverConfiguration {\n return { state: CoverState.Visible };\n }\n\n private _getCoverButtonVNode(configuration: ICoverConfiguration): vd.VNode {\n const cover: string = configuration.state === CoverState.Loading ? \"div.Cover.CoverLoading\" : \"div.Cover\";\n const coverButton: vd.VNode = vd.h(\n \"div.CoverButton\",\n [vd.h(\"div.CoverButtonIcon\", [])]);\n\n const coverLogo: vd.VNode = vd.h(\"a.CoverLogo\", {href: Urls.explore, target: \"_blank\"}, []);\n const coverIndicator: vd.VNode = vd.h(\n \"div.CoverIndicator\",\n { onclick: (): void => { this.configure({ state: CoverState.Loading }); } },\n []);\n\n return vd.h(\n cover,\n [\n this._getCoverBackgroundVNode(configuration),\n coverIndicator,\n coverButton,\n coverLogo,\n ]);\n }\n\n private _getCoverBackgroundVNode(conf: ICoverConfiguration): vd.VNode {\n let url: string = conf.src != null ?\n conf.src : Urls.thumbnail(conf.key, ImageSize.Size640);\n\n let properties: vd.createProperties = { style: { backgroundImage: `url(${url})` } };\n\n let children: vd.VNode[] = [];\n if (conf.state === CoverState.Loading) {\n children.push(vd.h(\"div.Spinner\", {}, []));\n }\n\n return vd.h(\"div.CoverBackground\", properties, children);\n }\n}\n\nComponentService.registerCover(CoverComponent);\nexport default CoverComponent;\n", "import {combineLatest as observableCombineLatest, Observable, BehaviorSubject, Subscription} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\n\nimport {Component, ComponentService, IComponentConfiguration} from \"../Component\";\nimport {ILoadStatus} from \"../Graph\";\nimport {IVNodeHash} from \"../Render\";\nimport {IFrame} from \"../State\";\n\nexport class DebugComponent extends Component {\n public static componentName: string = \"debug\";\n\n private _disposable: Subscription;\n\n private _open$: BehaviorSubject = new BehaviorSubject(false);\n\n public _activate(): void {\n this._disposable = observableCombineLatest(\n this._navigator.stateService.currentState$,\n this._open$,\n this._navigator.imageLoadingService.loadstatus$).pipe(\n map(\n ([frame, open, loadStatus]: [IFrame, boolean, {[key: string]: ILoadStatus}]): IVNodeHash => {\n return {name: this._name, vnode: this._getDebugVNode(open, this._getDebugInfo(frame, loadStatus))};\n }))\n .subscribe(this._container.domRenderer.render$);\n }\n\n public _deactivate(): void {\n this._disposable.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getDebugInfo(frame: IFrame, loadStatus: {[key: string]: ILoadStatus}): vd.VNode[] {\n let ret: vd.VNode[] = [];\n\n ret.push(vd.h(\"h2\", \"Node\"));\n\n if (frame.state.currentNode) {\n ret.push(vd.h(\"p\", `currentNode: ${frame.state.currentNode.key}`));\n }\n\n if (frame.state.previousNode) {\n ret.push(vd.h(\"p\", `previousNode: ${frame.state.previousNode.key}`));\n }\n\n ret.push(vd.h(\"h2\", \"Loading\"));\n\n let total: number = 0;\n let loaded: number = 0;\n let loading: number = 0;\n\n for (const key in loadStatus) {\n if (!loadStatus.hasOwnProperty(key)) {\n continue;\n }\n\n const status: ILoadStatus = loadStatus[key];\n\n total += status.loaded;\n\n if (status.loaded !== status.total) {\n loading++;\n } else {\n loaded++;\n }\n }\n\n ret.push(vd.h(\"p\", `Loaded Images: ${loaded}`));\n ret.push(vd.h(\"p\", `Loading Images: ${loading}`));\n ret.push(vd.h(\"p\", `Total bytes loaded: ${total}`));\n\n ret.push(vd.h(\"h2\", \"Camera\"));\n\n ret.push(vd.h(\"p\", `camera.position.x: ${frame.state.camera.position.x}`));\n ret.push(vd.h(\"p\", `camera.position.y: ${frame.state.camera.position.y}`));\n ret.push(vd.h(\"p\", `camera.position.z: ${frame.state.camera.position.z}`));\n\n ret.push(vd.h(\"p\", `camera.lookat.x: ${frame.state.camera.lookat.x}`));\n ret.push(vd.h(\"p\", `camera.lookat.y: ${frame.state.camera.lookat.y}`));\n ret.push(vd.h(\"p\", `camera.lookat.z: ${frame.state.camera.lookat.z}`));\n\n ret.push(vd.h(\"p\", `camera.up.x: ${frame.state.camera.up.x}`));\n ret.push(vd.h(\"p\", `camera.up.y: ${frame.state.camera.up.y}`));\n ret.push(vd.h(\"p\", `camera.up.z: ${frame.state.camera.up.z}`));\n\n return ret;\n }\n\n private _getDebugVNode(open: boolean, info: vd.VNode[]): vd.VNode {\n if (open) {\n return vd.h(\"div.Debug\", {}, [\n vd.h(\"h2\", {}, [\"Debug\"]),\n this._getDebugVNodeButton(open),\n vd.h(\"pre\", {}, info),\n ]);\n } else {\n return this._getDebugVNodeButton(open);\n }\n }\n\n private _getDebugVNodeButton(open: boolean): any {\n let buttonText: string = open ? \"Disable Debug\" : \"D\";\n let buttonCssClass: string = open ? \"\" : \".DebugButtonFixed\";\n\n if (open) {\n return vd.h(`button.DebugButton${buttonCssClass}`,\n {onclick: this._closeDebugElement.bind(this)},\n [buttonText]);\n } else {\n return vd.h(`button.DebugButton${buttonCssClass}`,\n {onclick: this._openDebugElement.bind(this)},\n [buttonText]);\n }\n }\n\n private _closeDebugElement(open: boolean): void {\n this._open$.next(false);\n }\n\n private _openDebugElement(): void {\n this._open$.next(true);\n }\n}\n\nComponentService.register(DebugComponent);\nexport default DebugComponent;\n", "import {combineLatest as observableCombineLatest, Observable, Subscription} from \"rxjs\";\n\nimport {distinctUntilChanged, filter, map} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\n\nimport {ComponentService, Component, IComponentConfiguration} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {ISize} from \"../Render\";\nimport {DOM} from \"../Utils\";\nimport {Container, Navigator} from \"../Viewer\";\n\nexport class ImageComponent extends Component {\n public static componentName: string = \"image\";\n\n private _canvasId: string;\n private _dom: DOM;\n private drawSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator, dom?: DOM) {\n super(name, container, navigator);\n\n this._canvasId = `${container.id}-${this._name}`;\n this._dom = !!dom ? dom : new DOM();\n }\n\n protected _activate(): void {\n const canvasSize$: Observable<[HTMLCanvasElement, ISize]> = this._container.domRenderer.element$.pipe(\n map(\n (element: HTMLElement): HTMLCanvasElement => {\n return this._dom.document.getElementById(this._canvasId);\n }),\n filter(\n (canvas: HTMLCanvasElement): boolean => {\n return !!canvas;\n }),\n map(\n (canvas: HTMLCanvasElement): [HTMLCanvasElement, ISize] => {\n const adaptableDomRenderer: HTMLElement = canvas.parentElement;\n const width: number = adaptableDomRenderer.offsetWidth;\n const height: number = adaptableDomRenderer.offsetHeight;\n\n return [canvas, { height: height, width: width }];\n }),\n distinctUntilChanged(\n (s1: ISize, s2: ISize): boolean => {\n return s1.height === s2.height && s1.width === s2.width;\n },\n ([canvas, size]: [HTMLCanvasElement, ISize]): ISize => {\n return size;\n }));\n\n this.drawSubscription = observableCombineLatest(\n canvasSize$,\n this._navigator.stateService.currentNode$)\n .subscribe(\n ([[canvas, size], node]: [[HTMLCanvasElement, ISize], Node]): void => {\n canvas.width = size.width;\n canvas.height = size.height;\n canvas\n .getContext(\"2d\")\n .drawImage(node.image, 0, 0, size.width, size.height);\n });\n\n this._container.domRenderer.renderAdaptive$.next({name: this._name, vnode: vd.h(`canvas#${this._canvasId}`, [])});\n }\n\n protected _deactivate(): void {\n this.drawSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n}\n\nComponentService.register(ImageComponent);\nexport default ImageComponent;\n", "import {of as observableOf, Observable, Subscription} from \"rxjs\";\n\nimport {map, switchMap} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\n\nimport {Container, Navigator} from \"../Viewer\";\nimport {ComponentService, Component, IComponentConfiguration} from \"../Component\";\n\nimport {IVNodeHash} from \"../Render\";\nimport {ILoadStatus} from \"../Graph\";\n\nexport class LoadingComponent extends Component {\n public static componentName: string = \"loading\";\n\n private _loadingSubscription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n this._loadingSubscription = this._navigator.loadingService.loading$.pipe(\n switchMap(\n (loading: boolean): Observable<{ [key: string]: ILoadStatus }> => {\n return loading ?\n this._navigator.imageLoadingService.loadstatus$ :\n observableOf({});\n }),\n map(\n (loadStatus: { [key: string]: ILoadStatus }): IVNodeHash => {\n let total: number = 0;\n let loaded: number = 0;\n\n for (const key in loadStatus) {\n if (!loadStatus.hasOwnProperty(key)) {\n continue;\n }\n\n const status: ILoadStatus = loadStatus[key];\n\n if (status.loaded !== status.total) {\n loaded += status.loaded;\n total += status.total;\n }\n }\n\n let percentage: number = 100;\n if (total !== 0) {\n percentage = (loaded / total) * 100;\n }\n\n return {name: this._name, vnode: this._getBarVNode(percentage)};\n }))\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._loadingSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): IComponentConfiguration {\n return {};\n }\n\n private _getBarVNode(percentage: number): vd.VNode {\n let loadingBarStyle: any = {};\n let loadingContainerStyle: any = {};\n\n if (percentage !== 100) {\n loadingBarStyle.width = percentage.toFixed(0) + \"%\";\n loadingBarStyle.opacity = \"1\";\n\n } else {\n loadingBarStyle.width = \"100%\";\n loadingBarStyle.opacity = \"0\";\n }\n\n return vd.h(\"div.Loading\", { style: loadingContainerStyle }, [ vd.h(\"div.LoadingBar\", {style: loadingBarStyle}, [])]);\n }\n}\n\nComponentService.register(LoadingComponent);\nexport default LoadingComponent;\n", "import {of as observableOf, combineLatest as observableCombineLatest, Observable, Subscription} from \"rxjs\";\n\nimport {switchMap, map} from \"rxjs/operators\";\nimport * as vd from \"virtual-dom\";\n\nimport {EdgeDirection, IEdge} from \"../Edge\";\nimport {AbortMapillaryError} from \"../Error\";\nimport {IEdgeStatus, Node} from \"../Graph\";\nimport {Container, Navigator} from \"../Viewer\";\nimport {ComponentService, Component, IComponentConfiguration, INavigationConfiguration} from \"../Component\";\n\nimport {IVNodeHash} from \"../Render\";\n\n/**\n * @class NavigationComponent\n *\n * @classdesc Fallback navigation component for environments without WebGL support.\n *\n * Replaces the functionality in the Direction and Sequence components.\n */\nexport class NavigationComponent extends Component {\n public static componentName: string = \"navigation\";\n\n private _renderSubscription: Subscription;\n\n private _seqNames: { [dir: string]: string };\n private _spaTopNames: { [dir: string]: string };\n private _spaBottomNames: { [dir: string]: string };\n\n /** @ignore */\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n\n this._seqNames = {};\n this._seqNames[EdgeDirection[EdgeDirection.Prev]] = \"Prev\";\n this._seqNames[EdgeDirection[EdgeDirection.Next]] = \"Next\";\n\n this._spaTopNames = {};\n this._spaTopNames[EdgeDirection[EdgeDirection.TurnLeft]] = \"Turnleft\";\n this._spaTopNames[EdgeDirection[EdgeDirection.StepLeft]] = \"Left\";\n this._spaTopNames[EdgeDirection[EdgeDirection.StepForward]] = \"Forward\";\n this._spaTopNames[EdgeDirection[EdgeDirection.StepRight]] = \"Right\";\n this._spaTopNames[EdgeDirection[EdgeDirection.TurnRight]] = \"Turnright\";\n\n this._spaBottomNames = {};\n this._spaBottomNames[EdgeDirection[EdgeDirection.TurnU]] = \"Turnaround\";\n this._spaBottomNames[EdgeDirection[EdgeDirection.StepBackward]] = \"Backward\";\n }\n\n protected _activate(): void {\n this._renderSubscription = observableCombineLatest(\n this._navigator.stateService.currentNode$,\n this._configuration$).pipe(\n switchMap(\n ([node, configuration]: [Node, INavigationConfiguration]): Observable => {\n const sequenceEdges$: Observable = configuration.sequence ?\n node.sequenceEdges$.pipe(\n map(\n (status: IEdgeStatus): EdgeDirection[] => {\n return status.edges\n .map(\n (edge: IEdge): EdgeDirection => {\n return edge.data.direction;\n });\n })) :\n observableOf([]);\n\n const spatialEdges$: Observable = !node.pano && configuration.spatial ?\n node.spatialEdges$.pipe(\n map(\n (status: IEdgeStatus): EdgeDirection[] => {\n return status.edges\n .map(\n (edge: IEdge): EdgeDirection => {\n return edge.data.direction;\n });\n })) :\n observableOf([]);\n\n return observableCombineLatest(\n sequenceEdges$,\n spatialEdges$).pipe(\n map(\n ([seq, spa]: [EdgeDirection[], EdgeDirection[]]): EdgeDirection[] => {\n return seq.concat(spa);\n }));\n }),\n map(\n (edgeDirections: EdgeDirection[]): IVNodeHash => {\n const seqs: vd.VNode[] = this._createArrowRow(this._seqNames, edgeDirections);\n const spaTops: vd.VNode[] = this._createArrowRow(this._spaTopNames, edgeDirections);\n const spaBottoms: vd.VNode[] = this._createArrowRow(this._spaBottomNames, edgeDirections);\n\n const seqContainer: vd.VNode = vd.h(`div.NavigationSequence`, seqs);\n const spaTopContainer: vd.VNode = vd.h(`div.NavigationSpatialTop`, spaTops);\n const spaBottomContainer: vd.VNode = vd.h(`div.NavigationSpatialBottom`, spaBottoms);\n const spaContainer: vd.VNode = vd.h(`div.NavigationSpatial`, [spaTopContainer, spaBottomContainer]);\n\n return { name: this._name, vnode: vd.h(`div.NavigationContainer`, [seqContainer, spaContainer]) };\n }))\n .subscribe(this._container.domRenderer.render$);\n }\n\n protected _deactivate(): void {\n this._renderSubscription.unsubscribe();\n }\n\n protected _getDefaultConfiguration(): INavigationConfiguration {\n return { sequence: true, spatial: true };\n }\n\n private _createArrowRow(arrowNames: { [dir: string]: string }, edgeDirections: EdgeDirection[]): vd.VNode[] {\n const arrows: vd.VNode[] = [];\n\n for (const arrowName in arrowNames) {\n if (!(arrowNames.hasOwnProperty(arrowName))) {\n continue;\n }\n\n const direction: EdgeDirection = EdgeDirection[arrowName];\n if (edgeDirections.indexOf(direction) !== -1) {\n arrows.push(this._createVNode(direction, arrowNames[arrowName], \"visible\"));\n } else {\n arrows.push(this._createVNode(direction, arrowNames[arrowName], \"hidden\"));\n }\n }\n\n return arrows;\n }\n\n private _createVNode(direction: EdgeDirection, name: string, visibility: string): vd.VNode {\n return vd.h(\n `span.Direction.Direction${name}`,\n {\n onclick: (ev: Event): void => {\n this._navigator.moveDir$(direction)\n .subscribe(\n undefined,\n (error: Error): void => {\n if (!(error instanceof AbortMapillaryError)) {\n console.error(error);\n }\n });\n },\n style: {\n visibility: visibility,\n },\n },\n []);\n }\n}\n\nComponentService.register(NavigationComponent);\nexport default NavigationComponent;\n", "import {\n combineLatest as observableCombineLatest,\n of as observableOf,\n from as observableFrom,\n Observable,\n Subscription,\n} from \"rxjs\";\n\nimport {\n map,\n filter,\n distinctUntilChanged,\n mergeMap,\n distinct,\n scan,\n pluck,\n} from \"rxjs/operators\";\n\nimport * as vd from \"virtual-dom\";\n\nimport {ISequence} from \"../API\";\nimport {IRouteConfiguration, IRoutePath, ComponentService, Component} from \"../Component\";\nimport {Node} from \"../Graph\";\nimport {IVNodeHash} from \"../Render\";\nimport {IFrame} from \"../State\";\nimport {Container, Navigator} from \"../Viewer\";\n\ninterface IRtAndFrame {\n routeTrack: RouteTrack;\n frame: IFrame;\n conf: IRouteConfiguration;\n}\n\ninterface IConfAndNode {\n conf: IRouteConfiguration;\n node: Node;\n}\n\ninterface INodeInstruction {\n key: string;\n description: string;\n}\n\ninterface IInstructionPlace {\n place: number;\n nodeInstructions: INodeInstruction[];\n}\n\nclass DescriptionState {\n public description: string;\n public showsLeft: number;\n}\n\nclass RouteState {\n public routeTrack: RouteTrack;\n public currentNode: Node;\n public lastNode: Node;\n public playing: boolean;\n}\n\nclass RouteTrack {\n public nodeInstructions: INodeInstruction[] = [];\n public nodeInstructionsOrdered: INodeInstruction[][] = [];\n}\n\nexport class RouteComponent extends Component {\n public static componentName: string = \"route\";\n\n private _disposable: Subscription;\n private _disposableDescription: Subscription;\n\n constructor(name: string, container: Container, navigator: Navigator) {\n super(name, container, navigator);\n }\n\n protected _activate(): void {\n let slowedStream$: Observable