{"version":3,"mappings":"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CrB,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,0BAOEC,EAAyB,CAAC,YAAa,gBAAiB,YAAa,oBAAqB,mBA6D1FC,EAAkB,CAAC,QACnBC,EAAqB,CAAC,OAAQ,QAAS,QAAS,OAAQ,SAAU,SAAU,gBAC5EC,EAAoB,CAAC,SAAU,SAAU,SACzCC,EAA2B,CAC7B,YAAa,WAAY,QAAS,QAAS,OAAQ,WAAY,UAAW,UAC1E,oBAEEC,GAAqB,CAAC,gBAAiB,WAAY,QAAS,UAAW,QAAS,UAAW,gBAAiB,SAC5GC,GAAsB,CAAC,QAAS,QAAS,OAAQ,WACjDC,GAAmB,CAAC,QAAS,WAC7BC,GApNgC,CAClC,QACA,kBACA,eACA,qBACA,WACA,cACA,OACA,SACA,UACA,iBACA,SACA,mBACA,oBACA,iBACA,YACA,QACA,QACA,cACA,aACA,WACA,OACA,UACA,YACA,WACA,YACA,WACA,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,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,SAoH6C1iB,OAbzB,CAAC,uBAAwB,mBAAoB,6BAC9C,CAAC,eAAgB,qBACf,CAAC,UAvGC,CACvB,qBAAsB,sBAAuB,mBAAoB,SAAU,mBAC3E,sBAAuB,yBAA0B,qBAAsB,kBACvE,qBAAsB,wBAAyB,oBAAqB,mBACpE,mBAAoB,UA8GuGiiB,EA5EjG,CAC1B,aAAc,YAAa,cAAe,O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","names":["exports","b64","lens","getLens","placeHoldersLen","tmp","i","validLen","arr","Arr","curByte","len","revLookup","charCodeAt","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","num","start","end","output","tripletToBase64","base64","require","ieee754","customInspectSymbol","Symbol","for","Buffer","K_MAX_LENGTH","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","byteLength","createBuffer","actual","write","slice","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","toPrimitive","size","assertSize","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","n","m","val","dir","r","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","readUInt16BE","foundIndex","read","found","j","offset","Number","remaining","strLen","parsed","parseInt","substr","blitBuffer","str","byteArray","units","c","hi","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","ret","out","hexSliceLookupTable","bytes","ext","max","littleEndian","noAssert","checkIEEE754","TYPED_ARRAY_SUPPORT","proto","foo","e","console","error","defineProperty","enumerable","get","poolSize","alloc","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap","swap32","swap64","toLocaleString","slowToString","equals","inspect","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","bidirectionalIndexOf","isFinite","hexWrite","utf8Write","asciiWrite","base64Write","ucs2Write","toJSON","_arr","newBuf","subarray","readUintLE","readUIntLE","checkOffset","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","checkInt","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloat","writeFloatBE","writeDoubleLE","writeDouble","writeDoubleBE","targetStart","copyWithin","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","split","src","dst","constructor","name","alphabet","table","i16","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","abs","isNaN","floor","log","LN2","global","performance","mark","label","measure","symbolPrefix","__Zone_symbol_prefix","checkDuplicate","__symbol__","Zone","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","Promise","patches","ZoneAwarePromise","zone","current","_currentZoneFrame","_currentTask","fn","ignoreDuplicate","hasOwnProperty","perfName","_api","performanceMeasure","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","run","applyThis","applyArgs","invoke","handleError","runTask","task","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","DELEGATE_ZS","onHasTask","delegate","_","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","prev","next","change","options","_state","self","useG","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","nativeMicroTaskQueuePromise","_microTaskQueue","_isDrainingMicrotaskQueue","resolve","nativeThen","then","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","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","isWindowExists","internalWindow","_global","NULL_ON_PROP_VALUE","propertyDesc","writable","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","HTMLElement","isMix","zoneSymbolEventNames","wrapFn","event","eventNameSymbol","listener","result","errorEvent","message","filename","lineno","colno","preventDefault","prop","desc","configurable","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","newValue","removeEventListener","addEventListener","REMOVE_ATTRIBUTE","removeAttribute","patchProperty","onProperties","originalInstanceKey","className","OriginalClass","instance","patchFn","delegateName","isPropertyWritable","patchDelegate","funcName","metaCreator","setNative","cbIdx","meta","scheduleMacroTaskWithCurrentZone","patched","original","isDetectedIEOrEdge","ieOrEdge","ua","navigator","userAgent","__load_patch","api","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","rejection","stack","uncaughtPromiseError","shift","throwOriginal","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","REJECTED","promise","v","resolvePromise","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","wasCalled","wrappedFunction","clearRejectedNoCatch","makeResolver","trace","currentTask","creationTrace","scheduleResolveOrReject","JSON","stringify","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","forwardResolution","forwardRejection","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","values","rej","isThenable","onResolve","onReject","allWithCallback","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","curValueIndex","thenErr","executor","toStringTag","species","C","catch","finally","onFinally","race","all","NativePromise","symbolThenPatched","Ctor","originalThen","wrapped","resultPromise","ctor","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","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","isRemoved","handleEvent","once","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","passive","capture","assign","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","allRemoved","diff","typeOfDelegate","unpatchedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","buildEventListenerOptions","ae","prepareEventNames","constructorName","targetSource","q","unshift","PREPEND_EVENT_LISTENER","existingTask","findEventTasks","captureTasks","removeTasks","keys","match","exec","evtName","results","patchEventTargetMethods","foundTasks","captureFalseTasks","captureTrueTasks","Event","targetName","method","callbacks","nativeDelegate","opts","forEach","descriptor","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","taskSymbol","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","delay","clearTask","handle","ref","unref","bind","id","vt","legacyPatch","clear","patchTimer","blockingMethods","EVENT_TARGET","EventTarget","XMLHttpRequestEventTarget","supportsWebSocket","WebSocket","__Zone_ignore_on_properties","ignoreErrorProperties","patchFilteredProperties","Document","SVGElement","Element","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker","XMLHttpRequest","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","customElements","XMLHttpRequestPrototype","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","XHR_SCHEDULED","XHR_ERROR_BEFORE_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","aborted","loadTasks","oriInvoke","storedTask","XHR_TASK","sendNative","abortNative","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","url","placeholderCallback","geolocation","fnNames","PromiseRejectionEvent","evt","findPromiseRejectionHandler","__globalThis","globalThis","__window","__self","$localize","messageParts","expressions","translate","translation","stripBlock","raw","messagePart","rawMessagePart","charAt","substring","cooked","cookedIndex","rawIndex","browser","version","versions","node","t","u","l","N","g","P","f","T","F","L","Kt","U","et","Y","mt","gt","Bt","Ft","Yt","map","some","every","find","findIndex","filterReject","$","X","EXISTS","PROPER","CONFIGURABLE","objectID","weakData","ut","enable","getOwnPropertyNames","fastKey","getWeakData","onFreeze","H","has","enforce","getterFor","Ut","Qt","xt","document","open","isPrototypeOf","propertyIsEnumerable","__defineSetter__","entries","mode","copyright","__defineGetter__","defineProperties","sham","freeze","fromEntries","AS_ENTRIES","getOwnPropertyDescriptors","hasOwn","isExtensible","isFrozen","isSealed","is","__lookupGetter__","__lookupSetter__","preventExtensions","seal","unsafe","Reflect","ue","qt","pe","fe","me","Mt","At","ge","Zt","ne","Gt","oe","te","Ee","Te","de","Ht","Lt","Jt","he","o","E","A","D","ht","Et","It","Rt","ie","_t","R","ce","tag","description","S","Ct","h","we","se","Ie","k","Pe","be","keyFor","useSetter","useSimple","getOwnPropertySymbols"],"sources":["webpack:///node_modules/base64-js/index.js","webpack:///node_modules/buffer/index.js","webpack:///node_modules/ieee754/index.js","webpack:///node_modules/zone.js/fesm2015/zone.js","webpack:///node_modules/@angular/localize/fesm2015/init.js","webpack:///src/polyfills.ts","webpack:///node_modules/core-js/es/object/index.js","webpack:///node_modules/core-js/internals/a-callable.js","webpack:///node_modules/core-js/internals/a-possible-prototype.js","webpack:///node_modules/core-js/internals/an-object.js","webpack:///node_modules/core-js/internals/array-buffer-non-extensible.js","webpack:///node_modules/core-js/internals/array-includes.js","webpack:///node_modules/core-js/internals/array-iteration.js","webpack:///node_modules/core-js/internals/array-slice-simple.js","webpack:///node_modules/core-js/internals/array-slice.js","webpack:///node_modules/core-js/internals/array-species-constructor.js","webpack:///node_modules/core-js/internals/array-species-create.js","webpack:///node_modules/core-js/internals/classof-raw.js","webpack:///node_modules/core-js/internals/classof.js","webpack:///node_modules/core-js/internals/copy-constructor-properties.js","webpack:///node_modules/core-js/internals/correct-prototype-getter.js","webpack:///node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///node_modules/core-js/internals/create-property-descriptor.js","webpack:///node_modules/core-js/internals/create-property.js","webpack:///node_modules/core-js/internals/define-well-known-symbol.js","webpack:///node_modules/core-js/internals/descriptors.js","webpack:///node_modules/core-js/internals/document-create-element.js","webpack:///node_modules/core-js/internals/engine-user-agent.js","webpack:///node_modules/core-js/internals/engine-v8-version.js","webpack:///node_modules/core-js/internals/engine-webkit-version.js","webpack:///node_modules/core-js/internals/enum-bug-keys.js","webpack:///node_modules/core-js/internals/export.js","webpack:///node_modules/core-js/internals/fails.js","webpack:///node_modules/core-js/internals/freezing.js","webpack:///node_modules/core-js/internals/function-apply.js","webpack:///node_modules/core-js/internals/function-bind-context.js","webpack:///node_modules/core-js/internals/function-call.js","webpack:///node_modules/core-js/internals/function-name.js","webpack:///node_modules/core-js/internals/function-uncurry-this.js","webpack:///node_modules/core-js/internals/get-built-in.js","webpack:///node_modules/core-js/internals/get-iterator-method.js","webpack:///node_modules/core-js/internals/get-iterator.js","webpack:///node_modules/core-js/internals/get-method.js","webpack:///node_modules/core-js/internals/global.js","webpack:///node_modules/core-js/internals/has-own-property.js","webpack:///node_modules/core-js/internals/hidden-keys.js","webpack:///node_modules/core-js/internals/html.js","webpack:///node_modules/core-js/internals/ie8-dom-define.js","webpack:///node_modules/core-js/internals/indexed-object.js","webpack:///node_modules/core-js/internals/inspect-source.js","webpack:///node_modules/core-js/internals/internal-metadata.js","webpack:///node_modules/core-js/internals/internal-state.js","webpack:///node_modules/core-js/internals/is-array-iterator-method.js","webpack:///node_modules/core-js/internals/is-array.js","webpack:///node_modules/core-js/internals/is-callable.js","webpack:///node_modules/core-js/internals/is-constructor.js","webpack:///node_modules/core-js/internals/is-forced.js","webpack:///node_modules/core-js/internals/is-object.js","webpack:///node_modules/core-js/internals/is-pure.js","webpack:///node_modules/core-js/internals/is-symbol.js","webpack:///node_modules/core-js/internals/iterate.js","webpack:///node_modules/core-js/internals/iterator-close.js","webpack:///node_modules/core-js/internals/iterators.js","webpack:///node_modules/core-js/internals/length-of-array-like.js","webpack:///node_modules/core-js/internals/native-symbol.js","webpack:///node_modules/core-js/internals/native-weak-map.js","webpack:///node_modules/core-js/internals/object-assign.js","webpack:///node_modules/core-js/internals/object-create.js","webpack:///node_modules/core-js/internals/object-define-properties.js","webpack:///node_modules/core-js/internals/object-define-property.js","webpack:///node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///node_modules/core-js/internals/object-get-own-property-names.js","webpack:///node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///node_modules/core-js/internals/object-get-prototype-of.js","webpack:///node_modules/core-js/internals/object-is-extensible.js","webpack:///node_modules/core-js/internals/object-is-prototype-of.js","webpack:///node_modules/core-js/internals/object-keys-internal.js","webpack:///node_modules/core-js/internals/object-keys.js","webpack:///node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///node_modules/core-js/internals/object-prototype-accessors-forced.js","webpack:///node_modules/core-js/internals/object-set-prototype-of.js","webpack:///node_modules/core-js/internals/object-to-array.js","webpack:///node_modules/core-js/internals/object-to-string.js","webpack:///node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///node_modules/core-js/internals/own-keys.js","webpack:///node_modules/core-js/internals/path.js","webpack:///node_modules/core-js/internals/redefine.js","webpack:///node_modules/core-js/internals/require-object-coercible.js","webpack:///node_modules/core-js/internals/same-value.js","webpack:///node_modules/core-js/internals/set-global.js","webpack:///node_modules/core-js/internals/set-to-string-tag.js","webpack:///node_modules/core-js/internals/shared-key.js","webpack:///node_modules/core-js/internals/shared-store.js","webpack:///node_modules/core-js/internals/shared.js","webpack:///node_modules/core-js/internals/to-absolute-index.js","webpack:///node_modules/core-js/internals/to-indexed-object.js","webpack:///node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///node_modules/core-js/internals/to-length.js","webpack:///node_modules/core-js/internals/to-object.js","webpack:///node_modules/core-js/internals/to-primitive.js","webpack:///node_modules/core-js/internals/to-property-key.js","webpack:///node_modules/core-js/internals/to-string-tag-support.js","webpack:///node_modules/core-js/internals/to-string.js","webpack:///node_modules/core-js/internals/try-to-string.js","webpack:///node_modules/core-js/internals/uid.js","webpack:///node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///node_modules/core-js/internals/well-known-symbol.js","webpack:///node_modules/core-js/modules/es.json.to-string-tag.js","webpack:///node_modules/core-js/modules/es.math.to-string-tag.js","webpack:///node_modules/core-js/modules/es.object.assign.js","webpack:///node_modules/core-js/modules/es.object.create.js","webpack:///node_modules/core-js/modules/es.object.define-getter.js","webpack:///node_modules/core-js/modules/es.object.define-properties.js","webpack:///node_modules/core-js/modules/es.object.define-property.js","webpack:///node_modules/core-js/modules/es.object.define-setter.js","webpack:///node_modules/core-js/modules/es.object.entries.js","webpack:///node_modules/core-js/modules/es.object.freeze.js","webpack:///node_modules/core-js/modules/es.object.from-entries.js","webpack:///node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///node_modules/core-js/modules/es.object.get-own-property-names.js","webpack:///node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///node_modules/core-js/modules/es.object.has-own.js","webpack:///node_modules/core-js/modules/es.object.is-extensible.js","webpack:///node_modules/core-js/modules/es.object.is-frozen.js","webpack:///node_modules/core-js/modules/es.object.is-sealed.js","webpack:///node_modules/core-js/modules/es.object.is.js","webpack:///node_modules/core-js/modules/es.object.keys.js","webpack:///node_modules/core-js/modules/es.object.lookup-getter.js","webpack:///node_modules/core-js/modules/es.object.lookup-setter.js","webpack:///node_modules/core-js/modules/es.object.prevent-extensions.js","webpack:///node_modules/core-js/modules/es.object.seal.js","webpack:///node_modules/core-js/modules/es.object.set-prototype-of.js","webpack:///node_modules/core-js/modules/es.object.to-string.js","webpack:///node_modules/core-js/modules/es.object.values.js","webpack:///node_modules/core-js/modules/es.reflect.to-string-tag.js","webpack:///node_modules/core-js/modules/es.symbol.js"],"sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict';\n/**\n * @license Angular v12.0.0-next.0\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst Zone$1 = (function (global) {\n const 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 const symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n const 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 class Zone {\n constructor(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 static assertZonePatched() {\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 static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n // tslint:disable-next-line:require-internal-with-underscore\n static __load_patch(name, fn, 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 const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let 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 fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(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 runGuarded(callback, applyThis = null, applyArgs, source) {\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 runTask(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 const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const 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 scheduleTask(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 let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const 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 scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(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 _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class ZoneDelegate {\n constructor(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 const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const 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 fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(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 handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let 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 invokeTask(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 cancelTask(targetZone, task) {\n let 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 hasTask(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 _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const 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 const 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 }\n class ZoneTask {\n constructor(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 const 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 static invokeTask(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 get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n // tslint:disable-next-line:require-internal-with-underscore\n _transitionTo(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(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\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 toJSON() {\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 }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\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 if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let 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, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const 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 const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 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 */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** Zone symbol prefix string const. */\nconst ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nconst NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (let 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}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction 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}\nconst 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.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst 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.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames = {};\nconst 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 let eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\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 const 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};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const 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 const onPropPatchedSymbol = zoneSymbol('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 const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.substr(2);\n let eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('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 let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n let previousValue = target[eventNameSymbol];\n if (previousValue) {\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 if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\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 let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const 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 let value = originalDescGet && 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}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const 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 const instance = new OriginalClass(function () { });\n let 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}\nfunction patchMethod(target, name, patchFn) {\n let 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 const delegateName = zoneSymbol(name);\n let 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 const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const 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, (delegate) => function (self, args) {\n const 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}\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const 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}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const 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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const 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 const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const 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 = () => {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const 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 const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (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 const once = function () {\n let 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 const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const 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 let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\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(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const 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 const 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 (let 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 let 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 const 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 const 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 (let 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 const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const 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 const 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 const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n const noop = function () { };\n class ZoneAwarePromise {\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((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 (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n return ZoneAwarePromise.allWithCallback(values);\n }\n static allSettled(values) {\n const P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: (value) => ({ status: 'fulfilled', value }),\n errorCallback: (err) => ({ status: 'rejected', reason: err })\n });\n }\n static allWithCallback(values, callback) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n try {\n value.then((value) => {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, (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 // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n constructor(executor) {\n const 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 executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n get [Symbol.species]() {\n return ZoneAwarePromise;\n }\n then(onFulfilled, onRejected) {\n let C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n const 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 catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n let C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n const chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n const 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 }\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 const NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const 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 const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((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 let resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let 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', delegate => 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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 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\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const 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 const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const 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 const originalObjectToString = Object.prototype.toString;\n const 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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\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\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames$1 = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\nconst IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\nfunction prepareEventNames(eventName, eventNameToString) {\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n}\nfunction patchEventTarget(_global, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const 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 const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n const 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 const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = 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 // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = this || event.target || _global;\n const tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\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 invokeTask(tasks[0], target, event);\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 const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = 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 // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = this || event.target || _global;\n const tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\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 invokeTask(tasks[0], target, event);\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 const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let 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 const 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 const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(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 const 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 const 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 const symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const 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 const customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const unpatchedEvents = Zone[zoneSymbol('UNPATCHED_EVENTS')];\n const passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n let 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 let 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 const passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n const options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check upatched list\n for (let 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 const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const once = options && typeof options === 'object' ? options.once : false;\n const zone = Zone.current;\n let symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n const symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let 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 let source;\n const constructorName = target.constructor['name'];\n const 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 const 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 const 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 const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const options = arguments[2];\n const capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n const 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 const symbolEventNames = zoneSymbolEventNames$1[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const 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 const 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 const target = this || _global;\n let eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let 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 const target = this || _global;\n let eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let 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 const symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let 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 let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n if (!eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n let symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n const captureFalseTasks = target[symbolEventName[FALSE_STR]];\n const 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}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => 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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n const 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 }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst 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];\nconst documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nconst 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];\nconst htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nconst mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nconst 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];\nconst webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nconst formEventNames = ['autocomplete', 'autocompleteerror'];\nconst detailEventNames = ['toggle'];\nconst frameEventNames = ['load'];\nconst frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nconst marqueeEventNames = ['bounce', 'finish', 'start'];\nconst XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nconst IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nconst websocketEventNames = ['close', 'error', 'open', 'message'];\nconst workerEventNames = ['error', 'message'];\nconst eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction 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 const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction 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 const supportsWebSocket = typeof WebSocket !== 'undefined';\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n const internalWindow = window;\n const ignoreErrorProperties = isIE() ? [{ target: internalWindow, 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, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n const HTMLMarqueeElement = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement) {\n patchFilteredProperties(HTMLMarqueeElement.prototype, marqueeEventNames, ignoreProperties);\n }\n const Worker = internalWindow['Worker'];\n if (Worker) {\n patchFilteredProperties(Worker.prototype, workerEventNames, ignoreProperties);\n }\n }\n const XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n const XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\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 */\nZone.__load_patch('util', (global, Zone, api) => {\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 const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const 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 = () => ({\n globalSources,\n zoneSymbolEventNames: zoneSymbolEventNames$1,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const 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, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const callback = args[0];\n args[0] = function timer() {\n try {\n return callback.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.isPeriodic)) {\n if (typeof options.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options.handleId];\n }\n else if (options.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options.handleId[taskSymbol] = null;\n }\n }\n }\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const 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, (delegate) => function (self, args) {\n const id = args[0];\n let 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/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\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 */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('queueMicrotask', (global, Zone, api) => {\n api.patchMethod(global, 'queueMicrotask', delegate => {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n});\nZone.__load_patch('MutationObserver', (global, Zone, api) => {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n});\nZone.__load_patch('IntersectionObserver', (global, Zone, api) => {\n patchClass('IntersectionObserver');\n});\nZone.__load_patch('FileReader', (global, Zone, api) => {\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const 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 const newListener = target[XHR_LISTENER] = () => {\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 const loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target[Zone.__symbol__('loadfalse')];\n for (let 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.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 const 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 const 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 const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => 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 const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const 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 const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const 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});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const 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('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n","/**\n * @license Angular v12.2.14\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __globalThis = typeof globalThis !== 'undefined' && globalThis;\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Always use __globalThis if available; this is the spec-defined global variable across all\n// environments.\n// Then fallback to __global first; in Node tests both __global and __window may be defined.\nconst _global = __globalThis || __global || __window || __self;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 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 * Tag a template literal string for localization.\n *\n * For example:\n *\n * ```ts\n * $localize `some string to localize`\n * ```\n *\n * **Providing meaning, description and id**\n *\n * You can optionally specify one or more of `meaning`, `description` and `id` for a localized\n * string by pre-pending it with a colon delimited block of the form:\n *\n * ```ts\n * $localize`:meaning|description@@id:source message text`;\n *\n * $localize`:meaning|:source message text`;\n * $localize`:description:source message text`;\n * $localize`:@@id:source message text`;\n * ```\n *\n * This format is the same as that used for `i18n` markers in Angular templates. See the\n * [Angular i18n guide](guide/i18n-common-prepare#mark-text-in-component-template).\n *\n * **Naming placeholders**\n *\n * If the template literal string contains expressions, then the expressions will be automatically\n * associated with placeholder names for you.\n *\n * For example:\n *\n * ```ts\n * $localize `Hi ${name}! There are ${items.length} items.`;\n * ```\n *\n * will generate a message-source of `Hi {$PH}! There are {$PH_1} items`.\n *\n * The recommended practice is to name the placeholder associated with each expression though.\n *\n * Do this by providing the placeholder name wrapped in `:` characters directly after the\n * expression. These placeholder names are stripped out of the rendered localized string.\n *\n * For example, to name the `items.length` expression placeholder `itemCount` you write:\n *\n * ```ts\n * $localize `There are ${items.length}:itemCount: items`;\n * ```\n *\n * **Escaping colon markers**\n *\n * If you need to use a `:` character directly at the start of a tagged string that has no\n * metadata block, or directly after a substitution expression that has no name you must escape\n * the `:` by preceding it with a backslash:\n *\n * For example:\n *\n * ```ts\n * // message has a metadata block so no need to escape colon\n * $localize `:some description::this message starts with a colon (:)`;\n * // no metadata block so the colon must be escaped\n * $localize `\\:this message starts with a colon (:)`;\n * ```\n *\n * ```ts\n * // named substitution so no need to escape colon\n * $localize `${label}:label:: ${}`\n * // anonymous substitution so colon must be escaped\n * $localize `${label}\\: ${}`\n * ```\n *\n * **Processing localized strings:**\n *\n * There are three scenarios:\n *\n * * **compile-time inlining**: the `$localize` tag is transformed at compile time by a\n * transpiler, removing the tag and replacing the template literal string with a translated\n * literal string from a collection of translations provided to the transpilation tool.\n *\n * * **run-time evaluation**: the `$localize` tag is a run-time function that replaces and\n * reorders the parts (static strings and expressions) of the template literal string with strings\n * from a collection of translations loaded at run-time.\n *\n * * **pass-through evaluation**: the `$localize` tag is a run-time function that simply evaluates\n * the original template literal string without applying any translations to the parts. This\n * version is used during development or where there is no need to translate the localized\n * template literals.\n *\n * @param messageParts a collection of the static parts of the template string.\n * @param expressions a collection of the values of each placeholder in the template string.\n * @returns the translated string, with the `messageParts` and `expressions` interleaved together.\n *\n * @globalApi\n * @publicApi\n */\nconst $localize = function (messageParts, ...expressions) {\n if ($localize.translate) {\n // Don't use array expansion here to avoid the compiler adding `__read()` helper unnecessarily.\n const translation = $localize.translate(messageParts, expressions);\n messageParts = translation[0];\n expressions = translation[1];\n }\n let message = stripBlock(messageParts[0], messageParts.raw[0]);\n for (let i = 1; i < messageParts.length; i++) {\n message += expressions[i - 1] + stripBlock(messageParts[i], messageParts.raw[i]);\n }\n return message;\n};\nconst BLOCK_MARKER = ':';\n/**\n * Strip a delimited \"block\" from the start of the `messagePart`, if it is found.\n *\n * If a marker character (:) actually appears in the content at the start of a tagged string or\n * after a substitution expression, where a block has not been provided the character must be\n * escaped with a backslash, `\\:`. This function checks for this by looking at the `raw`\n * messagePart, which should still contain the backslash.\n *\n * @param messagePart The cooked message part to process.\n * @param rawMessagePart The raw message part to check.\n * @returns the message part with the placeholder name stripped, if found.\n * @throws an error if the block is unterminated\n */\nfunction stripBlock(messagePart, rawMessagePart) {\n return rawMessagePart.charAt(0) === BLOCK_MARKER ?\n messagePart.substring(findEndOfBlock(messagePart, rawMessagePart) + 1) :\n messagePart;\n}\n/**\n * Find the end of a \"marked block\" indicated by the first non-escaped colon.\n *\n * @param cooked The cooked string (where escaped chars have been processed)\n * @param raw The raw string (where escape sequences are still in place)\n *\n * @returns the index of the end of block marker\n * @throws an error if the block is unterminated\n */\nfunction findEndOfBlock(cooked, raw) {\n /***********************************************************************************************\n * This function is repeated in `src/utils/messages.ts` and the two should be kept in sync.\n * The reason is that this file is marked as having side-effects, and if we import `messages.ts`\n * into it, the whole of `src/utils` will be included in this bundle and none of the functions\n * will be tree shaken.\n ***********************************************************************************************/\n for (let cookedIndex = 1, rawIndex = 1; cookedIndex < cooked.length; cookedIndex++, rawIndex++) {\n if (raw[rawIndex] === '\\\\') {\n rawIndex++;\n }\n else if (cooked[cookedIndex] === BLOCK_MARKER) {\n return cookedIndex;\n }\n }\n throw new Error(`Unterminated $localize metadata block in \"${raw}\".`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Attach $localize to the global context, as a side-effect of this module.\n_global.$localize = $localize;\n\nexport { $localize };\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\n/**\r\n * This file includes polyfills needed by Angular and is loaded before the app.\r\n * You can add your own extra polyfills to this file.\r\n *\r\n * This file is divided into 2 sections:\r\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\r\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\r\n * file.\r\n *\r\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\r\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\r\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\r\n *\r\n * Learn more in https://angular.io/guide/browser-support\r\n */\r\n\r\n/***************************************************************************************************\r\n * BROWSER POLYFILLS\r\n */\r\nimport 'core-js/es/object';\r\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\r\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\r\n\r\n/**\r\n * Web Animations `@angular/platform-browser/animations`\r\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\r\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\r\n */\r\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\r\n\r\n/**\r\n * By default, zone.js will patch all possible macroTask and DomEvents\r\n * user can disable parts of macroTask/DomEvents patch by setting following flags\r\n * because those flags need to be set before `zone.js` being loaded, and webpack\r\n * will put import in the top of bundle, so user need to create a separate file\r\n * in this directory (for example: zone-flags.ts), and put the following flags\r\n * into that file, and then add the following code before importing zone.js.\r\n * import './zone-flags.ts';\r\n *\r\n * The flags allowed in zone-flags.ts are listed here.\r\n *\r\n * The following flags will work for all browsers.\r\n *\r\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\r\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\r\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\r\n *\r\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\r\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\r\n *\r\n * (window as any).__Zone_enable_cross_context_check = true;\r\n *\r\n */\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by default for Angular itthis.\r\n */\r\nimport 'zone.js'; // Included with Angular CLI.\r\n\r\n\r\n/***************************************************************************************************\r\n * Buffer import pollyfill (Fix: https://stackoverflow.com/questions/63622248/angular-10-buffer-is-not-defined)\r\n */\r\nimport * as Buffer from '../node_modules/buffer/index';\r\n(window as any).global = window;\r\n(window as any).process = {};\r\n(window as any).process = window;\r\n(window as any).process.browser = true;\r\n(window as any).process.version = '';\r\n(window as any).process.versions = { node: false };\r\n(window as any).global.Buffer = Buffer.Buffer;\r\n\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n\r\n","require('../../modules/es.symbol');\nrequire('../../modules/es.object.assign');\nrequire('../../modules/es.object.create');\nrequire('../../modules/es.object.define-property');\nrequire('../../modules/es.object.define-properties');\nrequire('../../modules/es.object.entries');\nrequire('../../modules/es.object.freeze');\nrequire('../../modules/es.object.from-entries');\nrequire('../../modules/es.object.get-own-property-descriptor');\nrequire('../../modules/es.object.get-own-property-descriptors');\nrequire('../../modules/es.object.get-own-property-names');\nrequire('../../modules/es.object.get-prototype-of');\nrequire('../../modules/es.object.has-own');\nrequire('../../modules/es.object.is');\nrequire('../../modules/es.object.is-extensible');\nrequire('../../modules/es.object.is-frozen');\nrequire('../../modules/es.object.is-sealed');\nrequire('../../modules/es.object.keys');\nrequire('../../modules/es.object.prevent-extensions');\nrequire('../../modules/es.object.seal');\nrequire('../../modules/es.object.set-prototype-of');\nrequire('../../modules/es.object.values');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.object.define-getter');\nrequire('../../modules/es.object.define-setter');\nrequire('../../modules/es.object.lookup-getter');\nrequire('../../modules/es.object.lookup-setter');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n // This feature detection crashes old WebKit\n // https://github.com/zloirock/core-js/issues/232\n if (WEBKIT && WEBKIT < 535) return;\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });\n }\n });\n}\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });\n }\n });\n}\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\n\n// `Object.hasOwn` method\n// https://github.com/tc39/proposal-accessible-object-hasownproperty\n$({ target: 'Object', stat: true }, {\n hasOwn: hasOwn\n});\n","var $ = require('../internals/export');\nvar $isExtensible = require('../internals/object-is-extensible');\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\n// eslint-disable-next-line es/no-object-isextensible -- safe\n$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, {\n isExtensible: $isExtensible\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE }, {\n isFrozen: function isFrozen(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return true;\n return $isFrozen ? $isFrozen(it) : false;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE }, {\n isSealed: function isSealed(it) {\n if (!isObject(it)) return true;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return true;\n return $isSealed ? $isSealed(it) : false;\n }\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPropertyKey(P);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-preventextensions -- safe\nvar $preventExtensions = Object.preventExtensions;\nvar FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); });\n\n// `Object.preventExtensions` method\n// https://tc39.es/ecma262/#sec-object.preventextensions\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-seal -- safe\nvar $seal = Object.seal;\nvar FAILS_ON_PRIMITIVES = fails(function () { $seal(1); });\n\n// `Object.seal` method\n// https://tc39.es/ecma262/#sec-object.seal\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n seal: function seal(it) {\n return $seal && isObject(it) ? $seal(onFreeze(it)) : it;\n }\n});\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n redefine(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n var valueOf = SymbolPrototype.valueOf;\n // eslint-disable-next-line no-unused-vars -- required for .length\n redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n // TODO: improve hint logic\n return call(valueOf, this);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n"]}