{"version":3,"mappings":"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sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,UAyGgK,GAH9I,CAAC,uBAAwB,mBAAoB,8BAGyH,GAFvK,CAAC,eAAgB,sBAE6K,GAD5L,CAAC,WACoN,GAvGnN,CACrB,qBAAsB,sBAAuB,mBAAoB,SAAU,mBAC3E,sBAAuB,yBAA0B,qBAAsB,kBACvE,qBAAsB,wBAAyB,oBAAqB,mBACpE,mBAAoB,WAmG+O,GAjGhP,CACnB,4BACA,aACA,aACA,eACA,sBACA,cACA,eACA,cACA,eACA,oBACA,4BACA,kBACA,aACA,iBACA,UACA,iBACA,UACA,SACA,QACA,WACA,WACA,WACA,mBACA,UACA,qBACA,SACA,gBACA,qBACA,wBACA,2BAmE4R,GAjEpQ,CACxB,aAAc,YAAa,cAAe,OAAQ,MAAO,QAAS,YAAa,UAC/E,iBAAkB,SAAU,gBAAiB,kBAAmB,qBAChE,2BAA4B,uBAAwB,wBA8DsQ,GA5DpS,CACtB,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,gBACA,iBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,aACA,gCACA,mBACA,OACA,kBAKsV;;;;;;;YAqD/UyK,GAmBU,oBAAXf,OACNA,OACkB,oBAAX3P,OAAyBA,OAAyB,oBAAT6M,KAAuBA,KAAO,KAnB1D3O,GAGD,eAJAwS,GAAQ5J,sBAA2B,mBAE5B5I,KAEW,WACjC,IAAIF,EAAO0S,GAAQ1S,KACnBA,EAAK+B,aAAa,iBAAkB,SAAUC,EAAQhC,EAAMiC,GACxDA,EAAIwP,kBAAoBA,GA5oBhC2K,EAAapc,KAA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","names":["IGNORE_FRAMES","creationTrace","ERROR_TAG","SEP_TAG","sepTemplate","LongStackTrace","this","error","getStacktrace","timestamp","Date","Error","getStacktraceWithUncaughtError","err","caughtError","getStacktraceWithCaughtError","stack","split","lines","trace","getFrames","i","length","hasOwnProperty","push","frames","longTrace","trim","getTime","traceFrames","lastTime","separator","concat","replace","addErrorStack","join","NEWLINE","stackTraceLimit","stackTraces","count","captureStackTraces","Zone","longStackTraceZoneSpec","name","longStackTraceLimit","getLongStackTrace","__symbol__","renderLongStackTrace","onScheduleTask","parentZoneDelegate","currentZone","targetZone","task","stackTracesEnabled","currentTask","data","type","Object","assign","scheduleTask","onHandleError","parentTask","longStack","handleError","frames1","frames2","frame1","indexOf","match","computeIgnoreFrames","call","define","__load_patch","global","api","zoneAwareFrame1","zoneAwareFrame2","zoneAwareFrame1WithoutNew","zoneAwareFrame2WithoutNew","zoneAwareFrame3WithoutNew","zoneJsInternalStackFramesSymbol","symbol","NativeError","zoneJsInternalStackFrames","ZoneAwareError","stackRewrite","zoneJsInternalStackFramesPolicy","__Zone_Error_BlacklistedStackFrames_policy","__Zone_Error_ZoneJsInternalStackFrames_policy","zoneFrame","zoneFrameName","zoneName","zone","result","parent","parentZoneFrameName","originalStack","isZoneFrame","frame","splice","_this","apply","arguments","currentZoneFrame","buildZoneFrameNames","zoneAwareStack","buildZoneAwareStackFrames","e","constructor","keys","forEach","key","value","undefined","prototype","zoneAwareStackSymbol","defineProperty","configurable","enumerable","get","set","newStack","specialPropertyNames","nativeErrorProperties","prop","filter","sp","Math","max","targetObject","constructorOpt","captureStackTrace","prepareStackTrace","structuredStackTrace","getFunctionName","childDetectZone","current","fork","parentZD","target","frames_1","runFrame","runGuardedFrame","runTaskFrame","shift","test","fnName","frameType","C","delegate","curr","onInvokeTask","applyThis","applyArgs","invokeTask","onCancelTask","cancelTask","onInvoke","callback","source","invoke","originalStackTraceLimit","run","runGuarded","fakeTransitionTo","scheduleEventTask","scheduleMacroTask","scheduleMicroTask","t","_transitionTo","__spreadArray","to","from","pack","ar","l","Array","slice","performance","mark","label","measure","symbolPrefix","__Zone_symbol_prefix","checkDuplicate","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","_ZoneDelegate","assertZonePatched","Promise","patches","ZoneAwarePromise","_currentZoneFrame","_currentTask","fn","ignoreDuplicate","perfName","_api","performanceMeasure","getZoneWith","wrap","_callback","intercept","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","scheduled","runCount","previousTask","isPeriodic","cancelFn","unknown","_updateTaskCount","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","customSchedule","ZoneTask","microTask","customCancel","canceling","nativeMicroTaskQueuePromise","DELEGATE_ZS","onHasTask","_","hasTaskState","hasTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","_invokeDlgt","_invokeCurrZone","_handleErrorZS","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","returnTask","scheduleFn","isEmpty","counts","prev","next","change","options","_state","self","useG","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","func","resolve","nativeThen","then","nativeScheduleMicroTask","queue","onUnhandledError","microtaskDrainDone","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","getOwnPropertyDescriptor","ObjectGetPrototypeOf","getPrototypeOf","create","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","zoneSymbol$1","isWindowExists","internalWindow","_global","propertyDesc","writable","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","HTMLElement","isMix","zoneSymbolEventNames$1","wrapFn","event","eventNameSymbol","listener","message","filename","lineno","colno","preventDefault","obj","desc","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","removeEventListener","addEventListener","REMOVE_ATTRIBUTE","removeAttribute","patchProperty","onProperties","j","originalInstanceKey","className","OriginalClass","a","instance","patchFn","proto","delegateName","isPropertyWritable","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","meta","scheduleMacroTaskWithCurrentZone","patched","original","isDetectedIEOrEdge","ieOrEdge","ua","navigator","userAgent","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","rejection","console","_loop_2","uncaughtPromiseError","throwOriginal","handler","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","REJECTED","promise","v","resolvePromise","once","wasCalled","wrappedFunction","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","makeResolver","scheduleResolveOrReject","JSON","stringify","REJECTION_HANDLED_HANDLER","chainPromise","onFulfilled","onRejected","promiseState","forwardResolution","forwardRejection","parentPromiseValue","isFinallyPromise","AggregateError","executor","ZONE_AWARE_PROMISE_TO_STRING","any","values","Symbol","iterator","promises","_i","values_1","finished","errors","race","res","rej","values_2","isThenable","onResolve","onReject","all","allWithCallback","allSettled","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","_loop_3","this_1","curValueIndex","thenErr","values_3","toStringTag","species","_a","catch","finally","onFinally","NativePromise","symbolThenPatched","Ctor","originalThen","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","zoneSymbol","_defineProperty","_getOwnPropertyDescriptor","_create","unconfigurablesKey","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","isRemoved","handleEvent","context","isCapture","tasks","copyTasks","_loop_4","globalZoneAwareCallback","globalCallback","globalZoneAwareCaptureCallback","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","nativePrependEventListener","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","passive","capture","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","allRemoved","compare","diff","typeOfDelegate","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","buildEventListenerOptions","prepareEventNames","constructorName","targetSource","G","unshift","existingTask","findEventTasks","captureTasks","removeTasks","exec","evtName","results","patchEventTargetMethods","foundTasks","captureFalseTasks","captureTrueTasks","Event","targetName","method","callbacks","nativeDelegate","opts","descriptor","ignoreProperties","tip","ip","targetIgnoreProperties","op","getOwnPropertyNames","startsWith","map","substring","__Zone_ignore_on_properties","patchTargets","internalWindow_1","ignoreErrorProperties","patchFilteredProperties","getOnEventNames","originalConfigurableFlag","_tryDefineProperty","rewriteDescriptor","isFrozen","swallowError","descJson","log","_b","Element","document","createElement","onclick","XMLHttpRequest","ON_READY_STATE_CHANGE","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","supportsWebSocket","WebSocket","unboundKey","_loop_5","property","eventNames","onproperty","bound","elt","m","parentElement","WS","EventTarget","x","y","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","isUnconfigurable","defineProperties","props","getOwnPropertySymbols","sym","propertiesObject","propertyPatch","NO_EVENT_TARGET","EVENT_TARGET","isWtf","wtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","__Zone_disable_IE_check","isEnableCrossContextCheck","__Zone_enable_cross_context_check","FUNCTION_WRAPPER","BROWSER_TOOLS","pointerEventsMap","MSPointerCancel","MSPointerDown","MSPointerEnter","MSPointerHover","MSPointerLeave","MSPointerMove","MSPointerOut","MSPointerOver","MSPointerUp","targets","apiTypes","testString","propertyDescriptorLegacyPatch","taskSymbol","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","options_1","delay","callback_1","clearTask","handle","ref","unref","bind","id","B","legacyPatch","clear","patchTimer","blockingMethods","s","XMLHttpRequestEventTarget","propertyDescriptorPatch","customElements","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","sendNative","url","aborted","placeholderCallback","XHR_ERROR_BEFORE_SCHEDULED","abortNative","XHR_TASK","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","geolocation","fnNames","_loop_1","name_1","PromiseRejectionEvent","evt","findPromiseRejectionHandler","globalThis","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","String","toLowerCase","items","done","headers","n","Headers","append","isArray","header","body","bodyUsed","reader","onload","onerror","blob","FileReader","fileReaderReady","readAsArrayBuffer","buf","view","Uint8Array","byteLength","buffer","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","q","URLSearchParams","DataView","_bodyArrayBuffer","bufferClone","rejected","consumed","arrayBuffer","byteOffset","readBlobAsArrayBuffer","text","readAsText","chars","fromCharCode","formData","decode","json","parse","normalizeName","normalizeValue","oldValue","delete","has","thisArg","iteratorFor","entries","methods","input","Request","credentials","mode","signal","upcased","toUpperCase","referrer","cache","reParamSearch","form","bytes","decodeURIComponent","rawHeaders","preProcessedHeaders","substr","line","parts","bodyInit","Response","ok","statusText","clone","Body","response","redirectStatuses","redirect","RangeError","location","DOMException","init","request","xhr","abort","parseHeaders","getAllResponseHeaders","responseURL","responseText","setTimeout","ontimeout","onabort","open","href","L","withCredentials","responseType","f","setRequestHeader","abortXhr","send","fetch","polyfill","createImageBitmap","img","src","URL","createObjectURL","HTMLCanvasElement","toBlob","quality","canvas","binStr","atob","toDataURL","len","arr","charCodeAt"],"sources":["webpack:///node_modules/zone.js/dist/long-stack-trace-zone.js","webpack:///node_modules/zone.js/dist/zone-error.js","webpack:///node_modules/zone.js/dist/zone.js","webpack:///node_modules/whatwg-fetch/fetch.js","webpack:///src/polyfills.ts"],"sourcesContent":["'use strict';\n/**\n * @license Angular v14.2.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * @fileoverview\n * @suppress {globalThis}\n */\n var NEWLINE = '\\n';\n var IGNORE_FRAMES = {};\n var creationTrace = '__creationTrace__';\n var ERROR_TAG = 'STACKTRACE TRACKING';\n var SEP_TAG = '__SEP_TAG__';\n var sepTemplate = SEP_TAG + '@[native]';\n var LongStackTrace = /** @class */ (function () {\n function LongStackTrace() {\n this.error = getStacktrace();\n this.timestamp = new Date();\n }\n return LongStackTrace;\n }());\n function getStacktraceWithUncaughtError() {\n return new Error(ERROR_TAG);\n }\n function getStacktraceWithCaughtError() {\n try {\n throw getStacktraceWithUncaughtError();\n }\n catch (err) {\n return err;\n }\n }\n // Some implementations of exception handling don't create a stack trace if the exception\n // isn't thrown, however it's faster not to actually throw the exception.\n var error = getStacktraceWithUncaughtError();\n var caughtError = getStacktraceWithCaughtError();\n var getStacktrace = error.stack ?\n getStacktraceWithUncaughtError :\n (caughtError.stack ? getStacktraceWithCaughtError : getStacktraceWithUncaughtError);\n function getFrames(error) {\n return error.stack ? error.stack.split(NEWLINE) : [];\n }\n function addErrorStack(lines, error) {\n var trace = getFrames(error);\n for (var i = 0; i < trace.length; i++) {\n var frame = trace[i];\n // Filter out the Frames which are part of stack capturing.\n if (!IGNORE_FRAMES.hasOwnProperty(frame)) {\n lines.push(trace[i]);\n }\n }\n }\n function renderLongStackTrace(frames, stack) {\n var longTrace = [stack ? stack.trim() : ''];\n if (frames) {\n var timestamp = new Date().getTime();\n for (var i = 0; i < frames.length; i++) {\n var traceFrames = frames[i];\n var lastTime = traceFrames.timestamp;\n var separator = \"____________________Elapsed \".concat(timestamp - lastTime.getTime(), \" ms; At: \").concat(lastTime);\n separator = separator.replace(/[^\\w\\d]/g, '_');\n longTrace.push(sepTemplate.replace(SEP_TAG, separator));\n addErrorStack(longTrace, traceFrames.error);\n timestamp = lastTime.getTime();\n }\n }\n return longTrace.join(NEWLINE);\n }\n // if Error.stackTraceLimit is 0, means stack trace\n // is disabled, so we don't need to generate long stack trace\n // this will improve performance in some test(some test will\n // set stackTraceLimit to 0, https://github.com/angular/zone.js/issues/698\n function stackTracesEnabled() {\n // Cast through any since this property only exists on Error in the nodejs\n // typings.\n return Error.stackTraceLimit > 0;\n }\n Zone['longStackTraceZoneSpec'] = {\n name: 'long-stack-trace',\n longStackTraceLimit: 10,\n // add a getLongStackTrace method in spec to\n // handle handled reject promise error.\n getLongStackTrace: function (error) {\n if (!error) {\n return undefined;\n }\n var trace = error[Zone.__symbol__('currentTaskTrace')];\n if (!trace) {\n return error.stack;\n }\n return renderLongStackTrace(trace, error.stack);\n },\n onScheduleTask: function (parentZoneDelegate, currentZone, targetZone, task) {\n if (stackTracesEnabled()) {\n var currentTask = Zone.currentTask;\n var trace = currentTask && currentTask.data && currentTask.data[creationTrace] || [];\n trace = [new LongStackTrace()].concat(trace);\n if (trace.length > this.longStackTraceLimit) {\n trace.length = this.longStackTraceLimit;\n }\n if (!task.data)\n task.data = {};\n if (task.type === 'eventTask') {\n // Fix issue https://github.com/angular/zone.js/issues/1195,\n // For event task of browser, by default, all task will share a\n // singleton instance of data object, we should create a new one here\n // The cast to `any` is required to workaround a closure bug which wrongly applies\n // URL sanitization rules to .data access.\n task.data = Object.assign({}, task.data);\n }\n task.data[creationTrace] = trace;\n }\n return parentZoneDelegate.scheduleTask(targetZone, task);\n },\n onHandleError: function (parentZoneDelegate, currentZone, targetZone, error) {\n if (stackTracesEnabled()) {\n var parentTask = Zone.currentTask || error.task;\n if (error instanceof Error && parentTask) {\n var longStack = renderLongStackTrace(parentTask.data && parentTask.data[creationTrace], error.stack);\n try {\n error.stack = error.longStack = longStack;\n }\n catch (err) {\n }\n }\n }\n return parentZoneDelegate.handleError(targetZone, error);\n }\n };\n function captureStackTraces(stackTraces, count) {\n if (count > 0) {\n stackTraces.push(getFrames((new LongStackTrace()).error));\n captureStackTraces(stackTraces, count - 1);\n }\n }\n function computeIgnoreFrames() {\n if (!stackTracesEnabled()) {\n return;\n }\n var frames = [];\n captureStackTraces(frames, 2);\n var frames1 = frames[0];\n var frames2 = frames[1];\n for (var i = 0; i < frames1.length; i++) {\n var frame1 = frames1[i];\n if (frame1.indexOf(ERROR_TAG) == -1) {\n var match = frame1.match(/^\\s*at\\s+/);\n if (match) {\n sepTemplate = match[0] + SEP_TAG + ' (http://localhost)';\n break;\n }\n }\n }\n for (var i = 0; i < frames1.length; i++) {\n var frame1 = frames1[i];\n var frame2 = frames2[i];\n if (frame1 === frame2) {\n IGNORE_FRAMES[frame1] = true;\n }\n else {\n break;\n }\n }\n }\n computeIgnoreFrames();\n}));\n","'use strict';\n/**\n * @license Angular v14.2.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * @fileoverview\n * @suppress {globalThis,undefinedVars}\n */\n Zone.__load_patch('Error', function (global, Zone, api) {\n /*\n * This code patches Error so that:\n * - It ignores un-needed stack frames.\n * - It Shows the associated Zone for reach frame.\n */\n var zoneJsInternalStackFramesSymbol = api.symbol('zoneJsInternalStackFrames');\n var NativeError = global[api.symbol('Error')] = global['Error'];\n // Store the frames which should be removed from the stack frames\n var zoneJsInternalStackFrames = {};\n // We must find the frame where Error was created, otherwise we assume we don't understand stack\n var zoneAwareFrame1;\n var zoneAwareFrame2;\n var zoneAwareFrame1WithoutNew;\n var zoneAwareFrame2WithoutNew;\n var zoneAwareFrame3WithoutNew;\n global['Error'] = ZoneAwareError;\n var stackRewrite = 'stackRewrite';\n var zoneJsInternalStackFramesPolicy = global['__Zone_Error_BlacklistedStackFrames_policy'] ||\n global['__Zone_Error_ZoneJsInternalStackFrames_policy'] || 'default';\n function buildZoneFrameNames(zoneFrame) {\n var zoneFrameName = { zoneName: zoneFrame.zone.name };\n var result = zoneFrameName;\n while (zoneFrame.parent) {\n zoneFrame = zoneFrame.parent;\n var parentZoneFrameName = { zoneName: zoneFrame.zone.name };\n zoneFrameName.parent = parentZoneFrameName;\n zoneFrameName = parentZoneFrameName;\n }\n return result;\n }\n function buildZoneAwareStackFrames(originalStack, zoneFrame, isZoneFrame) {\n if (isZoneFrame === void 0) { isZoneFrame = true; }\n var frames = originalStack.split('\\n');\n var i = 0;\n // Find the first frame\n while (!(frames[i] === zoneAwareFrame1 || frames[i] === zoneAwareFrame2 ||\n frames[i] === zoneAwareFrame1WithoutNew || frames[i] === zoneAwareFrame2WithoutNew ||\n frames[i] === zoneAwareFrame3WithoutNew) &&\n i < frames.length) {\n i++;\n }\n for (; i < frames.length && zoneFrame; i++) {\n var frame = frames[i];\n if (frame.trim()) {\n switch (zoneJsInternalStackFrames[frame]) {\n case 0 /* FrameType.zoneJsInternal */:\n frames.splice(i, 1);\n i--;\n break;\n case 1 /* FrameType.transition */:\n if (zoneFrame.parent) {\n // This is the special frame where zone changed. Print and process it accordingly\n zoneFrame = zoneFrame.parent;\n }\n else {\n zoneFrame = null;\n }\n frames.splice(i, 1);\n i--;\n break;\n default:\n frames[i] += isZoneFrame ? \" [\".concat(zoneFrame.zone.name, \"]\") :\n \" [\".concat(zoneFrame.zoneName, \"]\");\n }\n }\n }\n return frames.join('\\n');\n }\n /**\n * This is ZoneAwareError which processes the stack frame and cleans up extra frames as well as\n * adds zone information to it.\n */\n function ZoneAwareError() {\n var _this = this;\n // We always have to return native error otherwise the browser console will not work.\n var error = NativeError.apply(this, arguments);\n // Save original stack trace\n var originalStack = error['originalStack'] = error.stack;\n // Process the stack trace and rewrite the frames.\n if (ZoneAwareError[stackRewrite] && originalStack) {\n var zoneFrame = api.currentZoneFrame();\n if (zoneJsInternalStackFramesPolicy === 'lazy') {\n // don't handle stack trace now\n error[api.symbol('zoneFrameNames')] = buildZoneFrameNames(zoneFrame);\n }\n else if (zoneJsInternalStackFramesPolicy === 'default') {\n try {\n error.stack = error.zoneAwareStack = buildZoneAwareStackFrames(originalStack, zoneFrame);\n }\n catch (e) {\n // ignore as some browsers don't allow overriding of stack\n }\n }\n }\n if (this instanceof NativeError && this.constructor != NativeError) {\n // We got called with a `new` operator AND we are subclass of ZoneAwareError\n // in that case we have to copy all of our properties to `this`.\n Object.keys(error).concat('stack', 'message').forEach(function (key) {\n var value = error[key];\n if (value !== undefined) {\n try {\n _this[key] = value;\n }\n catch (e) {\n // ignore the assignment in case it is a setter and it throws.\n }\n }\n });\n return this;\n }\n return error;\n }\n // Copy the prototype so that instanceof operator works as expected\n ZoneAwareError.prototype = NativeError.prototype;\n ZoneAwareError[zoneJsInternalStackFramesSymbol] = zoneJsInternalStackFrames;\n ZoneAwareError[stackRewrite] = false;\n var zoneAwareStackSymbol = api.symbol('zoneAwareStack');\n // try to define zoneAwareStack property when zoneJsInternal frames policy is delay\n if (zoneJsInternalStackFramesPolicy === 'lazy') {\n Object.defineProperty(ZoneAwareError.prototype, 'zoneAwareStack', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this[zoneAwareStackSymbol]) {\n this[zoneAwareStackSymbol] = buildZoneAwareStackFrames(this.originalStack, this[api.symbol('zoneFrameNames')], false);\n }\n return this[zoneAwareStackSymbol];\n },\n set: function (newStack) {\n this.originalStack = newStack;\n this[zoneAwareStackSymbol] = buildZoneAwareStackFrames(this.originalStack, this[api.symbol('zoneFrameNames')], false);\n }\n });\n }\n // those properties need special handling\n var specialPropertyNames = ['stackTraceLimit', 'captureStackTrace', 'prepareStackTrace'];\n // those properties of NativeError should be set to ZoneAwareError\n var nativeErrorProperties = Object.keys(NativeError);\n if (nativeErrorProperties) {\n nativeErrorProperties.forEach(function (prop) {\n if (specialPropertyNames.filter(function (sp) { return sp === prop; }).length === 0) {\n Object.defineProperty(ZoneAwareError, prop, {\n get: function () {\n return NativeError[prop];\n },\n set: function (value) {\n NativeError[prop] = value;\n }\n });\n }\n });\n }\n if (NativeError.hasOwnProperty('stackTraceLimit')) {\n // Extend default stack limit as we will be removing few frames.\n NativeError.stackTraceLimit = Math.max(NativeError.stackTraceLimit, 15);\n // make sure that ZoneAwareError has the same property which forwards to NativeError.\n Object.defineProperty(ZoneAwareError, 'stackTraceLimit', {\n get: function () {\n return NativeError.stackTraceLimit;\n },\n set: function (value) {\n return NativeError.stackTraceLimit = value;\n }\n });\n }\n if (NativeError.hasOwnProperty('captureStackTrace')) {\n Object.defineProperty(ZoneAwareError, 'captureStackTrace', {\n // add named function here because we need to remove this\n // stack frame when prepareStackTrace below\n value: function zoneCaptureStackTrace(targetObject, constructorOpt) {\n NativeError.captureStackTrace(targetObject, constructorOpt);\n }\n });\n }\n var ZONE_CAPTURESTACKTRACE = 'zoneCaptureStackTrace';\n Object.defineProperty(ZoneAwareError, 'prepareStackTrace', {\n get: function () {\n return NativeError.prepareStackTrace;\n },\n set: function (value) {\n if (!value || typeof value !== 'function') {\n return NativeError.prepareStackTrace = value;\n }\n return NativeError.prepareStackTrace = function (error, structuredStackTrace) {\n // remove additional stack information from ZoneAwareError.captureStackTrace\n if (structuredStackTrace) {\n for (var i = 0; i < structuredStackTrace.length; i++) {\n var st = structuredStackTrace[i];\n // remove the first function which name is zoneCaptureStackTrace\n if (st.getFunctionName() === ZONE_CAPTURESTACKTRACE) {\n structuredStackTrace.splice(i, 1);\n break;\n }\n }\n }\n return value.call(this, error, structuredStackTrace);\n };\n }\n });\n if (zoneJsInternalStackFramesPolicy === 'disable') {\n // don't need to run detectZone to populate zoneJs internal stack frames\n return;\n }\n // Now we need to populate the `zoneJsInternalStackFrames` as well as find the\n // run/runGuarded/runTask frames. This is done by creating a detect zone and then threading\n // the execution through all of the above methods so that we can look at the stack trace and\n // find the frames of interest.\n var detectZone = Zone.current.fork({\n name: 'detect',\n onHandleError: function (parentZD, current, target, error) {\n if (error.originalStack && Error === ZoneAwareError) {\n var frames_1 = error.originalStack.split(/\\n/);\n var runFrame = false, runGuardedFrame = false, runTaskFrame = false;\n while (frames_1.length) {\n var frame = frames_1.shift();\n // On safari it is possible to have stack frame with no line number.\n // This check makes sure that we don't filter frames on name only (must have\n // line number or exact equals to `ZoneAwareError`)\n if (/:\\d+:\\d+/.test(frame) || frame === 'ZoneAwareError') {\n // Get rid of the path so that we don't accidentally find function name in path.\n // In chrome the separator is `(` and `@` in FF and safari\n // Chrome: at Zone.run (zone.js:100)\n // Chrome: at Zone.run (http://localhost:9876/base/build/lib/zone.js:100:24)\n // FireFox: Zone.prototype.run@http://localhost:9876/base/build/lib/zone.js:101:24\n // Safari: run@http://localhost:9876/base/build/lib/zone.js:101:24\n var fnName = frame.split('(')[0].split('@')[0];\n var frameType = 1 /* FrameType.transition */;\n if (fnName.indexOf('ZoneAwareError') !== -1) {\n if (fnName.indexOf('new ZoneAwareError') !== -1) {\n zoneAwareFrame1 = frame;\n zoneAwareFrame2 = frame.replace('new ZoneAwareError', 'new Error.ZoneAwareError');\n }\n else {\n zoneAwareFrame1WithoutNew = frame;\n zoneAwareFrame2WithoutNew = frame.replace('Error.', '');\n if (frame.indexOf('Error.ZoneAwareError') === -1) {\n zoneAwareFrame3WithoutNew =\n frame.replace('ZoneAwareError', 'Error.ZoneAwareError');\n }\n }\n zoneJsInternalStackFrames[zoneAwareFrame2] = 0 /* FrameType.zoneJsInternal */;\n }\n if (fnName.indexOf('runGuarded') !== -1) {\n runGuardedFrame = true;\n }\n else if (fnName.indexOf('runTask') !== -1) {\n runTaskFrame = true;\n }\n else if (fnName.indexOf('run') !== -1) {\n runFrame = true;\n }\n else {\n frameType = 0 /* FrameType.zoneJsInternal */;\n }\n zoneJsInternalStackFrames[frame] = frameType;\n // Once we find all of the frames we can stop looking.\n if (runFrame && runGuardedFrame && runTaskFrame) {\n ZoneAwareError[stackRewrite] = true;\n break;\n }\n }\n }\n }\n return false;\n }\n });\n // carefully constructor a stack frame which contains all of the frames of interest which\n // need to be detected and marked as an internal zoneJs frame.\n var childDetectZone = detectZone.fork({\n name: 'child',\n onScheduleTask: function (delegate, curr, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, curr, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, curr, target, task) {\n return delegate.cancelTask(target, task);\n },\n onInvoke: function (delegate, curr, target, callback, applyThis, applyArgs, source) {\n return delegate.invoke(target, callback, applyThis, applyArgs, source);\n }\n });\n // we need to detect all zone related frames, it will\n // exceed default stackTraceLimit, so we set it to\n // larger number here, and restore it after detect finish.\n // We cast through any so we don't need to depend on nodejs typings.\n var originalStackTraceLimit = Error.stackTraceLimit;\n Error.stackTraceLimit = 100;\n // we schedule event/micro/macro task, and invoke them\n // when onSchedule, so we can get all stack traces for\n // all kinds of tasks with one error thrown.\n childDetectZone.run(function () {\n childDetectZone.runGuarded(function () {\n var fakeTransitionTo = function () { };\n childDetectZone.scheduleEventTask(zoneJsInternalStackFramesSymbol, function () {\n childDetectZone.scheduleMacroTask(zoneJsInternalStackFramesSymbol, function () {\n childDetectZone.scheduleMicroTask(zoneJsInternalStackFramesSymbol, function () {\n throw new Error();\n }, undefined, function (t) {\n t._transitionTo = fakeTransitionTo;\n t.invoke();\n });\n childDetectZone.scheduleMicroTask(zoneJsInternalStackFramesSymbol, function () {\n throw Error();\n }, undefined, function (t) {\n t._transitionTo = fakeTransitionTo;\n t.invoke();\n });\n }, undefined, function (t) {\n t._transitionTo = fakeTransitionTo;\n t.invoke();\n }, function () { });\n }, undefined, function (t) {\n t._transitionTo = fakeTransitionTo;\n t.invoke();\n }, function () { });\n });\n });\n Error.stackTraceLimit = originalStackTraceLimit;\n });\n}));\n","'use strict';\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @license Angular v14.2.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n ((function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: false,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn, ignoreDuplicate) {\n if (ignoreDuplicate === void 0) { ignoreDuplicate = false; }\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: false,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \".concat(this.name, \" which is descendants of the original zone \").concat(task.zone.name));\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var _ZoneDelegate = /** @class */ (function () {\n function _ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n _ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n _ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n _ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n _ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n _ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n _ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n _ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n _ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n _ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return _ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(\"\".concat(this.type, \" '\").concat(this.source, \"': can not transition to '\").concat(toState, \"', expecting state '\").concat(fromState1, \"'\").concat(fromState2 ? ' or \\'' + fromState2 + '\\'' : '', \", was '\").concat(this._state, \"'.\"));\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; },\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n }))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol$1 = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames$1 = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol$1('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol$1('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.slice(2);\n var eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol$1('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol$1('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol$1(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol$1(name);\n var delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol$1('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n var _loop_2 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_2();\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n var uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var AggregateError = global.AggregateError;\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n var onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.any = function (values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n var promises = [];\n var count = 0;\n try {\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var v = values_1[_i];\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n var finished = false;\n var errors = [];\n return new ZoneAwarePromise(function (resolve, reject) {\n for (var i = 0; i < promises.length; i++) {\n promises[i].then(function (v) {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, function (err) {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n };\n ;\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n return ZoneAwarePromise.allWithCallback(values);\n };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_3 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_3 = values; _i < values_3.length; _i++) {\n var value = values_3[_i];\n _loop_3(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () {\n return 'Promise';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () {\n return ZoneAwarePromise;\n },\n enumerable: false,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n var C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n var C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n var resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', function (delegate) { return zoneify(delegate); });\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol$1('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol$1('Promise');\n var ERROR_SYMBOL = zoneSymbol$1('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol$1('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, api, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol$1(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n var error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = context || event.target || _global;\n var tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n var errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n var err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n var err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n var _loop_4 = function (i) {\n var err = errors[i];\n api.nativeScheduleMicroTask(function () {\n throw err;\n });\n };\n for (var i = 0; i < errors.length; i++) {\n _loop_4(i);\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol$1(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol$1(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol$1(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol$1(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var unpatchedEvents = Zone[zoneSymbol$1('UNPATCHED_EVENTS')];\n var passiveEvents = _global[zoneSymbol$1('PASSIVE_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (var i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n var symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = \"\".concat(targetName, \".\").concat(method, \"::\") + callback;\n var prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n /**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\n function getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(function (name) { return name.startsWith('on') && name.length > 2; })\n .map(function (name) { return name.substring(2); });\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n var patchTargets = [];\n if (isBrowser) {\n var internalWindow_1 = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n var ignoreErrorProperties = isIE() ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, getOnEventNames(internalWindow_1), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (var i = 0; i < patchTargets.length; i++) {\n var target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\n }\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', function (global, Zone, api) {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n var eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({\n globalSources: globalSources,\n zoneSymbolEventNames: zoneSymbolEventNames,\n eventNames: eventNames,\n isBrowser: isBrowser,\n isMix: isMix,\n isNode: isNode,\n TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR,\n ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR\n }); };\n });\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n for (var _i = 0, _b = Object.getOwnPropertySymbols(props); _i < _b.length; _i++) {\n var sym = _b[_i];\n var desc = Object.getOwnPropertyDescriptor(props, sym);\n // Since `Object.getOwnPropertySymbols` returns *all* symbols,\n // including non-enumerable ones, retrieve property descriptor and check\n // enumerability there. Proceed with the rewrite only when a property is\n // enumerable to make the logic consistent with the way regular\n // properties are retrieved (via `Object.keys`, which respects\n // `enumerable: false` flag). More information:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties#retrieval\n if (desc === null || desc === void 0 ? void 0 : desc.enumerable) {\n Object.defineProperty(obj, sym, props[sym]);\n }\n }\n return obj;\n };\n Object.create = function (proto, propertiesObject) {\n if (typeof propertiesObject === 'object' && !Object.isFrozen(propertiesObject)) {\n Object.keys(propertiesObject).forEach(function (prop) {\n propertiesObject[prop] = rewriteDescriptor(proto, prop, propertiesObject[prop]);\n });\n }\n return _create(proto, propertiesObject);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(),\n // let's retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var swallowError = false;\n if (prop === 'createdCallback' || prop === 'attachedCallback' ||\n prop === 'detachedCallback' || prop === 'attributeChangedCallback') {\n // We only swallow the error in registerElement patch\n // this is the work around since some applications\n // fail if we throw the error\n swallowError = true;\n }\n if (!swallowError) {\n throw error;\n }\n // TODO: @JiaLiPassion, Some application such as `registerElement` patch\n // still need to swallow the error, in the future after these applications\n // are updated, the following logic can be removed.\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\".concat(prop, \"' with descriptor '\").concat(descJson, \"' on object '\").concat(obj, \"' and got error, giving up: \").concat(error));\n }\n }\n else {\n throw error;\n }\n }\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetLegacyPatch(_global, api) {\n var _b = api.getGlobalObjects(), eventNames = _b.eventNames, globalSources = _b.globalSources, zoneSymbolEventNames = _b.zoneSymbolEventNames, TRUE_STR = _b.TRUE_STR, FALSE_STR = _b.FALSE_STR, ZONE_SYMBOL_PREFIX = _b.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, api, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _b = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _b.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _b.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, api, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _b = api.getGlobalObjects(), isNode = _b.isNode, isMix = _b.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _b = api.getGlobalObjects(), isBrowser = _b.isBrowser, isMix = _b.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var eventNames = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], globalEventHandlersEventNames, true), webglEventNames, true), formEventNames, true), detailEventNames, true), documentEventNames, true), windowEventNames, true), htmlElementEventNames, true), ieElementEventNames, true);\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var unboundKey = api.symbol('unbound');\n var _loop_5 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_5(i);\n }\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function registerElementPatch(_global, api) {\n var _b = api.getGlobalObjects(), isBrowser = _b.isBrowser, isMix = _b.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var taskSymbol = zoneSymbol$1('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options_1 = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var callback_1 = args[0];\n args[0] = function timer() {\n try {\n return callback_1.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options_1.isPeriodic)) {\n if (typeof options_1.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options_1.handleId];\n }\n else if (options_1.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options_1.handleId[taskSymbol] = null;\n }\n }\n }\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options_1, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n var _b = api.getGlobalObjects(), isBrowser = _b.isBrowser, isMix = _b.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _b = api.getGlobalObjects(), eventNames = _b.eventNames, zoneSymbolEventNames = _b.zoneSymbolEventNames, TRUE_STR = _b.TRUE_STR, FALSE_STR = _b.FALSE_STR, ZONE_SYMBOL_PREFIX = _b.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('queueMicrotask', function (global, Zone, api) {\n api.patchMethod(global, 'queueMicrotask', function (delegate) {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n });\n Zone.__load_patch('MutationObserver', function (global, Zone, api) {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n });\n Zone.__load_patch('IntersectionObserver', function (global, Zone, api) {\n patchClass('IntersectionObserver');\n });\n Zone.__load_patch('FileReader', function (global, Zone, api) {\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol$1('xhrTask');\n var XHR_SYNC = zoneSymbol$1('xhrSync');\n var XHR_LISTENER = zoneSymbol$1('xhrListener');\n var XHR_SCHEDULED = zoneSymbol$1('xhrScheduled');\n var XHR_URL = zoneSymbol$1('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol$1('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol$1('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol$1('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol$1('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol$1('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n}));\n","var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","// This file includes polyfills needed by Angular 2 and is loaded before\r\n// the app. You can add your own extra polyfills to this file.\r\n// import 'core-js/es6/symbol';\r\n// import 'core-js/es6/object';\r\n// import 'core-js/es6/function';\r\n// import 'core-js/es6/parse-int';\r\n// import 'core-js/es6/parse-float';\r\n// import 'core-js/es6/number';\r\n// import 'core-js/es6/math';\r\n// import 'core-js/es6/string';\r\n// import 'core-js/es6/date';\r\n// import 'core-js/es6/array';\r\n// import 'core-js/es6/regexp';\r\n// import 'core-js/es6/map';\r\n// import 'core-js/es6/set';\r\n// import 'core-js/es6/reflect';\r\n\r\n\r\nimport 'zone.js/dist/zone';\r\n\r\nimport 'zone.js/dist/long-stack-trace-zone.js';\r\nimport 'zone.js/dist/zone-error';\r\n\r\n\r\nimport 'whatwg-fetch/fetch'\r\n\r\n\r\n/* Safari and Edge polyfill for createImageBitmap\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/createImageBitmap\r\n */\r\nif (!('createImageBitmap' in window)) {\r\n (window[\"createImageBitmap\"]) = async function (blob: any) {\r\n return new Promise((resolve, reject) => {\r\n let img = document.createElement('img');\r\n img.addEventListener('load', function () {\r\n resolve(this);\r\n });\r\n img.src = URL.createObjectURL(blob);\r\n });\r\n };\r\n\r\n\r\n\r\n\r\n}\r\n\r\n\r\nif (!HTMLCanvasElement.prototype.toBlob) {\r\n Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {\r\n value: function (callback, type, quality) {\r\n var canvas = this;\r\n setTimeout(function () {\r\n\r\n var binStr = atob(canvas.toDataURL(type, quality).split(',')[1]),\r\n len = binStr.length,\r\n arr = new Uint8Array(len);\r\n\r\n for (var i = 0; i < len; i++) {\r\n arr[i] = binStr.charCodeAt(i);\r\n }\r\n\r\n callback(new Blob([arr], { type: type || 'image/png' }));\r\n\r\n });\r\n }\r\n });\r\n}\r\n\r\n\r\ndeclare global {\r\n interface Console {\r\n tag: IConsoleTag;\r\n }\r\n\r\n interface IConsoleTag {\r\n info(tag: string, ...optionalParams: any[]);\r\n info2(tag: string, ...optionalParams: any[]);\r\n }\r\n}\r\n"]}