{"version":3,"sources":["webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/deferred.js","webpack:///./node_modules/rxjs/dist/esm5/internal/asyncIteratorFrom.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Observable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/toSubscriber.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/canReportError.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/map.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeToResult.js","webpack:///./node_modules/rxjs/dist/esm5/internal/OuterSubscriber.js","webpack:///./node_modules/rxjs/dist/esm5/internal/config.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/root.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack:///./node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/empty.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","webpack:///./node_modules/ramda/es/internal/_isPlaceholder.js","webpack:///./node_modules/ramda/es/internal/_curry1.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/hostReportError.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isArray.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Subject.js","webpack:///./node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack:///./node_modules/rxjs/dist/esm5/internal/InnerSubscriber.js","webpack:///./node_modules/rxjs/dist/esm5/internal/symbol/rxSubscriber.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/fromArray.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isIterable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/from.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Scheduler.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/of.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Observer.js","webpack:///./node_modules/rxjs/dist/esm5/internal/Notification.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/throwError.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isObject.js","webpack:///./node_modules/rxjs/dist/esm5/internal/SubjectSubscription.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeToArray.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isPromise.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/async.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeToAsyncIterable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeTo.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeToObservable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeToPromise.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/subscribeToIterable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","webpack:///./node_modules/clipboard/dist/clipboard.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/defer.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/QueueAction.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/queue.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/QueueScheduler.js","webpack:///./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","webpack:///./node_modules/ramda/es/internal/_has.js","webpack:///./node_modules/ramda/es/internal/_isArguments.js","webpack:///./node_modules/ramda/es/keys.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/tap.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/scan.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/finalize.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameAction.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/animationFrame.js","webpack:///./node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameScheduler.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilKeyChanged.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/bufferCount.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/concatAll.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/concat.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/startWith.js","webpack:///./node_modules/ramda/es/reverse.js","webpack:///./node_modules/ramda/es/internal/_isString.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/mapTo.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/merge.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/fromEventPattern.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/filter.js","webpack:///./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/pluck.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/throttle.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/switchMapTo.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/sample.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/never.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/skip.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/catchError.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/iif.js","webpack:///./node_modules/ramda/es/values.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/refCount.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/ConnectableObservable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/multicast.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/share.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/ArgumentOutOfRangeError.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/take.js","webpack:///./node_modules/ramda/es/internal/_identity.js","webpack:///./node_modules/ramda/es/identity.js","webpack:///./node_modules/rxjs/dist/esm5/internal/operators/delay.js","webpack:///./node_modules/rxjs/dist/esm5/internal/util/isDate.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/dom/AjaxObservable.js","webpack:///./node_modules/rxjs/dist/esm5/internal/observable/dom/ajax.js"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","__values","o","m","__read","r","ar","error","__spread","concat","__spreadArrays","il","k","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncValues","Subscriber","_super","destinationOrNext","complete","_this","syncErrorValue","syncErrorThrown","syncErrorThrowable","isStopped","destination","add","SafeSubscriber","subscriber","_next","err","_error","_complete","unsubscribe","closed","_unsubscribeAndRecycle","_parentOrParents","_parentSubscriber","observerOrNext","context","bind","_context","useDeprecatedSynchronousErrorHandling","__tryOrSetError","__tryOrUnsub","wrappedComplete","fn","parent","Error","_unsubscribe","Deferred","promise","asyncIteratorFrom","source","deferreds","values","hasError","completed","subs","_a","subscribe","undefined","coroutine","Observable","_isScalar","_subscribe","lift","operator","observable","sink","nextOrObserver","rxSubscriber","toSubscriber","config","_trySubscribe","observer","closed_1","canReportError","console","warn","forEach","promiseCtor","getPromiseCtor","subscription","pipe","operations","_i","toPromise","x","UnsubscriptionError","UnsubscriptionErrorImpl","errors","message","map","toString","join","name","Subscription","_subscriptions","empty","remove","index","isFunction","flattenUnsubscriptionErrors","isArray","len","sub","isObject","teardown","EMPTY","tmp","indexOf","subscriptions","subscriptionIndex","splice","reduce","errs","project","MapOperator","MapSubscriber","count","subscribeToResult","outerSubscriber","outerValue","outerIndex","innerSubscriber","OuterSubscriber","notifyNext","innerValue","innerIndex","innerSub","notifyError","notifyComplete","_enable_super_gross_mode_that_will_cause_bad_things","stack","log","__window","window","__self","self","WorkerGlobalScope","_root","global","noop","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","_isPlaceholder","_curry1","f1","hostReportError","setTimeout","isScheduler","schedule","SubjectSubscriber","Subject","observers","thrownError","subject","AnonymousSubject","copy","slice","asObservable","InnerSubscriber","Math","random","switchMap","resultSelector","ii","SwitchMapOperator","SwitchMapSubscriber","_innerSub","innerSubscription","scheduleArray","input","scheduler","fromArray","scheduled","isInteropObservable","scheduleObservable","isPromise","schedulePromise","isArrayLike","isIterable","return","scheduleIterable","scheduleAsyncIterable","from","subscribeTo","Scheduler","SchedulerAction","now","work","delay","state","Date","AsyncScheduler","delegate","actions","active","flush","action","execute","AsyncAction","pending","id","recycleAsyncId","requestAsyncId","setInterval","clearInterval","_execute","errored","errorValue","Action","of","args","NotificationKind","dispatch","Notification","kind","hasValue","observe","do","accept","toObservable","createNext","undefinedValueNotification","createError","createComplete","completeNotification","fns","pipeFromArray","prev","distinctUntilChanged","compare","keySelector","DistinctUntilChangedOperator","DistinctUntilChangedSubscriber","hasKey","key","SubjectSubscription","subscriberIndex","identity","subscribeToArray","array","async","subscribeToAsyncIterable","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","e_1_1","_b","process","catch","obj","obs","iterable","item","MergeMapOperator","concurrent","Number","POSITIVE_INFINITY","MergeMapSubscriber","hasCompleted","buffer","_tryNext","ish","mergeAll","mergeMap","observeOn","ObserveOnOperator","ObserveOnSubscriber","arg","notification","scheduleMessage","ObserveOnMessage","factory","modules","installedModules","__webpack_require__","moduleId","exports","module","l","c","getter","defineProperty","enumerable","get","toStringTag","mode","__esModule","ns","object","property","element","selectedText","nodeName","focus","isReadOnly","hasAttribute","setAttribute","select","setSelectionRange","removeAttribute","selection","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","E","on","callback","ctx","once","listener","off","emit","data","evtArr","evts","liveEvents","TinyEmitter","is","target","type","string","node","addEventListener","destroy","removeEventListener","listenNode","nodeList","listenNodeList","selector","listenSelector","HTMLElement","nodeType","String","closest","_delegate","useCapture","listenerFn","delegateTarget","elements","querySelectorAll","Element","matches","proto","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","parentNode","__webpack_exports__","src_select","select_default","_typeof","_createClass","defineProperties","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","clipboard_action","ClipboardAction","options","instance","_classCallCheck","resolveOptions","initSelection","container","emitter","text","trigger","selectFake","selectTarget","isRTL","documentElement","getAttribute","removeFake","fakeHandlerCallback","fakeHandler","fakeElem","createElement","style","fontSize","border","padding","margin","position","yPosition","pageYOffset","scrollTop","top","appendChild","copyText","removeChild","succeeded","execCommand","handleResult","clearSelection","activeElement","blur","set","_action","_target","tiny_emitter","tiny_emitter_default","listen","listen_default","clipboard_typeof","clipboard_createClass","clipboard_Clipboard","_Emitter","Clipboard","clipboard_classCallCheck","ReferenceError","_possibleConstructorReturn","getPrototypeOf","listenClick","subClass","superClass","_inherits","defaultAction","defaultTarget","defaultText","_this2","onClick","currentTarget","clipboardAction","getAttributeValue","querySelector","support","queryCommandSupported","suffix","attribute","NONE","combineLatest","observables","CombineLatestOperator","CombineLatestSubscriber","toRespond","unused","oldVal","_tryResultSelector","Function","MapShim","Map","getIndex","arr","some","entry","class_1","__entries__","delete","entries","has","clear","isBrowser","global$1","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","connect_","removeObserver","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","disconnect","propertyName","getInstance","instance_","defineConfigurable","keys","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","size","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","bottom","width","height","boxSizing","round","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","matchHtmlRegExp","escape","str","match","exec","html","lastIndex","charCodeAt","substring","defer","observableFactory","QueueAction","queue","QueueScheduler","ReplaySubject","bufferSize","windowTime","_events","_infiniteTimeWindow","_bufferSize","_windowTime","nextInfiniteTimeWindow","nextTimeWindow","ReplayEvent","_getNow","_trimBufferThenGetEvents","eventsCount","spliceCount","time","max","_has","prop","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","hasArgsEnumBug","contains","list","idx","nIdx","ks","checkArgsLength","tap","DoOperator","TapSubscriber","_tapNext","_tapError","_tapComplete","scan","accumulator","seed","hasSeed","ScanOperator","ScanSubscriber","_state","_hasState","finalize","FinallyOperator","FinallySubscriber","AnimationFrameAction","cancelAnimationFrame","animationFrame","AnimationFrameScheduler","shareReplay","configOrBufferSize","refCount","_c","useRefCount","isComplete","shareReplayOperator","distinctUntilKeyChanged","withLatestFrom","WithLatestFromOperator","WithLatestFromSubscriber","found","_tryProject","bufferCount","startBufferEvery","BufferCountOperator","subscriberClass","BufferSkipCountSubscriber","BufferCountSubscriber","buffers","concatAll","startWith","split","reverse","fromEvent","eventName","setupSubscription","sourceObj","handler","isEventTarget","source_1","isJQueryStyleEventEmitter","source_2","addListener","removeListener","isNodeStyleEventEmitter","source_3","mapTo","MapToOperator","MapToSubscriber","merge","last","fromEventPattern","addHandler","removeHandler","retValue","predicate","FilterOperator","FilterSubscriber","BehaviorSubject","_value","getValue","pluck","properties","currentProp","defaultThrottleConfig","leading","trailing","durationSelector","ThrottleOperator","ThrottleSubscriber","_leading","_trailing","_sendValue","_hasValue","_throttled","send","duration","tryDurationSelector","throttlingDone","switchMapTo","innerObservable","sample","notifier","SampleOperator","sampleSubscriber","SampleSubscriber","emitValue","NEVER","skip","SkipOperator","total","SkipSubscriber","catchError","CatchOperator","caught","CatchSubscriber","err2","debounceTime","dueTime","DebounceTimeOperator","DebounceTimeSubscriber","debouncedSubscription","lastValue","clearDebounce","dispatchNext","debouncedNext","iif","condition","trueResult","falseResult","vals","RefCountOperator","connectableProto","connectable","_refCount","refCounter","connection","connect","RefCountSubscriber","sharedConnection","_connection","ConnectableObservable","subjectFactory","_isComplete","getSubject","_subject","connectableObservableDescriptor","ConnectableSubscriber","MulticastOperator","shareSubjectFactory","share","subjectOrSubjectFactory","ArgumentOutOfRangeError","ArgumentOutOfRangeErrorImpl","take","TakeOperator","TakeSubscriber","_identity","delayFor","isNaN","DelayOperator","DelaySubscriber","delay_1","_schedule","scheduleNotification","DelayMessage","ajaxGet","url","headers","ajaxPost","ajaxDelete","ajaxPut","ajaxPatch","mapResponse","response","ajaxGetJSON","responseType","AjaxObservable","urlOrRequest","request","createXHR","crossDomain","root","XMLHttpRequest","XDomainRequest","getCORSRequest","progId","progIds","ActiveXObject","getXMLHttpRequest","withCredentials","timeout","post","put","patch","getJSON","AjaxSubscriber","getHeader","FormData","serializeBody","xhr","AjaxResponse","user","password","setupEvents","open","setHeaders","contentType","splitIndex","encodeURIComponent","JSON","stringify","setRequestHeader","headerName","toLowerCase","progressSubscriber","xhrTimeout","AjaxTimeoutError","ontimeout","upload","xhrProgress_1","xhrError_1","onprogress","AjaxError","onerror","xhrReadyStateChange","xhrLoad","readyState","status_1","status","responseText","onreadystatechange","onload","abort","originalEvent","parseXhrResponse","AjaxErrorImpl","parse","parseJson","responseXML","AjaxTimeoutErrorImpl","ajax"],"mappings":"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","file":"assets/javascripts/vendor.8caa27b7.min.js","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './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 switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\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[rxSubscriberSymbol] = 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 _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { 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(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (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.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.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(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n 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.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.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n 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));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map","var Deferred = (function () {\n function Deferred() {\n var _this = this;\n this.resolve = null;\n this.reject = null;\n this.promise = new Promise(function (a, b) {\n _this.resolve = a;\n _this.reject = b;\n });\n }\n return Deferred;\n}());\nexport { Deferred };\n//# sourceMappingURL=deferred.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { Deferred } from './util/deferred';\nexport function asyncIteratorFrom(source) {\n return coroutine(source);\n}\nfunction coroutine(source) {\n return __asyncGenerator(this, arguments, function coroutine_1() {\n var deferreds, values, hasError, error, completed, subs, d, result, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n deferreds = [];\n values = [];\n hasError = false;\n error = null;\n completed = false;\n subs = source.subscribe({\n next: function (value) {\n if (deferreds.length > 0) {\n deferreds.shift().resolve({ value: value, done: false });\n }\n else {\n values.push(value);\n }\n },\n error: function (err) {\n hasError = true;\n error = err;\n while (deferreds.length > 0) {\n deferreds.shift().reject(err);\n }\n },\n complete: function () {\n completed = true;\n while (deferreds.length > 0) {\n deferreds.shift().resolve({ value: undefined, done: true });\n }\n },\n });\n _a.label = 1;\n case 1:\n _a.trys.push([1, 16, 17, 18]);\n _a.label = 2;\n case 2:\n if (!true) return [3, 15];\n if (!(values.length > 0)) return [3, 5];\n return [4, __await(values.shift())];\n case 3: return [4, _a.sent()];\n case 4:\n _a.sent();\n return [3, 14];\n case 5:\n if (!completed) return [3, 7];\n return [4, __await(void 0)];\n case 6: return [2, _a.sent()];\n case 7:\n if (!hasError) return [3, 8];\n throw error;\n case 8:\n d = new Deferred();\n deferreds.push(d);\n return [4, __await(d.promise)];\n case 9:\n result = _a.sent();\n if (!result.done) return [3, 11];\n return [4, __await(void 0)];\n case 10: return [2, _a.sent()];\n case 11: return [4, __await(result.value)];\n case 12: return [4, _a.sent()];\n case 13:\n _a.sent();\n _a.label = 14;\n case 14: return [3, 2];\n case 15: return [3, 18];\n case 16:\n err_1 = _a.sent();\n throw err_1;\n case 17:\n subs.unsubscribe();\n return [7];\n case 18: return [2];\n }\n });\n });\n}\n//# sourceMappingURL=asyncIteratorFrom.js.map","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { asyncIteratorFrom } from './asyncIteratorFrom';\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(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (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.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (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[Symbol_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 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}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n(function () {\n if (Symbol && Symbol.asyncIterator) {\n Observable.prototype[Symbol.asyncIterator] = function () {\n return asyncIteratorFrom(this);\n };\n }\n})();\n//# sourceMappingURL=Observable.js.map","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map","import { Subscriber } from '../Subscriber';\nexport function 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) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map","var UnsubscriptionErrorImpl = (function () {\n function 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 }\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map","import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || 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 (!(subscription instanceof Subscription)) {\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 }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\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.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function 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}\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}());\nexport { 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));\n//# sourceMappingURL=map.js.map","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) { innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex); }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from './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));\nexport { OuterSubscriber };\n//# sourceMappingURL=OuterSubscriber.js.map","var _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var 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","var __window = typeof window !== 'undefined' && window;\nvar __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nvar __global = typeof global !== 'undefined' && global;\nvar _root = __window || __global || __self;\n(function () {\n if (!_root) {\n throw new Error('RxJS could not find any global context (window, self, global)');\n }\n})();\nexport { _root as root };\n//# sourceMappingURL=root.js.map","export function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","var ObjectUnsubscribedErrorImpl = (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","export function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map","export var isArray = (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map","export function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map","import { __extends } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../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));\nexport { 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[rxSubscriberSymbol] = 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();\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();\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();\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();\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();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new 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));\nexport { 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.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from './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));\nexport { InnerSubscriber };\n//# sourceMappingURL=InnerSubscriber.js.map","export var rxSubscriber = (function () {\n return typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map","import { __extends } from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\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(this, value, index);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\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));\n//# sourceMappingURL=switchMap.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new 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//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n else if (Symbol && Symbol.asyncIterator && typeof input[Symbol.asyncIterator] === 'function') {\n return scheduleAsyncIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[Symbol_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//# sourceMappingURL=scheduleObservable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new 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//# sourceMappingURL=schedulePromise.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new 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[Symbol_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//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var iterator = input[Symbol.asyncIterator]();\n sub.add(scheduler.schedule(function () {\n var _this = this;\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n _this.schedule();\n }\n });\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map","var 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}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = 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));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { __extends } from \"tslib\";\nimport { Action } from './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 return undefined;\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));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../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));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function 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(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map","import { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map","import { EMPTY } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\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(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return 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}());\nexport { Notification };\n//# sourceMappingURL=Notification.js.map","import { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\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}\n//# sourceMappingURL=pipe.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\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 key;\n try {\n var keySelector = this.keySelector;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n var result = false;\n if (this.hasKey) {\n try {\n var compare = this.compare;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from './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));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","export var 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 subscriber.complete();\n}; };\n//# sourceMappingURL=subscribeToArray.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var async = new AsyncScheduler(AsyncAction);\n//# sourceMappingURL=async.js.map","import { __asyncValues, __awaiter, __generator } from \"tslib\";\nexport function subscribeToAsyncIterable(asyncIterable) {\n return function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n };\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_1_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_1) throw e_1.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=subscribeToAsyncIterable.js.map","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { subscribeToAsyncIterable } from './subscribeToAsyncIterable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else if (Symbol && Symbol.asyncIterator &&\n !!result && typeof result[Symbol.asyncIterator] === 'function') {\n return subscribeToAsyncIterable(result);\n }\n else {\n var value = 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","import { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) { return function (subscriber) {\n var obs = obj[Symbol_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","import { hostReportError } from './hostReportError';\nexport var 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);\n return subscriber;\n}; };\n//# sourceMappingURL=subscribeToPromise.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) { return function (subscriber) {\n var iterator = iterable[Symbol_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","import { __extends } from \"tslib\";\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function 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(project(a, i)).pipe(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}\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}());\nexport { 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(this, value, index);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = subscribeToResult(this, ish, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\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));\nexport { MergeMapSubscriber };\n//# sourceMappingURL=mergeMap.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function 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}\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}());\nexport { 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.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber));\nexport { ObserveOnSubscriber };\nvar ObserveOnMessage = (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexport { ObserveOnMessage };\n//# sourceMappingURL=observeOn.js.map","/*!\n * clipboard.js v2.0.6\n * https://clipboardjs.com/\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 6);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(3);\nvar delegate = __webpack_require__(4);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(5);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(0);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n\n// CONCATENATED MODULE: ./src/clipboard-action.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\n\nvar clipboard_action_ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = select_default()(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = select_default()(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n document.activeElement.blur();\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\n/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(1);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(2);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n\n// CONCATENATED MODULE: ./src/clipboard.js\nvar clipboard_typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar clipboard_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\nvar clipboard_Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n clipboard_classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n clipboard_createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new clipboard_action({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(tiny_emitter_default.a);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\n/* harmony default export */ var clipboard = __webpack_exports__[\"default\"] = (clipboard_Clipboard);\n\n/***/ })\n/******/ ])[\"default\"];\n});","import { __extends } from \"tslib\";\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nvar NONE = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = undefined;\n var scheduler = undefined;\n if (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(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\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}());\nexport { 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(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));\nexport { CombineLatestSubscriber };\n//# sourceMappingURL=combineLatest.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { EMPTY } from './empty';\nexport function defer(observableFactory) {\n return new 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(input) : EMPTY;\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './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));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queue = new QueueScheduler(QueueAction);\n//# sourceMappingURL=queue.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './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));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './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();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new 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).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));\nexport { 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","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\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;\n _this._tapError = noop;\n _this._tapComplete = noop;\n _this._tapError = error || noop;\n _this._tapComplete = complete || noop;\n if (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;\n _this._tapError = observerOrNext.error || noop;\n _this._tapComplete = observerOrNext.complete || 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));\n//# sourceMappingURL=tap.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function 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}\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, _state, _hasState) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this._state = _state;\n _this._hasState = _hasState;\n _this.index = 0;\n return _this;\n }\n ScanSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (!this._hasState) {\n this._state = value;\n this._hasState = true;\n destination.next(value);\n }\n else {\n var index = this.index++;\n var result = void 0;\n try {\n result = this.accumulator(this._state, value, index);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._state = result;\n destination.next(result);\n }\n };\n return ScanSubscriber;\n}(Subscriber));\n//# sourceMappingURL=scan.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\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(callback));\n return _this;\n }\n return FinallySubscriber;\n}(Subscriber));\n//# sourceMappingURL=finalize.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './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(undefined); }));\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));\nexport { AnimationFrameAction };\n//# sourceMappingURL=AnimationFrameAction.js.map","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrame = new AnimationFrameScheduler(AnimationFrameAction);\n//# sourceMappingURL=animationFrame.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './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));\nexport { AnimationFrameScheduler };\n//# sourceMappingURL=AnimationFrameScheduler.js.map","import { ReplaySubject } from '../ReplaySubject';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime: windowTime,\n refCount: false,\n scheduler: scheduler\n };\n }\n return function (source) { return source.lift(shareReplayOperator(config)); };\n}\nfunction shareReplayOperator(_a) {\n var _b = _a.bufferSize, bufferSize = _b === void 0 ? Number.POSITIVE_INFINITY : _b, _c = _a.windowTime, windowTime = _c === void 0 ? Number.POSITIVE_INFINITY : _c, useRefCount = _a.refCount, scheduler = _a.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(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 subscription = undefined;\n subject.complete();\n },\n });\n }\n var innerSub = subject.subscribe(this);\n this.add(function () {\n refCount--;\n innerSub.unsubscribe();\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n//# sourceMappingURL=shareReplay.js.map","import { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged(function (x, y) { return compare ? compare(x[key], y[key]) : x[key] === y[key]; });\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map","import { __extends, __spreadArrays } from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function 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}\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(_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 = __spreadArrays([value], 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));\n//# sourceMappingURL=withLatestFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function 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}\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));\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));\n//# sourceMappingURL=bufferCount.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return concatAll()(of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n var scheduler = values[values.length - 1];\n if (isScheduler(scheduler)) {\n values.pop();\n return function (source) { return concat(values, source, scheduler); };\n }\n else {\n return function (source) { return concat(values, source); };\n }\n}\n//# sourceMappingURL=startWith.js.map","import _curry1 from \"./internal/_curry1.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\n\nvar reverse =\n/*#__PURE__*/\n_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n\nexport default reverse;","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new 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}\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","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\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));\n//# sourceMappingURL=mapTo.js.map","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function 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 = undefined;\n var last = observables[observables.length - 1];\n if (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 && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new 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(removeHandler)) {\n return undefined;\n }\n return function () { return removeHandler(handler, retValue); };\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\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));\n//# sourceMappingURL=filter.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './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();\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));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map","import { map } from './map';\nexport function 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 map(function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp[properties[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n });\n}\n//# sourceMappingURL=pluck.js.map","import { __extends } from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport var defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nexport function throttle(durationSelector, config) {\n if (config === void 0) { config = defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, !!config.leading, !!config.trailing)); };\n}\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._sendValue = null;\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(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));\n//# sourceMappingURL=throttle.js.map","import { switchMap } from './switchMap';\nexport function switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? switchMap(function () { return innerObservable; }, resultSelector) : switchMap(function () { return innerObservable; });\n}\n//# sourceMappingURL=switchMapTo.js.map","import { __extends } from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function sample(notifier) {\n return function (source) { return source.lift(new SampleOperator(notifier)); };\n}\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(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));\n//# sourceMappingURL=sample.js.map","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\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));\n//# sourceMappingURL=skip.js.map","import { __extends } from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function 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}\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(this, undefined, undefined);\n this.add(innerSubscriber);\n var innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n };\n return CatchSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=catchError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) { scheduler = async; }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\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));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map","import { defer } from './defer';\nimport { EMPTY } from './empty';\nexport function iif(condition, trueResult, falseResult) {\n if (trueResult === void 0) { trueResult = EMPTY; }\n if (falseResult === void 0) { falseResult = EMPTY; }\n return defer(function () { return condition() ? trueResult : falseResult; });\n}\n//# sourceMappingURL=iif.js.map","import _curry1 from \"./internal/_curry1.js\";\nimport keys from \"./keys.js\";\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\n\nvar values =\n/*#__PURE__*/\n_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n\n return vals;\n});\n\nexport default values;","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\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 _this.connection = null;\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));\n//# sourceMappingURL=refCount.js.map","import { __extends } from \"tslib\";\nimport { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../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();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\nexport var connectableObservableDescriptor = (function () {\n var connectableProto = ConnectableObservable.prototype;\n return {\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 };\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}(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));\n//# sourceMappingURL=ConnectableObservable.js.map","import { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function 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, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\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}());\nexport { MulticastOperator };\n//# sourceMappingURL=multicast.js.map","import { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return function (source) { return refCount()(multicast(shareSubjectFactory)(source)); };\n}\n//# sourceMappingURL=share.js.map","var ArgumentOutOfRangeErrorImpl = (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { EMPTY } from '../observable/empty';\nexport function take(count) {\n return function (source) {\n if (count === 0) {\n return EMPTY;\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nvar TakeOperator = (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new 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));\n//# sourceMappingURL=take.js.map","export default function _identity(x) {\n return x;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _identity from \"./internal/_identity.js\";\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nexport default identity;","import { __extends } from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler) {\n if (scheduler === void 0) { scheduler = async; }\n var absoluteDelay = isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\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 if (source.isStopped) {\n source.destination.complete();\n source.active = false;\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.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 if (this.queue.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n return DelaySubscriber;\n}(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","export function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map","import { __extends } from \"tslib\";\nimport { root } from '../../util/root';\nimport { Observable } from '../../Observable';\nimport { Subscriber } from '../../Subscriber';\nimport { map } from '../../operators/map';\nfunction getCORSRequest() {\n if (root.XMLHttpRequest) {\n return new root.XMLHttpRequest();\n }\n else if (!!root.XDomainRequest) {\n return new root.XDomainRequest();\n }\n else {\n throw new Error('CORS is not supported by your browser');\n }\n}\nfunction getXMLHttpRequest() {\n if (root.XMLHttpRequest) {\n return new root.XMLHttpRequest();\n }\n else {\n var progId = void 0;\n try {\n var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n for (var i = 0; i < 3; i++) {\n try {\n progId = progIds[i];\n if (new root.ActiveXObject(progId)) {\n break;\n }\n }\n catch (e) {\n }\n }\n return new root.ActiveXObject(progId);\n }\n catch (e) {\n throw new Error('XMLHttpRequest is not supported by your browser');\n }\n }\n}\nexport function ajaxGet(url, headers) {\n return new AjaxObservable({ method: 'GET', url: url, headers: headers });\n}\nexport function ajaxPost(url, body, headers) {\n return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });\n}\nexport function ajaxDelete(url, headers) {\n return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });\n}\nexport function ajaxPut(url, body, headers) {\n return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });\n}\nexport function ajaxPatch(url, body, headers) {\n return new AjaxObservable({ method: 'PATCH', url: url, body: body, headers: headers });\n}\nvar mapResponse = map(function (x, index) { return x.response; });\nexport function ajaxGetJSON(url, headers) {\n return mapResponse(new AjaxObservable({\n method: 'GET',\n url: url,\n responseType: 'json',\n headers: headers\n }));\n}\nvar AjaxObservable = (function (_super) {\n __extends(AjaxObservable, _super);\n function AjaxObservable(urlOrRequest) {\n var _this = _super.call(this) || this;\n var request = {\n async: true,\n createXHR: function () {\n return this.crossDomain ? getCORSRequest() : getXMLHttpRequest();\n },\n crossDomain: true,\n withCredentials: false,\n headers: {},\n method: 'GET',\n responseType: 'json',\n timeout: 0\n };\n if (typeof urlOrRequest === 'string') {\n request.url = urlOrRequest;\n }\n else {\n for (var prop in urlOrRequest) {\n if (urlOrRequest.hasOwnProperty(prop)) {\n request[prop] = urlOrRequest[prop];\n }\n }\n }\n _this.request = request;\n return _this;\n }\n AjaxObservable.prototype._subscribe = function (subscriber) {\n return new AjaxSubscriber(subscriber, this.request);\n };\n AjaxObservable.create = (function () {\n var create = function (urlOrRequest) {\n return new AjaxObservable(urlOrRequest);\n };\n create.get = ajaxGet;\n create.post = ajaxPost;\n create.delete = ajaxDelete;\n create.put = ajaxPut;\n create.patch = ajaxPatch;\n create.getJSON = ajaxGetJSON;\n return create;\n })();\n return AjaxObservable;\n}(Observable));\nexport { AjaxObservable };\nvar AjaxSubscriber = (function (_super) {\n __extends(AjaxSubscriber, _super);\n function AjaxSubscriber(destination, request) {\n var _this = _super.call(this, destination) || this;\n _this.request = request;\n _this.done = false;\n var headers = request.headers = request.headers || {};\n if (!request.crossDomain && !_this.getHeader(headers, 'X-Requested-With')) {\n headers['X-Requested-With'] = 'XMLHttpRequest';\n }\n var contentTypeHeader = _this.getHeader(headers, 'Content-Type');\n if (!contentTypeHeader && !(root.FormData && request.body instanceof root.FormData) && typeof request.body !== 'undefined') {\n headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n request.body = _this.serializeBody(request.body, _this.getHeader(request.headers, 'Content-Type'));\n _this.send();\n return _this;\n }\n AjaxSubscriber.prototype.next = function (e) {\n this.done = true;\n var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;\n var result;\n try {\n result = new AjaxResponse(e, xhr, request);\n }\n catch (err) {\n return destination.error(err);\n }\n destination.next(result);\n };\n AjaxSubscriber.prototype.send = function () {\n var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;\n try {\n var xhr = this.xhr = request.createXHR();\n this.setupEvents(xhr, request);\n if (user) {\n xhr.open(method, url, async, user, password);\n }\n else {\n xhr.open(method, url, async);\n }\n if (async) {\n xhr.timeout = request.timeout;\n xhr.responseType = request.responseType;\n }\n if ('withCredentials' in xhr) {\n xhr.withCredentials = !!request.withCredentials;\n }\n this.setHeaders(xhr, headers);\n if (body) {\n xhr.send(body);\n }\n else {\n xhr.send();\n }\n }\n catch (err) {\n this.error(err);\n }\n };\n AjaxSubscriber.prototype.serializeBody = function (body, contentType) {\n if (!body || typeof body === 'string') {\n return body;\n }\n else if (root.FormData && body instanceof root.FormData) {\n return body;\n }\n if (contentType) {\n var splitIndex = contentType.indexOf(';');\n if (splitIndex !== -1) {\n contentType = contentType.substring(0, splitIndex);\n }\n }\n switch (contentType) {\n case 'application/x-www-form-urlencoded':\n return Object.keys(body).map(function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(body[key]); }).join('&');\n case 'application/json':\n return JSON.stringify(body);\n default:\n return body;\n }\n };\n AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {\n for (var key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n };\n AjaxSubscriber.prototype.getHeader = function (headers, headerName) {\n for (var key in headers) {\n if (key.toLowerCase() === headerName.toLowerCase()) {\n return headers[key];\n }\n }\n return undefined;\n };\n AjaxSubscriber.prototype.setupEvents = function (xhr, request) {\n var progressSubscriber = request.progressSubscriber;\n function xhrTimeout(e) {\n var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n var error;\n try {\n error = new AjaxTimeoutError(this, request);\n }\n catch (err) {\n error = err;\n }\n subscriber.error(error);\n }\n xhr.ontimeout = xhrTimeout;\n xhrTimeout.request = request;\n xhrTimeout.subscriber = this;\n xhrTimeout.progressSubscriber = progressSubscriber;\n if (xhr.upload && 'withCredentials' in xhr) {\n if (progressSubscriber) {\n var xhrProgress_1;\n xhrProgress_1 = function (e) {\n var progressSubscriber = xhrProgress_1.progressSubscriber;\n progressSubscriber.next(e);\n };\n if (root.XDomainRequest) {\n xhr.onprogress = xhrProgress_1;\n }\n else {\n xhr.upload.onprogress = xhrProgress_1;\n }\n xhrProgress_1.progressSubscriber = progressSubscriber;\n }\n var xhrError_1;\n xhrError_1 = function (e) {\n var _a = xhrError_1, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n var error;\n try {\n error = new AjaxError('ajax error', this, request);\n }\n catch (err) {\n error = err;\n }\n subscriber.error(error);\n };\n xhr.onerror = xhrError_1;\n xhrError_1.request = request;\n xhrError_1.subscriber = this;\n xhrError_1.progressSubscriber = progressSubscriber;\n }\n function xhrReadyStateChange(e) {\n return;\n }\n xhr.onreadystatechange = xhrReadyStateChange;\n xhrReadyStateChange.subscriber = this;\n xhrReadyStateChange.progressSubscriber = progressSubscriber;\n xhrReadyStateChange.request = request;\n function xhrLoad(e) {\n var _a = xhrLoad, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n if (this.readyState === 4) {\n var status_1 = this.status === 1223 ? 204 : this.status;\n var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);\n if (status_1 === 0) {\n status_1 = response ? 200 : 0;\n }\n if (status_1 < 400) {\n if (progressSubscriber) {\n progressSubscriber.complete();\n }\n subscriber.next(e);\n subscriber.complete();\n }\n else {\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n var error = void 0;\n try {\n error = new AjaxError('ajax error ' + status_1, this, request);\n }\n catch (err) {\n error = err;\n }\n subscriber.error(error);\n }\n }\n }\n xhr.onload = xhrLoad;\n xhrLoad.subscriber = this;\n xhrLoad.progressSubscriber = progressSubscriber;\n xhrLoad.request = request;\n };\n AjaxSubscriber.prototype.unsubscribe = function () {\n var _a = this, done = _a.done, xhr = _a.xhr;\n if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') {\n xhr.abort();\n }\n _super.prototype.unsubscribe.call(this);\n };\n return AjaxSubscriber;\n}(Subscriber));\nexport { AjaxSubscriber };\nvar AjaxResponse = (function () {\n function AjaxResponse(originalEvent, xhr, request) {\n this.originalEvent = originalEvent;\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n return AjaxResponse;\n}());\nexport { AjaxResponse };\nvar AjaxErrorImpl = (function () {\n function AjaxErrorImpl(message, xhr, request) {\n Error.call(this);\n this.message = message;\n this.name = 'AjaxError';\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n return this;\n }\n AjaxErrorImpl.prototype = Object.create(Error.prototype);\n return AjaxErrorImpl;\n})();\nexport var AjaxError = AjaxErrorImpl;\nfunction parseJson(xhr) {\n if ('response' in xhr) {\n return xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\n }\n else {\n return JSON.parse(xhr.responseText || 'null');\n }\n}\nfunction parseXhrResponse(responseType, xhr) {\n switch (responseType) {\n case 'json':\n return parseJson(xhr);\n case 'xml':\n return xhr.responseXML;\n case 'text':\n default:\n return ('response' in xhr) ? xhr.response : xhr.responseText;\n }\n}\nvar AjaxTimeoutErrorImpl = (function () {\n function AjaxTimeoutErrorImpl(xhr, request) {\n AjaxError.call(this, 'ajax timeout', xhr, request);\n this.name = 'AjaxTimeoutError';\n return this;\n }\n AjaxTimeoutErrorImpl.prototype = Object.create(AjaxError.prototype);\n return AjaxTimeoutErrorImpl;\n})();\nexport var AjaxTimeoutError = AjaxTimeoutErrorImpl;\n//# sourceMappingURL=AjaxObservable.js.map","import { AjaxObservable } from './AjaxObservable';\nexport var ajax = (function () { return AjaxObservable.create; })();\n//# sourceMappingURL=ajax.js.map"],"sourceRoot":""}